Avant de dire quoi que ce soit, je sais comment fonctionne l'autorisation pour les groupes et les utilisateurs.
Ma configuration est:
une. mon utilisateur est monkey
et fait partie du groupe www-data
groups monkey
monkey : monkey adm cdrom Sudo dip www-data plugdev lpadmin sambashare
b. le dossier racine d'Apache est /home/monkey/var/www
et dispose des autorisations 0775
avec le propriétaire www-data
et le groupe www-data
.
ls -la /home/monkey/var/www
total 8 drwxrwxr-x 2 www-data www-data 4096 Aug 12 10:37 . drwxr-xr-x 3 root root 4096 Aug 12 10:37 ..
c. Mais je suis incapable d'écrire dans /home/monkey/var/www/
monkey@ubuntu:~$ cp robots.txt var/www/robots.txt
cp: cannot create regular file âvar/www/robots.txtâ: Permission denied
Le fichier robots.txt
a été créé sous monkey
user.
Qu'est-ce qui me manque?
les autorisations de votre dossier parent (var
définie sur 755 et propriétaire de la racine) limitent votre dossier enfant. vous devez changer vos permissions pour changer ou changer le propriétaire en www-data: www-data et perms à 775
EDIT
après avoir creusé, l'utilisateur doit changer de groupe avec newgrp <group-name>
avant d'effectuer toute opération. pour revenir au groupe par défaut sur ce shell, tapez exit ou Ctrl+D
L'utilisateur a un groupe principal et peut avoir plusieurs groupes supplémentaires. Le groupe principal d'utilisateurs est défini sur/etc/passwd, c'est-à-dire:
www-data:x:30:40:www-data:/var/www:/usr/sbin/nologin
dit que l'utilisateur 'www-data' est un membre du groupe id 40.
Vous pouvez ajouter des utilisateurs à d'autres groupes dans/etc/group, mais lorsque vous créez un fichier, le système définit par défaut le groupe d'utilisateurs primaire en tant que propriétaire, et non l'un des autres. Certains Unix vérifient le groupe de répertoires, et si l'utilisateur est membre de ce groupe, le propriétaire du nouveau fichier provient du répertoire, pas de l'utilisateur.
Donc quand vous créez un fichier, vous le faites par défaut en tant qu'utilisateur 'singe', groupe 'singe'. Et puisque le dossier appartient à:
En utilisant la commande newgr, vous pouvez basculer votre groupe principal vers l’un des groupes supplémentaires. Définissez donc le propriétaire du groupe pour la création de nouveaux fichiers.
En utilisant la commande umask, vous pouvez ajuster les autorisations utilisées pour la création de nouveaux fichiers.
Est-ce que ça aide maintenant?