Geo*_*ith 6 linux permissions ssh chroot sftp
服务器:Ubuntu 12.04 LTS
我正在使用 openSSH 并创建了一个名为bobwho owns group 的 SFTP 用户sftponly。我已将 bob chroot 到他的主目录,即/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
Run Code Online (Sandbox Code Playgroud)
要求 chroot 用户的主目录以及一直到系统根目录的目录必须属于 root:root
给定用户的以下值:
$ id user001
uid=1003(user001) gid=1003(user001) groups=1006(sftponly)
$ grep user001 /etc/passwd
user001:x:1003:1003::/input:/sbin/nologin
Run Code Online (Sandbox Code Playgroud)
你需要一个这样的目录结构:
$ tree /srv/chroot
/srv/chroot
??? user001
? ??? input
Run Code Online (Sandbox Code Playgroud)
因为 user001 的 HOME 目录是在 chroot 调用之后评估的,所以他/她会进入该input目录,在那里写权限是有效的:
$ ls -lrtd /srv/chroot/user001/input
drwxrwx--- 2 user001 sftponly 4.0K Apr 07 17:55 /srv/chroot/user001/input
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6982 次 |
| 最近记录: |