温馨提示×

Ubuntu SFTP如何限制用户访问目录

小樊
45
2025-11-27 09:44:43
栏目: 智能运维

在Ubuntu系统中,通过配置SSH和SFTP可以限制用户访问特定目录。以下是详细步骤:

1. 安装OpenSSH服务器

如果尚未安装OpenSSH服务器,请运行以下命令进行安装:

sudo apt update
sudo apt install openssh-server

2. 创建新用户(可选)

如果你还没有用户,可以创建一个新用户:

sudo adduser username
sudo passwd username

3. 配置SSH和SFTP

编辑SSH配置文件 /etc/ssh/sshd_config

sudo nano /etc/ssh/sshd_config

找到并修改以下行以启用SFTP子系统:

Subsystem sftp internal-sftp

确保以下行没有被注释掉(删除行首的 #):

ChrootDirectory %h
ForceCommand internal-sftp

4. 设置用户主目录权限

为了使chroot生效,需要设置用户主目录的权限:

sudo chown root:root /home/username
sudo chmod 755 /home/username

5. 创建受限目录

在用户的主目录下创建一个受限目录,并设置适当的权限:

sudo mkdir /home/username/restricted_dir
sudo chown username:username /home/username/restricted_dir
sudo chmod 755 /home/username/restricted_dir

6. 配置用户的chroot环境

编辑用户的shell配置文件 /etc/passwd 或使用 usermod 命令来设置用户的shell为受限shell:

sudo usermod -s /bin/false username

或者直接编辑 /etc/passwd 文件:

sudo nano /etc/passwd

找到用户行并修改为:

username:x:1000:1000:Your Name,,,:/home/username:/bin/false

7. 重启SSH服务

最后,重启SSH服务以应用更改:

sudo systemctl restart sshd

验证配置

使用SFTP客户端连接到服务器,验证用户是否只能访问指定的目录。

通过以上步骤,你可以成功限制Ubuntu系统中的用户访问特定目录。

0