chroot限制普通用户登录特定目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了chroot限制普通用户登录特定目录相关的知识,希望对你有一定的参考价值。

需求:普通用户登陆到服务器上只能执行ssh,ls,cat等有限的基础命令,另外要求把用户锁定在特定目录中,不能看到其他任何目录下文件

1.创建查看日志的用户
useradd -m ttxsgoto -s /bin/bash
passwd ttxsgoto

2.初始化chroot环境
mkdir /home/chroot
mkdir /home/chroot/{bin,dev,lib,lib64,etc,home}

CMD="/bin/bash /bin/ls /bin/cp /bin/mkdir /bin/mv /bin/rm /bin/rmdir /usr/bin/vim /bin/cat /usr/bin/tail"

CHROOT="/home/chroot"

lib1=`ldd $CMD | awk ‘{ print $1 }‘ | grep "/lib" | sort | uniq`
lib2=`ldd $CMD | awk ‘{ print $3 }‘ | grep "/lib" | sort | uniq`

for i in $CMD
do
    cp -a $i $CHROOT/bin/ && echo "$i done"
done

for j in $lib1
do
cp -f $j $CHROOT/lib64/ && cp -f $j $CHROOT/lib/  && echo "$j done"
done

for k in $lib2
do
cp -f $k $CHROOT/lib64/ && cp -f $k $CHROOT/lib/ && echo "$k done"
done

chown -R root:root /home/chroot
chmod -R 755 /home/chroot

3.创建用户目录
mkdir /home/chroot/home/ttxsgoto
chown -R ttxsgoto:ttxsgoto /home/chroot/home/ttxsgoto

4.添加sshd_config
Match User ttxsgoto
ChrootDirectory /home/chroot

5.日志目录挂载
mount --bind /var/logs /home/chroot/home/ttxsgoto

本文出自 “天天向上goto” 博客,请务必保留此出处http://ttxsgoto.blog.51cto.com/4943095/1793409

以上是关于chroot限制普通用户登录特定目录的主要内容,如果未能解决你的问题,请参考以下文章

linux之chroot命令

ssh chroot 设置

vsftp限制FTP用户只能访问自己的目录

FTP服务器vsftpd配置项-主目录限制(chroot_local_userchroot_list_enable)

Linux下用户登入ftp就是该用户目录

CentOs ftp 设置用户访问指定目录