Прежде чем что-то сказать, я знаю, как работает разрешение для групп и пользователей.
Моя настройка:
a. Мой пользователь - monkey
и входит в группу www-data
groups monkey
monkey : monkey adm cdrom sudo dip www-data plugdev lpadmin sambashare
b. корневая папка apache - /home/monkey/var/www
и имеет права 0775
с владельцем www-data
и группой 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 ..
с. Но я не могу написать в /home/monkey/var/www/
monkey@ubuntu:~$ cp robots.txt var/www/robots.txt
cp: cannot create regular file âvar/www/robots.txtâ: Permission denied
Файл robots.txt
был создан под пользователем monkey
.
Чего мне не хватает?
Ваши родительские полномочия папки (var
набор к 755 и владелец корня) ограничивают Вашу дочернюю папку. необходимо изменить полномочия на var или изменить владельца на www-data:www-data и перманент к 775
РЕДАКТИРОВАНИЕ
после некоторого рытья, пользователь должен переключить группу с newgrp <group-name>
прежде, чем сделать любую операцию. для возврата к группе по умолчанию на той оболочке введите выход или Ctrl + D
Пользователь имеет основную группу и может иметь несколько дополнительных групп. Пользователь основная группа установлен/etc/passwd, т.е.:
www-data:x:30:40:www-data:/var/www:/usr/sbin/nologin
говорит, что пользователь 'www-данные' является членом идентификатора 40.
группы, можно добавить пользователя к дополнительным группам в/etc/group, но когда Вы создаете файл, системой по умолчанию будет пользователь аппарата основной группа как владелец, не одна из дополнительных групп. Некоторые Unixes проверяют на группу каталогов, и если пользователь является членом этой группы, новому файлу взяли владельца группы из каталога, не от пользователя.
Поэтому, когда Вы создаете файл, по умолчанию Вы делаете это как пользователь 'обезьяна', группа 'обезьяна'. И так как папка принадлежит:
Используя newgr управляет, чтобы можно было переключить основную группу на одну из дополнительных групп, так эффективно владелец группы набора для нового создания файла.
Используя umask управляют, чтобы можно было настроить полномочия, используемые для нового создания файла.
это помогает теперь?