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

Пользователь SFTP не может редактировать или создавать файлы

Сервер: Ubuntu 12.04 LTS

Я использую openSSH и создал пользователя SFTP с именем bob кто принадлежит к группе sftponly. Я привязал боба к его домашнему каталогу, который /usr/share/nginx/www/bob/.

bob может отправлять SFTP на сервер и просматривать домашний каталог, однако он не может редактировать файлы в своем каталоге. Я бежал chown -R bob /usr/share/nginx/www/bob/* сделать Боба владельцем своих файлов, но он по-прежнему не может их редактировать.

Почему это могло быть?

Чтобы правильно chroot члена группы sftponly, вам необходимо установить эти параметры в /etc/ssh/sshd_config:


Subsystem       sftp    internal-sftp
Match Group sftponly
        ChrootDirectory /srv/chroot/%u
        ForceCommand internal-sftp

Это требование, чтобы домашний каталог и все каталоги вплоть до корня системы, chrooted пользователей принадлежали root:root

Учитывая следующие значения для пользователя:


$ id user001
uid=1003(user001) gid=1003(user001) groups=1006(sftponly)
$ grep user001 /etc/passwd
user001:x:1003:1003::/input:/sbin/nologin

Вам нужна такая структура каталогов:


$ tree /srv/chroot
/srv/chroot
├── user001
│   └── input

Поскольку каталог HOME пользователя001 оценивается после вызова chroot, он попадает в input каталог, в котором действуют права на запись:


$ ls -lrtd /srv/chroot/user001/input
drwxrwx--- 2 user001 sftponly 4.0K Apr 07 17:55 /srv/chroot/user001/input