У меня работает сервер Debian 8, где /var/www
принадлежит www-data
и имеет разрешения drwxr-xr-x
как для файлов, так и для подкаталогов.
Поскольку мне нужно загружать файлы через SFTP (аутентификация с открытым / закрытым ключом; пароль и незашифрованный FTP заблокированы), я подумал, что не должно возникнуть проблем с добавлением моей учетной записи пользователя в группу. www-data
. Таким образом, я выполнил:
sudo usermod --append --groups www-data my-user
Я уже вышел из текущего сеанса SSH, чтобы вызвать перезагрузку разрешений. id my-user
теперь показывает:
uid=1000(my-user) gid=1000(my-user) groups=1000(my-user),33(www-data)
Однако я по-прежнему не могу записывать данные через SFTP в /var/www
. Даже простой touch test.txt
напрямую через SSH не работает с Permission denied
.
я думал rwx
является read
, write
и execute
. Очевидно, что я не до конца понимаю права доступа к каталогам / файлам. Может кто поможет?
Вы заявляете, что разрешения для / var / www: drwxr-xr-x
который rwx
только для владельца. Группа имеет r-x
что означает, что даже если вы добавили себя в www-data
group, каталог не позволяет группе разрешить запись в / var / www.
chmod g+w /var/www
чтобы ваша учетная запись могла добавлять файлы в / var / www.
Если есть какие-либо подкаталоги ниже / var / www, вы захотите сделать то же самое chmod
команда, если вам нужно иметь возможность когда-либо писать в эти каталоги.
Также рассмотрите возможность установки липкого бита группы, чтобы все файлы, созданные в / var / www, имели www-data
как группа.
chmod g+s /var/www
Опять же, для любых подкаталогов в / var / www вы также захотите добавить это.
Вы сказали, что права доступа - это drwxr-xr-x, поэтому 755, и вы добавили себя в группу www-data, поэтому вам нужно 775, то есть drwxrwxr-x.