方法1(推荐):使用文件系统权限和 chmod
限制访问
通过设置文件和目录的权限,限制用户只能访问指定目录。
1.创建用户并设置主目录
sudo useradd -m liweimu
sudo passwd liweimu
2.创建限制目录
假设限制用户只能访问 /opt/mypath
sudo mkdir -p /home/liweimu/mypath
sudo chown liweimu:liweimu /home/liweimu/mypath
sudo chmod 700 /home/liweimu/mypath
3.限制用户访问其他目录
使用 chmod
和 chown
限制用户对其他目录的访问权限。例如:
sudo chmod 750 /home # 限制其他用户访问 /home
sudo chmod 750 /home/liweimu # 限制其他用户访问用户主目录
4.测试
切换到 liweimu
,尝试访问其他目录:
sudo su - liweimu
cd /home/liweimu/mypath # 可以访问
cd /root # 应该无法访问
方法2:使用chroot限制用户访问目录(完全隔离用户环境)
1.创建用户并设置主目录
sudo useradd -m liweimu
sudo passwd liweimu
2.创建chroot环境
假设将用户liweimu限制仅可访问目录/home/liweimu/mypath
sodu mkdir -p /home/liweimu/mypath
3.设置chroot环境
将必要的系统文件和工具复制到 chroot 目录中。例如:
sudo mkdir -p /home/liweimu/mypath/{bin,lib,lib64}
sudo cp /bin/bash /home/liweimu/mypathh/bin/
sudo cp /lib64/{ld-linux-x86-64.so.2,libc.so.6,libdl.so.2,libreadline.so.8,libtinfo.so.6} /home/liweimu/mypath/lib64/
4.配置SSH使用chroot
编辑 /etc/ssh/sshd_config,添加以下内容:
Match User liweimuChrootDirectory /home/liweimu/mypath
5.重启 SSH 服务:
sudo systemctl restart sshd
6.测试
使用 liweimu
登录,验证是否被限制在 /home/liweimu/mypath
目录。