RSS訂閱本站最新文章:SUBSCRIBE TO RSS FEED
加入我的最愛:ADD FAVORITE
最佳瀏覽1024*768以上,部分字體使用微軟正黑體
  輕鬆。簡單。人生/Linux學習  2009/12/07 08:14 by 哇哇
上次和大家介紹過【簡單的設定Linux Chroot環境】,最近我要建立另一台系統時,我打算試試看別的方式,因為我覺得去設定系統的PAM有點複雜,我自己也記不住到底需要更改哪些設定,於是就直接從openssh上著手,將sshd_config設定檔動一些手腳,就可以讓使用者連線時進入chroot環境內。(何謂chroot環境?
編輯sshd_config設定檔
# vi sshd_config

Match Group users
    ChrootDirectory /home/chroot/home
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand /usr/lib/openssh/sftp-server

Match User wawa
    ChrootDirectory /home/chroot/home
    AllowTCPForwarding yes
    X11Forwarding no
    ForceCommand /usr/lib/openssh/sftp-server
# 測試性的加入以上的設定,之後重新啟動ssh服務,若啟動時有錯誤,不認識"Match"的設定字眼,那麼請更新openssh的版本,若可以順利的啟動ssh服務,那代表版本已經支援chroot的設定。

像我自己習慣使用RedHat和CentOS,系統內建安裝的openssh都還是4.x的版本,chroot的設定還無法支援,那麼就去官方網站下載最新版本自己編譯安裝一下囉!(./configure && make && make install 就不再介紹囉!)

編譯新版本的openssh可以看到設定檔的內容有很多不同,已經可以看到預設就有chroot的設定選項
# ChrootDirectory none

# 預設是沒有設定chroot,這裡的設定也是屬於全域設定,要能設定每個user是否chroot才是我的目標,因此全域設定不是我想要的,此時就要搭配本文上方的設定檔。

如何建造chroot環境,之前的script依然可以使用,稍微小修改就好。
#/bin/bash
#開始建立資料夾,請先設定chroot的路徑
chroot_path="/home/chroot"
echo "chroot開始設定,預設路徑/home/chroot" &&
dirlist="$chroot_path $chroot_path/dev $chroot_path/bin $chroot_path/home $chroot_path/lib $chroot_path/etc $chroot_path/usr/lib $chroot_path/usr/bin $chroot_path/proc $chroot_path/dev/pts"
for dir in $dirlist
do
mkdir -p $dir && echo "$dir 資料夾已經建立"
done
#特別住意,若是x86_64的主機,請將lib改成lib64

#若有需要其他指令讓使用者使用,在下列加入,會自動複製指令與需要的函式庫到chroot環境
cmdlist="/bin/bash /bin/ls /bin/cp /bin/mkdir /bin/mv /bin/rm /bin/rmdir"
#函式庫判斷1
lib_1=`ldd $cmdlist | awk '{ print $1 }' | grep "/lib" | sort | uniq`
#函式庫判斷2
lib_2=`ldd $cmdlist | awk '{ print $3 }' | grep "/lib" | sort | uniq`
#開始複製執行檔
for i in $cmdlist
do
    cp -a $i $chroot_path/bin/ && echo "$i 指令複製完成"
done
#開始複製函式庫1
for j in $lib_1
do
cp -f $j $chroot_path/lib/ && echo "$j 函式庫複製完成"
# cp -f $j $chroot_path/lib64/ && echo "$j 函式庫複製完成"
done
#開始複製函式庫2
for k in $lib_2
do
cp -f $k $chroot_path/lib/ && echo "$k 函式庫複製完成"
#cp -f $k $chroot_path/lib64/ && echo "$k 函式庫複製完成"
done

#其餘設定,一些必要的設定
echo "開始其餘設定"
cd $chroot_path/bin &&
ln -s bash sh &&
#/dev/null和/dev/zero不能用複製的
cd $chroot_path/dev && mknod zero c 13 12 && mknod null c 13 12 && mknod ptmx c 5 2 &&
cp -f /etc/passwd /home/chroot/etc/ &&
cp -f /etc/group /home/chroot/etc/ &&
cp -f /usr/bin/groups $chroot_path/bin/group &&
cp -f /usr/bin/id $chroot_path/bin/id &&
cp "/lib/libnss_files.so.2" $chroot_path/lib &&
cp "/lib/libnss_compat.so.2" $chroot_path/lib &&
#cp "/lib64/libnss_files.so.2" $chroot_path/lib64 &&
#cp "/lib64/libnss_compat.so.2" $chroot_path/lib64 &&
#簡單的環境變數PS1 & Color tty
echo "簡單的環境變數PS1 & Color tty"
echo "export PS1=\"\n\033[0;36m\u\033[0m \033[1;34m\w\033[0m\n$ \"" > $chroot_path/etc/profile &&
echo "alias ls='ls --color=tty'" >> $chroot_path/etc/profile &&
echo "設定完成"

chroot的設定可以之依照群組或是使用者來限定,還可以設定不同的chroot環境,以及不同的ssh設定內容,只利用sshd_config來達到有效的安全控管,而不用去動到系統內PAM的設定,我相信使用上一定是更方便的!

若是要利用chroot達到系統安全控管,若是另外編譯新版本的openssh,也請記得停止原本系統內的ssh服務。而還有要異動的就是/etc/passwd的檔案。
若原本使用者的家目錄為/home/wawa,chroot的路徑在/home/chroot,那請將使用者家目錄設定成/home/chroot/./home/wawa,使用者ssh登入後會在chroot環境內的/home/wawa,若是管理者su成使用者,家目錄的路徑才會正確。
2009/12/07 08:14 2009/12/07 08:14
檔案寄存:teamagic,MaxCDN
http://portable.easylife.tw/trackback/1921

駐廠正妹

開關

Bloggerads

ClickForce

BlogAD

最新文章

  1. 【置頂】【大力玩】全球一動4G隨身分享器,獨樂樂不如眾樂樂!流暢的4G網路!
  2. Instant Color Picker 2.5.0.32 - 功能豐富的螢幕取色工具  (1)
  3. ProduKey v1.45 - 方便保存你的產品序號  (7)
  4. Q-Dir 4.36 - 多視窗的檔案總管  (104)
  5. 【Firefox外掛】Redirector幫您達成輕鬆轉址!特別可以用在mobile01上!  (4)
  6. 【台北西門店】花月嵐。大蒜拳骨拉麵~真是心滿意足的一餐!  (12)
  7. FastPictureViewer 1.2 - 優質的圖片瀏覽軟體  (10)
  8. 真愛零距離 Going the Distance  (2)
  9. 【台南】莉莉水果店。這應該是台南最有名氣的冰品吧~  (16)
  10. Visual Subst v1.0.6 - 讓你把目錄當成磁碟機來使用  (3)
  11. Screen2Exe 3.0 - 高壓縮算法的錄製螢幕工具  (64)
  12. 【台南】清閣水樓。來吃湯包囉!  (6)
  13. Fastcopy v2.02 - 最快的檔案拷貝工具  (69)
  14. CrystalDiskInfo 3.7.0a - 漂亮的報表顯示您的硬碟現狀  (22)
  15. 【備忘】SSH RSYNC遠端同步備份檔案,順便談網站資料備份  
  16. 【台南】正宗的唷!前體育場杏仁豆腐冰  (2)
  17. 台南肉圓的對決!武廟肉圓 v.s 福記肉圓  (4)
  18. Remote Desktop Organizer v1.4.4 - 遠端桌面管理工具  (3)
  19. WizMouse 1.0.0.9 - 不受多層視窗限制,滑鼠依然可以滾滾滾!  (8)
  20. Quicksys RegDefrag 2.9 - 優化系統登錄檔  (8)
  21. Media Player Classic HomeCinema 1.3.2210 - 比Media Player Classic更厲害的?  (53)
  22. 第十三台小徑車。LOUIS GARNEAU MVC。心動  
  23. 【台南】地球咖啡。富立時尚館  (2)
  24. 第十二台小徑車。Speed One R30。心動  (4)
  25. 第十一台小徑車。Performer ECLIPSE TI FORCE。鈦心動  
  26. 節能環保與生活紓壓的一座青山。永龍建設  (10)
  27. LPIC 3考試範圍,到底該如何準備呢?  
  28. Moo0 AudioPlayer 1.49 - 省資源的音樂播放器  (9)
  29. 【台南】帕瑪義式廚房,辣到我都下雨了!  (10)
  30. 體驗新的台南夜騎路線 - 鹿耳門聖母廟  (4)
  31. 【台北】丁家樓麵食館。麵好吃~水餃更好吃!  (4)

網站貼紙

贊助廠商

墨水特賣會,天天都超值
碳粉批發價,天天都便宜
888Boss創業加盟網
阿姆斯壯木地板系統家具 信維記帳士事務所
IT4FUN
帛琉旅遊 便宜機票 長灘島旅遊首選 招牌設計 新竹廚具
九九汽車音響影視 九九汽車音響賣場
台南日本料理吉藏