服务器:Ubuntu 12.04 LTS
我正在使用openSSH并创build了一个名为bob的SFTP用户,他们属于sftponly组。 我有chrooted bob到他的主目录是/usr/share/nginx/www/bob/ 。
鲍勃是能够SFTP到服务器和视图是主目录,但他无法编辑他的目录中的文件。 我已经运行chown -R bob /usr/share/nginx/www/bob/*使bob成为他的文件的所有者,但他仍然无法编辑它们。
为什么会这样?
要正确地chroot一个sftponly组成员,你需要在/etc/ssh/sshd_config设置这个选项:
Subsystem sftp internal-sftp Match Group sftponly ChrootDirectory /srv/chroot/%u ForceCommand internal-sftp
要求chroot用户的home目录以及一直到系统根目录的目录必须属于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
由于user001的HOME目录是在chroot调用之后计算的,他/她将login到写入权限有效的input目录中:
$ ls -lrtd /srv/chroot/user001/input drwxrwx--- 2 user001 sftponly 4.0K Apr 07 17:55 /srv/chroot/user001/input