Question Comment puis-je donner un accès en écriture à un dossier à tous les utilisateurs Linux?


J'ai installé apache2 sur Ubuntu tout à l'heure et j'ai remarqué que le dossier / var / www était protégé. Je peux juste sudo tout mais je préfère simplement lui donner un accès en écriture.

Comment puis-je faire ceci?

j'ai essayé sudo chmod 7777 /var/www mais ça n'a pas marché.


162
2017-08-06 23:30


origine


Est-ce un serveur accessible au public ou n'a-t-il pas de connexion directe à Internet? Si le premier est important, prenez en compte les décisions de sécurité - les serveurs sur Internet sont constamment attaqués (consultez votre / var / log / messages ou équivalent). - kwutchak
Ceci est juste mon ordinateur portable, il n'est pas accessible depuis Internet. - Carson Myers


Réponses:


Pour mieux partager avec plusieurs utilisateurs qui devraient pouvoir écrire /var/www, il faut lui attribuer un groupe commun. Par exemple, le groupe par défaut pour le contenu Web sur Ubuntu et Debian est www-data. Assurez-vous que tous les utilisateurs qui ont besoin d’un accès en écriture à /var/www sont dans ce groupe.

sudo usermod -a -G www-data <some_user>

Ensuite, définissez les autorisations correctes sur / var / www.

sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www

En outre, vous devez définir le répertoire et tous les répertoires sous "définir GID", de sorte que tous Nouveau fichiers et répertoires créés sous /var/www sont la propriété de www-data groupe.

sudo find /var/www -type d -exec chmod 2775 {} \;    

Trouver tous les fichiers dans /var/www et ajouter une autorisation en lecture et en écriture pour le propriétaire et le groupe:

sudo find /var/www -type f -exec chmod ug+rw {} \;

Vous devrez peut-être vous déconnecter et vous reconnecter pour pouvoir apporter des modifications si vous modifiez les autorisations pour votre propre compte.


285
2017-08-07 00:15



c'est assez fastidieux ... Je ne peux pas simplement y donner accès aux utilisateurs, comme si c’était un autre dossier? - Carson Myers
Cette est comment vous y donnez accès. Il est plus rapide de copier et coller les commandes que d'essayer de naviguer dans les boîtes de dialogue d'un gestionnaire de fichiers GUI pour faire la même chose. A long terme, cela vous aide si vous lisez les pages de manuel pour chmod et chgrp, au moins ("man chmod"). - jtimberman
Je n'ai peut-être pas compris les commandes la première fois que je l'ai lu, et votre édition le rend beaucoup plus clair. - Carson Myers
+1 pour le guidage pour forcer les autorisations Apache. fonctionne bien avec umask de 027. Si quelque chose nécessite un accès, c’est aussi simple que chmod g + w dir / - LiraNuna
Pourquoi votre commande d'autorisation de groupe sudo chmod -R g+w et pas g+rw ou g+rwX? - detly


Il existe un moyen plus simple de le faire, essayez cette commande.

sudo chmod -R 757 /var/www

Essentiellement, le chmod commande modifie les autorisations et le -R le commutateur affecte tous les utilisateurs. Ensuite, il donne simplement les autorisations correctes à utiliser.


25
2017-09-22 10:31



Pourriez-vous donner un aperçu de ce que la commande fait pour l'OP? - n0pe
-1 par manque d'explication. Outre, chmod $permissions -R $file n'est pas valide ... - Blacklight Shining
ce sont des options puis des autorisations pas l'inverse - Moataz Elmasry
sudo chmod -R 757 /var/www - Bwyss
s'il vous plaît quelqu'un expérimenté suggère une modification avec une brève explication à ce sujet. - Adi Prasetyo


Lire + écrire:

sudo chmod -R a+rw /var/www

Lecture + écriture + exécution:

sudo chmod -R a+rwx /var/www

23
2017-08-09 19:22





Vous pouvez également reproduire ce que jtimberman a suggéré d'utiliser listes de contrôle d'accès. le setfacl commande accepte -s pour remplacer une ACL existante ou -m pour la modifier; -R pour rendre les ACL de répertoires récursives; et -d pour rendre les paramètres spécifiés par défaut, ce qui est utile si vous anticipez les comptes d'utilisateurs à venir.

Ceux-ci définissent simplement les autorisations comme vous le feriez pour l'utilisateur, le groupe, l'autre et le masque en utilisant chmod:

setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY

Et cela pourrait être comment vous le feriez pour un utilisateur spécifié ou son groupe:

setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY

Et, bien sûr, la force réside dans le fait que vous pouvez désigner n'importe quel utilisateur spécifique, plusieurs utilisateurs, etc., sans avoir à modifier les paramètres de votre groupe. Et contrairement à chmod, si vous voulez que certaines groupies aient accès à un répertoire et que d'autres groupies aient accès uniquement à un autre, cela est effectivement possible avec setfacl. Enfin, pour afficher les ACL d'un répertoire, exécutez getfacl:

getfacl DIRECTORY

Et vous pouvez spécifier -R pour voir les ACL des sous-répertoires ou -d pour voir les valeurs par défaut.


5
2017-08-08 12:29



C'est la meilleure réponse! J'aimerais pouvoir voter plus d'une fois. - Tim Duncklee


La réponse rapide et facile -

une. Ajouter (-une) votre utilisateur (Nom d'utilisateur) au groupe (-G) www-data.

sudo usermod -a -G www-data user_name

b. Donner le groupe (g) le même (=) les autorisations en tant qu’utilisateur propriétaire (tu) de / var / www Récursivement (-R).

sudo chmod -R g=u /var/www

Explication: Apache 2 sur Debian / Ubuntu définit l'utilisateur et le groupe www-data en tant que propriétaire de / var / www. Les autorisations par défaut pour l'utilisateur sont "Afficher et modifier le contenu", mais le groupe ne peut que "Afficher le contenu". Ainsi, s’ajouter au groupe www-data et lui donner les mêmes droits que l’utilisateur wwww-data est un moyen simple et rapide de se développer. Je le fais pour tous mes environnements de développement Web localhost (PC / Laptop).


2
2018-02-20 02:20





Je utilise typicall

chmod g+w /folder/ -R

C'est presque auto-explicatif.

Il ajoute tout le monde dans le ggroupe de /folder/ avoir waccès rite (+w), -R est pour la récursivité pour les sous-dossiers.


1
2018-03-19 21:13





Pouvez-vous simplement essayer chmod 0777 /var/www ?

Un mot d'avertissement: si vous laissez tout le monde accéder à ce dossier, cela signifie que les pirates peuvent accéder à ce dossier s'ils accèdent à votre système. C'est pourquoi il est préférable de créer un groupe d'utilisateurs autorisés et de donner à ce groupe un accès en écriture.


-3
2017-08-07 02:01



alors pourquoi proposer cela comme solution, puis le discréditer immédiatement? -1 vote - Tisch