因為最近有需要提供一個 sftp 的上傳檔案服務,但是不希望使用者可以用到 ssh 登入操作的功能,在 Google 大神的指示下,先找到了 rssh 但是無法成功安裝到 CentOS 5上面, 後來再找到 jailkit, 終於可以將這個合乎需求的開源自由軟體成功安裝與設定完成.
su - root cd /tmp wget http://olivier.sessink.nl/jailkit/jailkit-2.7.tar.gz tar -zxvf jailkit-2.7.tar.gz cd jailkit-2.7 ./configure make make install cp extra/jailkit /etc/init.d/jailkit chmod a+x /etc/init.d/jailkit chkconfig jailkit on
yum install jailkit
下載安裝
chkconfig jailkit on
jk_init -v -j /srv/sftpjail sftp scp jk_init -v -j /srv/sftpjail jk_lsh
useradd sftpuser useradd -g sftpuser sftpuser1 useradd -g sftpuser sftpuser2 passwd sftpuser <- 設定 sftpuser 密碼 passwd sftpuser1 <- 設定 sftpuser1 密碼 passwd sftpuser2 <- 設定 sftpuser2 密碼 jk_jailuser -m -j /srv/sftpjail sftpuser jk_jailuser -m -j /srv/sftpjail sftpuser1 jk_jailuser -m -j /srv/sftpjail sftpuser2
: sftpuser:x:511:511::/srv/sftpjail/./home/sftpuser:/usr/sbin/jk_chrootsh sftpuser1:x:512:511::/srv/sftpjail/./home/sftpuser1:/usr/sbin/jk_chrootsh sftpuser2:x:513:511::/srv/sftpjail/./home/sftpuser2:/usr/sbin/jk_chrootsh
: sftpuser:x:511:511::/home/sftpuser:/usr/sbin/jk_lsh sftpuser1:x:512:511::/home/sftpuser1:/usr/sbin/jk_lsh sftpuser2:x:513:511::/home/sftpuser2:/usr/sbin/jk_lsh
service syslog stop syslogd -a /srv/sftpjail/dev/log service syslog start
[/srv/sftpjail/dev/log] base=512 peak=2048 interval=10
service jailkit restart
[group sftpuser] paths= /usr/bin, /usr/lib/ executables= /usr/bin/scp, /usr/libexec/openssh/sftp-server
cp id_dsa.pub /srv/sftpjail/home/sftpuser/.ssh/authorized_keys2
將權限設定正確
chown -R sftpuser:sftpuser /srv/sftpjail/home/sftpuser/.ssh/ chmod 600 /srv/sftpjail/home/sftpuser/.ssh/authorized_keys2