Назад | Перейти на главную страницу

Разрешить пользователям писать в / var / www через ftp на debian, работающем с vsftpd

Один из наших модулей разработки запускает debian и VSFTPD, и я хотел бы разрешить нескольким избранным пользователям писать в /var/www/testsite и его подкаталоги.

Они могут просматривать /var/www через символическую ссылку в своих домашних каталогах, но они не могут писать. Неважно, использует ли он FTP или SFTP.

Любые идеи? Мне сложно погуглить эту проблему.

Какие у вас разрешения на / var / www / и / var / www / testsite /?

Мое предложение - предоставить / var / www / testsite / группу, например testsiteGroup, убедиться, что / var / www / testsite имеет разрешения rw для группы, а затем добавить пользователей в группу testsiteGroup.

chgrp -R testsiteGroup /var/www/testsite/ 
chmod g+w /var/www/testsite/ 
usermod -a -G testsiteGroup # this wil be done for each user, and the -a is critical 
                            # the -a appends group to users groups, without -a you will
                            # be replacing the users groups with the one listed 

Если вы используете полную аутентификацию через SFTP (вы должны это сделать для учета), vsftpd будет использовать разрешения пользователя для изменения файлов.

Из-за этого есть два решения:

  • добавлять пользователей в группу, в которой работает веб-сервер (обычно www-data или www)
  • использовать ACL и добавлять ACL по умолчанию в каталоги в /var/www, это намного более мелко, но перегородку нужно смонтировать с acl флаг

Если вы используете анонимный доступ или FTP (который по своей природе небезопасен), я настоятельно рекомендую выбрать второй путь.