Настройка разрешений / групп
Я настроил группу, в которую входит несколько пользователей (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
,