У меня проблемы с разрешениями в /var /www /html, и разрешения для групп не работают так, как я думал.

bash-4.1$ whoami
barney

bash-4.1$ id barney
uid=507(barney) gid=511(barney) groups=511(barney),509(test-group)

bash-4.1$ ls -la /var/www
total 24
drwxrwxr-x+  6 frank test-group 4096 Apr 18 20:48 .
drwxr-xr-x  19 root  root       4096 Oct  7  2014 ..
drwxrwxr-x+  3 frank test-group 4096 Mar 22 15:04 cgi-bin
drwxrwxr-x+  3 frank test-group 4096 Apr 18 20:48 error
drwxrwxr-x+  2 frank test-group 4096 Apr 20 16:25 html
drwxrwxr-x+  3 frank test-group 4096 Apr 18 20:48 icons

bash-4.1$ ls -la /var/www/html
total 8
drwxrwxr-x+ 2 frank test-group 4096 Apr 20 16:25 .
drwxrwxr-x+ 6 frank test-group 4096 Apr 18 20:48 ..

bash-4.1$ touch test
touch: cannot touch `test': Permission denied

bash-4.1$ getenforce
Disabled

Пользователь, Барни, находится в правильной группе, у группы есть права доступа к /var /www / и /var /www / html.

Барни не может создавать файлы в /var /www /html.

SELinux также отключен, просто убедившись.

Я, вероятно, просто что-то упускаю, но я схожу с ума, пытаясь понять это в данный момент, поэтому некоторые советы извне будут полезны.

1 ответ1

1

Как видно из предоставленной вами информации, члены группы test-group не имеют права создавать файлы и папки в папке /html . Установите свой ACL следующим образом:

setfacl -Rm d:g:test-group:rwX,g:test-group:rwX /var/www/html

Или установите явные разрешения для этой папки:

chmod g+w /var/www/html

Но разрешения для вновь созданных подпапок в этом случае остаются rwxr-xr-x в соответствии с предопределенным значением umask для пользователей в группе test-group. Таким образом, вам придется снова и снова проверять каждую подпапку вручную. Поэтому первый способ предпочтительнее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .