L'activation des autorisations d'écriture Ubuntu Server dans var/www/répertoire de l'image
Que j'essaie de faire mon test php script d'upload de travail et je me demandais ce que la commande serait de permettre de télécharger les fichiers dans le serveur ubuntu dans le var/www/répertoire de l'image
Pour le fichier d'image que vous n'avez pas besoin de permission d'exécution :
sudo chmod 664*
Si vous avez des répertoires à l'intérieur de l'image et que vous voulez demander la permission :
sudo find .-type d -exec chmod 755"{}" \;
Cette volonté de recherche de manière récursive votre répertoire et chmod 755 tous les répertoires.
De même, le chmod tous les fichiers (et ignorer les répertoires):
sudo find .-type f -exec chmod 644"{}" \;
Nom de fichier avec l'espace de cas (grâce à Nicklas B)
find .-type f -print0 | xargs -0 chmod 644
Cela ne fonctionne pas si bien pour les noms de fichiers avec des espaces, alors find . -type f -print0 | xargs -0 chmod 644 devrait fonctionner dans tous les cas. Ok merci pour la précision! Je préfère ne pas utiliser d'espaces dans les noms de fichiers, je n'ai jamais vu ce problème. Ou vous pouvez simplement de citer le nom de fichier dans -exec (comme je l'ai édité) Oui, ça fonctionne aussi. Je suis principalement à l'aide de xargs, juste parce que je suis trop paresseux pour se rappeler l'étrange -exec de la syntaxe. Je suis exactement de la même manière avec le fait d'essayer de se rappeler comment xargs poignées de lignes/espaces/etc avec les diverses méthodes d'impression.
Ce nom d'utilisateur sera de télécharger les fichiers? Généralement sur Ubuntu le serveur web Apache nom d'utilisateur est www-data. Vous pouvez vérifier à coup sûr par le trouver le processus du serveur web dans une liste des processus de commande et de voir le nom d'utilisateur sous lequel il est en cours d'exécution.
ps aux | grep apache ou ps aux | grep httpd devrait vous donner cette réponse.
Habituellement vous voulez faire de Apache nom d'utilisateur, le propriétaire du répertoire et tous les fichiers et répertoires à l'intérieur:
cd /var/www/image
# recursively (all subdirs & files) set owner to www-data for current directory
chown -R www-data .
Normalement, le ci-dessus devrait être suffisant, mais si pour une raison quelconque, le répertoire, les fichiers ou sous-répertoires n'ont pas l'autorisation d'écriture pour le propriétaire du nom d'utilisateur, qui est facilement résolu en modifiant les autorisations d'ajouter que l'accès en écriture, comme ceci:
cd /var/www/image
# recursively add "w"rite permissions for the "u"ser (owner) to current directory
chmod -R u+w .
Pour le fichier d'image que vous n'avez pas besoin de permission d'exécution :
Si vous avez des répertoires à l'intérieur de l'image et que vous voulez demander la permission :
Cette volonté de recherche de manière récursive votre répertoire et chmod 755 tous les répertoires.
De même, le chmod tous les fichiers (et ignorer les répertoires):
Nom de fichier avec l'espace de cas (grâce à Nicklas B)
find . -type f -print0 | xargs -0 chmod 644
devrait fonctionner dans tous les cas.Ok merci pour la précision! Je préfère ne pas utiliser d'espaces dans les noms de fichiers, je n'ai jamais vu ce problème.
Ou vous pouvez simplement de citer le nom de fichier dans
-exec
(comme je l'ai édité)Oui, ça fonctionne aussi. Je suis principalement à l'aide de
xargs
, juste parce que je suis trop paresseux pour se rappeler l'étrange-exec
de la syntaxe.Je suis exactement de la même manière avec le fait d'essayer de se rappeler comment xargs poignées de lignes/espaces/etc avec les diverses méthodes d'impression.
OriginalL'auteur alain.janinm
Ce nom d'utilisateur sera de télécharger les fichiers? Généralement sur Ubuntu le serveur web Apache nom d'utilisateur est www-data. Vous pouvez vérifier à coup sûr par le trouver le processus du serveur web dans une liste des processus de commande et de voir le nom d'utilisateur sous lequel il est en cours d'exécution.
ps aux | grep apache
oups aux | grep httpd
devrait vous donner cette réponse.Habituellement vous voulez faire de Apache nom d'utilisateur, le propriétaire du répertoire et tous les fichiers et répertoires à l'intérieur:
Normalement, le ci-dessus devrait être suffisant, mais si pour une raison quelconque, le répertoire, les fichiers ou sous-répertoires n'ont pas l'autorisation d'écriture pour le propriétaire du nom d'utilisateur, qui est facilement résolu en modifiant les autorisations d'ajouter que l'accès en écriture, comme ceci:
OriginalL'auteur CXJ
Modifier modifier le groupe www-data
chown -R (propriétaire):www-data (dossier)
Et dossier d'autorisation à 775
OriginalL'auteur user2094324
cd /var/www
sudo chmod 775 image
Vous serez invité à entrer le mot de passe admin - faire, et appuyer sur [retour].
OriginalL'auteur Joe
Modifier modifier le groupe peut résoudre la plupart des problèmes d'autorisations.
Évolution ne www-data et de définir des autorisations à 775.
OriginalL'auteur ThebasBr