使用 useradd 命令创建 SSH 用户:
也可以用高级交互式命名创建用户
根据提示一步步操作
使用 mknod 命令创建 /dev 下的文件。在下面的命令中,-m 标志用来指定文件权限位,c 意思是字符文件,两个数字分别是文件指向的主要号和次要号。
1 2 3 4 5 6
| mkdir -p /home/test/dev/ cd /home/test/dev/ mknod -m 666 null c 1 3 mknod -m 666 tty c 5 0 mknod -m 666 zero c 1 5 mknod -m 666 random c 1 8
|
对于交互式会话,这需要至少一个 shell,通常为 sh 和基本的 /dev 节点,例如 null、zero、stdin、stdout、stderr 和 tty 设备:
1
| ls -l /dev/{null,zero,stdin,stdout,stderr,random,tty}
|
在 chroot 中设置合适的权限。注意 chroot 和它的子目录以及子文件必须被 root 用户所有,并且对普通用户或用户组不可写:
1 2 3
| chown root:root /home/test chmod 0755 /home/test ls -ld /home/test
|
为 SSH chroot 设置交互式 shell,创建 bin 目录并复制 /bin/bash 到 bin 中:
1 2
| mkdir -p /home/test/bin cp -v /bin/bash /home/test/bin/
|
识别 bash 所需的共享库,如下所示复制它们到 lib64 和 lib 中
1 2 3 4 5
| ldd /bin/bash mkdir -p /home/test/lib64 cp -v /lib64/ld-linux-x86-64.so.2 /home/test/lib64/ mkdir -p /home/test/lib/x86_64-linux-gnu/ cp -v /lib/x86_64-linux-gnu/{libtinfo.so.5,libdl.so.2,libc.so.6} /home/test/lib/x86_64-linux-gnu/
|
创建 chroot 通用配置目录 /home/test/etc 并复制已更新的账号文件(/etc/passwd 和 /etc/group)到这个目录中:
1 2
| mkdir /home/test/etc cp -vf /etc/{passwd,group} /home/test/etc/
|
注意:每次向系统添加更多 SSH 用户时,都需要将更新的帐户文件复制到 /home/test/etc 目录中。
配置 SSH 来使用 chroot
打开 sshd_config 文件
1
| vim /etc/ssh/sshd_config
|
文件中添加或修改下面这些行
1 2 3 4
| # 定义要使用 chroot 的用户 Match User boy # 指定 chroot ChrootDirectory /home/test
|
重启sshd
1 2 3
| systemctl restart sshd 或者
service sshd restart
|
参考文章
https://linux.cn/article-8313-1.html
相关脚本
创建低权限用户脚本
给用户sudo权限
方法一: 修改/etc/sudoers文件,添加 “malu ALL=(ALL) ALL” 方法二: 先查看sudo组ID cat /etc/group grep sudo 把用户加入sudo组 usermod -G 27 malu 方法三: 直接编辑/etc/group,在sudo组后面添加malu用户,多个用户用逗号”,”分割