温馨提示×

如何限制Debian的SFTP用户

小樊
35
2026-01-02 14:39:27
栏目: 智能运维

要限制Debian上的SFTP用户,您可以使用以下方法:

  1. 使用Chroot环境:

Chroot环境可以将用户的根目录限制在一个特定的目录中,从而限制用户访问其他文件和目录。要为SFTP用户设置Chroot环境,请按照以下步骤操作:

a. 安装必要的软件包:

sudo apt-get update
sudo apt-get install openssh-server

b. 创建一个新的用户组(可选):

sudo groupadd sftp_users

c. 为新用户创建一个系统账户,并将其添加到新创建的用户组(如果已创建):

sudo adduser --system --group --disabled-login --no-create-home --ingroup sftp_users your_username

d. 为新用户创建一个主目录,并设置正确的权限:

sudo mkdir /home/your_username
sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username

e. 在用户的主目录中创建一个子目录,用于存放用户的文件:

sudo mkdir /home/your_username/uploads
sudo chown your_username:sftp_users /home/your_username/uploads

f. 编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

g. 在文件末尾添加以下内容:

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

h. 保存并退出编辑器。

i. 重启SSH服务:

sudo systemctl restart ssh

现在,SFTP用户将被限制在其主目录中,并只能访问uploads子目录。

  1. 使用第三方软件:

还有一些第三方软件可以帮助您更好地管理SFTP用户,例如OpenSSH Server with PAMvsftpd。这些软件提供了更多的配置选项,可以更灵活地限制用户的访问权限。

0