差異處
這裏顯示兩個版本的差異處。
| 兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
| tech:jailkit [2008/05/27 10:38] – jonathan | tech:jailkit [2010/02/08 17:02] (目前版本) – jonathan | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== 使用 jailkit 限制使用者只能使用 scp/sftp 與特定目錄功能 ====== | ||
| + | |||
| + | * jailkit 官方網址 : http:// | ||
| + | |||
| + | 因為最近有需要提供一個 sftp 的上傳檔案服務,但是不希望使用者可以用到 ssh 登入操作的功能,在 Google 大神的指示下,先找到了 [[http:// | ||
| + | |||
| + | ===== - 下載與安裝 ===== | ||
| + | * 以下是針對在 CentOS 5 64bit 實際執行的語法 | ||
| + | * jailkit 版本為 2.7 | ||
| + | < | ||
| + | su - root | ||
| + | cd /tmp | ||
| + | wget http:// | ||
| + | tar -zxvf jailkit-2.7.tar.gz | ||
| + | cd jailkit-2.7 | ||
| + | ./configure | ||
| + | make | ||
| + | make install | ||
| + | cp extra/ | ||
| + | chmod a+x / | ||
| + | chkconfig jailkit on | ||
| + | </ | ||
| + | < | ||
| + | * 如果有安裝 rpmforge 可以直接< | ||
| + | * 然後設定自動啟動< | ||
| + | </ | ||
| + | |||
| + | ===== - 建立虛擬根目錄 ===== | ||
| + | * 預計讓所有 sftp 使用者上來的根目錄為 / | ||
| + | < | ||
| + | jk_init -v -j / | ||
| + | jk_init -v -j / | ||
| + | </ | ||
| + | |||
| + | ===== - 建立 sftp 使用者 ===== | ||
| + | * 預計建立 sftpuser 當預設使用者以及 sftpuser1, sftpuser2 兩位實際使用者, | ||
| + | < | ||
| + | useradd sftpuser | ||
| + | useradd -g sftpuser sftpuser1 | ||
| + | useradd -g sftpuser sftpuser2 | ||
| + | passwd sftpuser <- 設定 sftpuser 密碼 | ||
| + | passwd sftpuser1 <- 設定 sftpuser1 密碼 | ||
| + | passwd sftpuser2 <- 設定 sftpuser2 密碼 | ||
| + | jk_jailuser -m -j / | ||
| + | jk_jailuser -m -j / | ||
| + | jk_jailuser -m -j / | ||
| + | </ | ||
| + | * 建立完成之後可以在 /etc/passwd 看到如下的結果: | ||
| + | < | ||
| + | : | ||
| + | sftpuser: | ||
| + | sftpuser1: | ||
| + | sftpuser2: | ||
| + | </ | ||
| + | * 在 / | ||
| + | < | ||
| + | : | ||
| + | sftpuser: | ||
| + | sftpuser1: | ||
| + | sftpuser2: | ||
| + | </ | ||
| + | |||
| + | ===== - 建立虛擬 log device ===== | ||
| + | * jk_lsh 可能會出現一些訊息紀錄, | ||
| + | < | ||
| + | service syslog stop | ||
| + | syslogd -a / | ||
| + | service syslog start | ||
| + | </ | ||
| + | * 這樣應該會自動更改到 / | ||
| + | < | ||
| + | [/ | ||
| + | base=512 | ||
| + | peak=2048 | ||
| + | interval=10 | ||
| + | </ | ||
| + | * 然後重新啟動 jailkit 的 daemon | ||
| + | < | ||
| + | service jailkit restart | ||
| + | </ | ||
| + | |||
| + | ===== - 設定 sftpuser 群組使用者權限 ===== | ||
| + | * 編輯 / | ||
| + | < | ||
| + | [group sftpuser] | ||
| + | paths= /usr/bin, /usr/lib/ | ||
| + | executables= / | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | * 這樣的設定針對 **[[tech: | ||
| + | <code sh> | ||
| + | cp id_dsa.pub / | ||
| + | </ | ||
| + | 將權限設定正確 | ||
| + | <code sh> | ||
| + | chown -R sftpuser: | ||
| + | chmod 600 / | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== 參考資料 ===== | ||
| + | * [[http:// | ||
| + | |||
| + | {{tag> | ||