SFTP 用户无法编辑或创建文件

SFTP 用户无法编辑或创建文件

服务器:Ubuntu 12.04 LTS

我正在使用 openSSH,并创建了一个名为bobwho belong to group 的SFTP 用户sftponly。我已将 bob chroot 到他的主目录,即/usr/share/nginx/www/bob/

bob 可以通过 SFTP 访问服务器并查看主目录,但他无法编辑目录中的文件。我已运行chown -R bob /usr/share/nginx/www/bob/*让 bob 成为其文件的所有者,但他仍然无法编辑这些文件。

为什么会这样?

答案1

要正确 chroot sftponly 组成员,您需要设置此选项/etc/ssh/sshd_config


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

要求 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

您需要一个类似这样的目录结构:


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

因为 user001 的 HOME 目录是在 chroot 调用之后评估的,所以他/她进入了该input目录,其中写权限有效:


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

相关内容