chroot限制普通用戶登陸特定目錄

需求:普通用戶登錄到服務器上只能執行ssh,ls,cat等有限的基礎命令,另外要求把用戶鎖定在特定目錄中,不能看到其餘任何目錄下文件vim

  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/ttxsgotobash

    修改/etc/fstab文件,開機自掛載:服務器

    echo "/var/logs     /home/chroot/home/loglooker    none    rw,bind        0    0" >> /etc/fstabssh

相關文章
相關標籤/搜索