差異處
這裏顯示兩個版本的差異處。
下次修改 | 前次修改 | ||
tech:rssh [2008/05/22 18:14] – 建立 jonathan | tech:rssh [2009/03/03 01:03] (目前版本) – jonathan | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== 使用 rssh 來解決只能使用 scp/sftp 與限制權限功能 ====== | ||
+ | * rssh 官方網址 : http:// | ||
+ | |||
+ | <note warning> | ||
+ | * **本頁內容目前測試還是無法正常運作** | ||
+ | * 僅留下提供未來有機會需要時的參考資訊 | ||
+ | * 實際完成此功能請參考 **[[tech: | ||
+ | </ | ||
+ | |||
+ | ===== - 下載與安裝 ===== | ||
+ | * 以下是針對在 CentOS 5 32bit 實際執行的語法 | ||
+ | * rssh 版本為 2.3.2 | ||
+ | < | ||
+ | su - root | ||
+ | cd /tmp | ||
+ | wget http:// | ||
+ | tar -zxvf rssh-2.3.2.tar.gz | ||
+ | cd rssh-2.3.2 | ||
+ | ./configure | ||
+ | make | ||
+ | make install | ||
+ | </ | ||
+ | * 執行以上指令後就會將 rssh 安裝到 / | ||
+ | < | ||
+ | rssh -v | ||
+ | </ | ||
+ | < | ||
+ | [root@vm-server rssh-2.3.2]# | ||
+ | |||
+ | rssh 2.3.2 | ||
+ | Copyright 2002-5 Derek D. Martin < | ||
+ | |||
+ | rssh config file = / | ||
+ | chroot helper path = / | ||
+ | scp binary path = / | ||
+ | sftp server binary = / | ||
+ | cvs binary path = / | ||
+ | rdist binary path = / | ||
+ | rsync binary path = / | ||
+ | </ | ||
+ | |||
+ | ===== - 參數檔設定 ===== | ||
+ | <code h|h vi / | ||
+ | : | ||
+ | allowscp | ||
+ | allowsftp | ||
+ | #allowcvs | ||
+ | #allowrdist | ||
+ | #allowrsync | ||
+ | : | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== - 設定登入後只能在自己的目錄內 ===== | ||
+ | * 設定 /usr/chroot 為登入後的根目錄 | ||
+ | |||
+ | 相關檔案如下: | ||
+ | * / | ||
+ | * / | ||
+ | * / | ||
+ | |||
+ | < | ||
+ | mkdir -p / | ||
+ | cp -p / | ||
+ | mkdir -p / | ||
+ | cp -p / | ||
+ | mkdir -p / | ||
+ | cp -p / | ||
+ | ldd `which scp` | ||
+ | 看到一堆相關的 lib 必須複製進去 /usr/chroot 內 | ||
+ | mkdir -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | mkdir -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | cp -p / | ||
+ | mkdir -p / | ||
+ | cp -p /etc/passwd / | ||
+ | cp -a /etc/ld.so* / | ||
+ | mkdir -p / | ||
+ | service syslog stop | ||
+ | / | ||
+ | service syslog start | ||
+ | mkdir -p / | ||
+ | </ | ||
+ | |||
+ | <code h|h vi / | ||
+ | : | ||
+ | chrootpath = /usr/chroot | ||
+ | : | ||
+ | </ | ||
+ | |||
+ | ===== - 建立使用 rssh 帳號 ===== | ||
+ | * Exp. 建立 scusftp 這個帳號只能使用 sftp 與 scp | ||
+ | < | ||
+ | |||
+ | useradd scusftp -d / | ||
+ | passwd scusftp <- 設定密碼 | ||
+ | </ | ||
+ | <code h|h vi / | ||
+ | : | ||
+ | scusftp: | ||
+ | </ | ||
+ | |||
+ | ===== - 使用 winscp 測試與驗證 ===== | ||
+ | <note wraning> | ||
+ | * 如果不設定 chroot 可以正常運作.. | ||
+ | * 依據以上將所有相關 lib 複製到 chroot 之後, 目前已不會出現錯誤訊息..但是 sftp 還是會立即登出 | ||
+ | * 打算考慮改用 [[http:// | ||
+ | </ | ||
+ | |||
+ | * 使用 [[http:// | ||
+ | {{: | ||
+ | * 使用 ssh 登入時會出現以下的錯誤訊息(不允許使用 ssh 操作模式) | ||
+ | < | ||
+ | This account is restricted by rssh. | ||
+ | Allowed commands: scp sftp | ||
+ | |||
+ | If you believe this is in error, please contact your system administrator. | ||
+ | </ | ||
+ | |||
+ | ===== 參考資料 ===== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | {{tag> | ||