Настройка разрешений / групп

Я настроил группу, в которую входит несколько пользователей (mygroup), а затем установил, что владельцем веб-каталога является apache, а группой - mygroup.

chown -R apache:mygroup /home/myweb

Тогда я установил разрешения на

chmod -R 764 /home/myweb

Идея заключается в том, что все могут просматривать, apache может читать, писать и выполнять, а mygroup может читать и писать.

Но теперь, когда я пытаюсь использовать ssh2 в php для создания папки в /home/myweb, она не работает из-за разрешений.

Пользователь, с которым соединяется ssh2, является частью mygroup, как и apache.

Насколько я могу судить, у меня правильные настройки.

1 ответ

Решение

x Разрешение на каталог определяет, можете ли вы перейти в него, что необходимо для записи файлов. Если ты хочешь mygroup чтобы иметь права на запись, ему также нужны права на выполнение. Кроме того, значение 4 позволит other пользователи могут видеть, какие файлы находятся в каталоге, но не могут ни читать файлы, ни даже видеть их размеры. Ты хочешь 775 для каталогов, чтобы выполнить то, что вы описали.

Поскольку вы действительно хотите, чтобы файлы имели один набор разрешений, а каталоги - другой, я бы посоветовал вам запустить эти команды.

find /home/myweb -type f -exec chmod 764 {} \;
find /home/myweb -type d -exec chmod 775 {} \;

Первый find Команда ищет все элементы типа f (Файлы) и выполняет chmod 764 за каждый матч, заменяя {} с именем найденного файла.

Второй find делает то же самое, за исключением того, что ищет каталоги и устанавливает разрешения для 775,

Другие вопросы по тегам