如何限定Linux操作系统中某个用户的活动目录(ssh用户监牢)

文章详细描述了如何在CentOS系统中创建一个chroot监牢,包括创建限定用户目录,使用mknod创建设备文件,设置目录权限,创建交互式环境,添加用户,修改SSH配置以限制用户访问,并测试连接。在这个监牢中,用户只能执行有限的命令。
摘要由CSDN通过智能技术生成

目录

1、先创建限定用户的活动目录

2、用mknod创建/dev/下的相关文件

3、chroot监牢中设置合适的权限

4、chroot监牢设置交互式

5、创建被监牢的用户

6、修改ssh中的配置文件

7、进行测试连接被chroot监牢的用户


1、先创建限定用户的活动目录

        该目录必须包含支持用户会话所必需的文件和目录。

[root@Centos7 ~]# mkdir -pv /home/test
[root@Centos7 ~]# ls -l /dev/{null,zero,stdin,stdout,stderr,random,tty}
crw-rw-rw- 1 root root 1, 3 12月  5 08:55 /dev/null
crw-rw-rw- 1 root root 1, 8 12月  5 08:55 /dev/random
lrwxrwxrwx 1 root root   15 12月  5 08:55 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root   15 12月  5 08:55 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root   15 12月  5 08:55 /dev/stdout -> /proc/self/fd/1
crw-rw-rw- 1 root tty  5, 0 12月  5 08:55 /dev/tty
crw-rw-rw- 1 root root 1, 5 12月  5 08:55 /dev/zero

2、用mknod创建/dev/下的相关文件

[root@Centos7 ~]# mkdir -pv /home/test/dev
[root@Centos7 ~]# mknod -m 666 null c 1 3
[root@Centos7 ~]# mknod -m 666 tty c 5 0
[root@Centos7 ~]# mknod -m 666 zero c 1 5
[root@Centos7 ~]# mknod -m 666 random c 1 8
-m标志用来指定文件权限位
c是字符文件
其中2个数字分别是文件指向和主要号和次要号

3、chroot监牢中设置合适的权限

        注意chroot和它的子录目以及子文件必须是被root用户所有,并且普通用户不可写。

[root@Centos7 ~]# chown root.root /home/test
[root@Centos7 ~]# chmod 755 /home/test
[root@Centos7 ~]# ls -lrtd /home/test
drwxr-xr-x 6 root root 53 11月 23 02:50 /home/test

4、chroot监牢设置交互式

[root@Centos7 ~]# mkdir -pv /home/test/bin
[root@Centos7 ~]# mkdir -pv /home/test/lib64
[root@Centos7 ~]# cp -v /bin/bash /home/test/bin
设定bash运行所需要的系统动态库文件,并把它们复制到/home/test/lib64目录下
[root@Centos7 ~]# ldd /bin/bash
	linux-vdso.so.1 =>  (0x00007ffe9fbf3000)
	libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f5b9cdf3000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f5b9cbef000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f5b9c821000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f5b9d01d000)
[root@Centos7 ~]# cp -v /lib64/{libtinfo.so.5,libdl.so.2,libc.so.6,d-linux-x86-64.so.2} /home/test/lib64

5、创建被监牢的用户

[root@Centos7 ~]# useradd tom
[root@Centos7 ~]# echo 'tom'|passwd --stdin tom
创建被监牢用户的配置目录
[root@Centos7 ~]# mkdir -pv /home/test/etc
[root@Centos7 ~]# cp -vf /etc/{passwd,group} /home/test/etc

6、修改ssh中的配置文件

        该操作是来chroot被监牢的用户和目录。

[root@Centos7 ~]# vi /etc/ssh/sshd_config
把以下内容添加到配置文件中相应的位置,保存配置文件后,重启sshd服务
ChrootDirectory  /home/test
Match User tom
[root@Centos7 ~]# systemctl restart sshd.service 或 service sshd restart

7、进行测试连接被chroot监牢的用户

[root@Centos7 ~]# ssh tom@192.168.2.10
-bash-4.2$ ls
-bash: ls: command not found
-bash-4.2$ cd
-bash: ls: command not found

        注:此时被监牢的用户进入操作系统之后不能执行相关的命令,此时只能执行(pwd,echo,history)3个命令。如果添加多个被监牢的用户时,需要把/etc/{passwd,group}重新复制到被监牢的目录里,这里是/home/test/etc。如果想要被监牢的用户执行相关命令,请按照第4步中的动态库查看和复制操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值