使用chroot锁定用户目录

使用chroot锁定用户目录

Scroll Down

缘由

在centos上新建一个用户(lockeduser),这个用户使用ssh登录,登录后锁定在家目录(/home/lockeduser),对于用户来说,/home/lockeduser就是他能看到的/目录
这个用户只让他看到某个系统日志(如message),那就把/var/message链接到他的home目录(root视野),用户登录后,就能看到message在/目录下,当然还要给用户查看工具,如cat,less tail等

操作

以下操作使用root用户操作,以下都是命令

useradd lockeduser
passwd lockeduser
cd /home
chown root:root lockeduser
chmod 0755 lockeduser
cd /home/lockeduser/
mkdir dev
mkdir bin
mkdir -p usr/bin
mkdir lib64
mkdir etc

cd 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
cd ..

cd bin
cp -v /bin/bash .
cd ..

cd usr/bin
cp -v /bin/bash .
cp -v /bin/cat .
cp -v /bin/less .
cd ../..

cd lib64
cp -vr /lib64/* .
cd ..

cd etc
cp -f /etc/group .
cp -f /etc/passwd .
tail -1 passwd  >/tmp/1.txt ;cat /tmp/1.txt  > passwd
cd ..

link /var/log/message message
chmod 444 message

/etc/ssh/sshd_config添加以下两行

Match User lockeduser
	ChrootDirectory /home/lockeduser/

重启sshd

systemctl restart sshd

验证

使用lockeduser账号用ssh登录

ssh lockeduser@...
登录后会在/上面看到message文件,可以使用命令 cat message | less 查看
因为没有拷贝vi,所以使用vi时会提示找不到命令,lockeduser锁定在自家目录,无法切换到其他目录