授予 SFTP 权限并将 Ubuntu 用户限制在一个目录中

授予 SFTP 权限并将 Ubuntu 用户限制在一个目录中

我正在尝试创建一个仅对一个目录(不是他的主目录)具有 SFTP 权限的用户。当他通过 SFTP 客户端连接时,我希望他进入此目录,并且我不希望他能够查看任何其他目录,除非它是子目录。我使用的是 Ubuntu 12.04。

我遵循以下步骤:

编辑 /etc/ssh/sshd_config 文件。

添加或修改子系统 sftp 行,使其如下所示:

Subsystem sftp internal-sftp

将以下文本块添加到文件底部:

Match Group filetransfer
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

重新启动 OpenSSH:

service ssh restart

为您想要限制 SFTP 访问的用户创建系统组:

addgroup --system filetransfer

sudo adduser username #added user
usermod -G filetransfer username #added him to the group
chown root:root /home/username #disabled access to his default home directory
chmod 755 /home/username

改变了我希望他能够修改的权限目录:

cd /srv/www/website_name/public_html/wp-content/themes/
chown username:filetransfer specific_folder
chown username:filetransfer specific_folder/*

将此文件夹设置为他的主目录:

sudo usermod -d /srv/www/website_name/public_html/wp-content/themes/specific_folder username

但现在我无法使用 SFTP 连接。在我更改他的主目录后,连接失败。我该怎么做才能解决这个问题?

答案1

我会 chroot 用户并确保他们无法获取 shell。尝试

相关内容