咱們不想讓SSH 登錄的用戶隨意瀏覽我係統的文件,只給他固定在指定地方活動。vim
環境:Red Hat Enterprise Linux Server release 6.2bash
openssh 須要4.7p 以上版本less
創建一個容許ssh的登錄用戶ssh
[root@localhost ~]# useradd gaoide
更改用戶的密碼測試
[root@localhost ~]# passwd gao
Changing password for user gao.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
創建chroot目錄spa
[root@localhost ~]# mkdir /vm/chrootrest
切換到建好的目錄下,再建立登錄須要的目錄結構token
[root@localhost chroot]# mdkir bin home lib64cmd
把gao用戶的主目錄拷貝到剛剛建好的home下
[root@localhost chroot]# cp -r /home/gao/ /vm/chroot/home/
拷貝可執行程序和登錄bash,參考拷貝執行程序腳本123.sh
[root@localhost chroot]# cd bin/
[root@localhost bin]# cat 123.sh
#!/bin/bash
cmd="bash touch more less awk sed vim mkdir"
for i in $cmd
do
a=`which $i`
cp $a ./
done
命令能夠自行添加
再拷貝執行依賴的文件,參考拷貝依賴文件腳本456.sh
[root@localhost bin]# cd ../lib64/
[root@localhost lib64]# cat 456.sh
#!/bin/bash
cmd="touch more less awk sed vim mkdir"
for i in $cmd
do
ldd `which $i` |awk '{print $3}'|while read a ;do cp $a ./;done
done
所有拷貝完成後修改ssh 的配置文件
[root@localhost lib64]# vim /etc/ssh/sshd_config
在其最後加上
Match User gao
ChrootDirectory /vm/chroot
重啓SSH服務
[root@localhost lib64]# /etc/init.d/sshd restart
使用其餘機器登錄測試
[root@perl ~]# ssh gao@10.1.100.103
gao@10.1.100.103's password:
Last login: Wed Oct 10 11:54:00 2012 from 10.1.100.104
-bash-4.1$ cd /
-bash-4.1$ pwd
/
-bash-4.1$ ls
bin home lib64
-bash-4.1$
簡單的chroot 已經完成