天天看點

利用openssh實作chroot監牢

我們不想讓SSH 登陸的使用者随意浏覽我系統的檔案,隻給他固定在指定地方活動。

環境:Red Hat Enterprise Linux Server release 6.2

openssh 需要4.7p 以上版本

建立一個允許ssh的登陸使用者

[root@localhost ~]# useradd gao

更改使用者的密碼

[root@localhost ~]# passwd gao

Changing password for user gao.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

建立chroot目錄

[root@localhost ~]# mkdir /vm/chroot

切換到建好的目錄下,再建立登陸需要的目錄結構

[root@localhost chroot]# mdkir bin home lib64

把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

cmd="touch more less awk sed vim mkdir"

ldd `which $i` |awk '{print $3}'|while read a ;do cp $a ./;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

繼續閱讀