Если надо сделать пользователя, который может только закачивать и удалять файлы в выделенной для него директории - типичный сценарий для wwwmaster и при этом не видеть что делается в других папках сервера. Подготовка (делается один раз): Всех пользователей будем хостить в папке /var/www где у каждого будет своя личная корневая директория. Для удобства добавления новых пользователей имеет смысл добавить специальную группу для таких товарищей sftponly и внести изменения в настройки: #groupadd sftponly #nano /etc/ssh/sshd_config
Match Group sftponly ChrootDirectory /var/www/%u/ # обратите внимание на слэш в конце! Есть неудобство что имя пользователя должно совпадать с именем домашней папки! ForceCommand internal-sftp AllowTCPForwarding no X11Forwarding no На этом подготовка закончена и теперь рутина: Проверяем что не накосячили с правами доступа на общую папку: # ls -ld /var/www/ drwxr-xr-x 5 root root 4096 Dec 27 11:09 /var/www/ общая папка должна принадлежать полностью root Создание домашней папки для пользователя: #mkdir /var/www/wwwmaster эта папка тоже должна принадлежать только root # ls -dl /var/www/testuser/ drwxr-xr-x 3 root root 4096 Dec 27 10:40 /var/www/wwwmaster/ Добавление нового пользователя: # useradd -g sftponly -d /var/www/wwwmaster/ -s /sbin/false wwwmaster # passwd guestuser Изменение имеющегося: #usermod -g sftponly -d /var/www/wwwmaster/ -s /sbin/false wwwmaster
[Насчет слеша в конце /var/www/wwwmaster/] В принципе, если в sshd_config, не поставили бы слеш, тогда при назначении домашней папки пользователю, всегда требовалось следить за тем чтоб всегда был, но так как в нашем случае этот слеш есть то при создании или изменении пользователя записи /var/www/wwwmaster/ и /var/www/wwwmaster эквивалентны
На этом этапе пользователь уже может логиниться по SFTP в систему (если перезапустить sshd), но вот писать в свою папку не может, это ограничение можно обойти только создав специальную папку внутри домашней директории пользователя и выставв на неё права на запись для пользователя: #mkdir /var/www/wwwmaster/public_html #chown wwwmaster:sftponly /var/www/wwwmaster/public_html