У меня работает сервер 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
читается
, написать
и выполнить
. Очевидно, что я не до конца понимаю права доступа к каталогам / файлам. Может ли кто-нибудь помочь?
Вы указываете, что разрешения для /var/www являются drwxr-xr-x
, что является rwx
только для владельца. Группа имеет r-x
, что означает, что даже если вы добавили себя в группу www-data
, каталог не позволяет группе разрешать запись в /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.
.