利用jailkit-2.16.tar.gz + ssh 進行 chroot 操作[備忘]
目標
利用 jaikit 環境, 能夠把某個目錄虛擬成為 / , 並且把遠程用戶限製在該目錄中活動,與真正的係統 / 環境進行隔離
利用該環境能夠避免開發人員過多地訪問係統資源,增加係統安全性
1. 編譯jailkit-2.16.tar.gz
./configure && make && make install
2. 定義 /data作為數據存放區間, 籠環境專用分區
利用 sdb1 掛載 /data
chown root:root /data
/etc/fstab 定義自動掛載
/dev/sda1 /data ext4 defaults 0 0
3. 自動建立 chroot需要文件,庫文件資料
jk_init -v -j /data basicshell editors extendedshell netutils ssh sftp scp |
命令執行後,會發現 /data 目錄下生成了 shell 環境必須的文件與目錄
ls /data/ bin dev etc lib lib64 lost+found usr |
4. 創建用戶方法
mkdir /data/usr/sbin cp /usr/sbin/jk_lsh /data/usr/sbin/jk_lsh useradd terry jk_jailuser -m -j /data terry |
注: jk_jailuser 能夠把係統用戶切換成為籠環境受限用戶
注意 /etc/passwd 中用戶資料中,默認的 shell 環境發生了變化
terry:x:500:500::/data/./home/terry:/usr/sbin/jk_chrootsh |
5. 創建chroot後的 /tmp目錄
mkdir /data/tmp chmod 1777 /data/tmp cp /usr/bin/id /data/usr/bin/id |
6. 參考籠環境下的passwd文件
/data/etc/passwd
root:x:0:0:root:/root:/bin/bash terry:x:500:500::/home/terry:/usr/sbin/jk_lsh |
/data/etc/group
root:x:0:root terry:x:500: |
7. 注意,當前 shell /usr/sbin/jk_lsh隻允許 scp, cvs, sftp,假如需要使用 ssh登錄,必須修改 /data/etc/passwd 中 shell 為/bin/bash
8. 要讓用戶登錄, 還需要修改 "/etc/jailkit/jk_chrootsh.ini" 文件添加下麵字段, 注, 每個用戶都需要獨立添加
[terry]
relax_home_group_permissions=1
relax_home_other_permissions=1
[mary]
relax_home_group_permissions=1
relax_home_other_permissions=1
9. 默認情況下, 用戶登錄後,隻具備英文環境, 參考下麵鏈接, 添加用戶中文環境
參考
jailkit-2.16.tar.gz 籠環境增加中文環境[備忘]
最後更新:2017-04-03 16:48:57