利用openssh實現chroot監牢

咱們不想讓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 已經完成

相關文章
相關標籤/搜索