差異處
這裏顯示兩個版本的差異處。
| 兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
| tech:rssh [2008/05/27 08:07] – 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> | ||