Я бы хотел, чтобы мой пользователь apache мог читать и писать файлы, а мои пользователи sftp могли загружать файлы, которые затем становятся доступны (rwX), как другим пользователям sftp, так и apache, и все остальные читают нормально. ,
psst: я знаю, что этот вопрос часто I know this question comes up a lot, and I've been reading answers and trying many many things for two days now and am now thoroughly confused
. Кроме того, я знаю о рисках безопасности, связанных с предоставлением доступа для записи www-данных на мой сайт, но я не обсуждаю эту проблему.
Вот мои шаги:
usermod -aG www-data tim
mkdir -p /var/www/mysite/public_html
# now upload/untar the site, etc. not shown here #
chown -R www-data:www-data /var/www/mysite
chmod -R u+rwX,go+rwX,g+s,o-w /var/www/mysite
# now make the apache virtual host and so on .. not shown here #
Файлы внутри public_html
устанавливаются так: группа имеет запись:
-rw-rwSr-- 1 www-data www-data favicon.ico
Теперь, войдите в систему как моя учетная запись "tim", используя sftp, я загружаю новый файл в папку public_html, затем просматриваю его разрешение:
-rw-r--r-- 1 tim wwww-data COPYING.txt
Поэтому я потерял группу WRITE, хотя думал, что добавил g+s
в родительскую папку, чтобы она наследовала группу.
По-видимому, это не означает, что он также наследует группу /mask /. Я где-то читал (и потерял ссылку), что SFTP не соблюдает umask; Похоже, что именно там разрешение теряется, но я не знаю, как это исправить.
edit нашел ссылку umask и попробовал ее - http://john.parnefjord.se/node/62 - может увидеть, что файл выполняет вход в систему apon, но после загрузки маска не установлена на g+w.