用rssh配置chroot的sftp

    平常網絡管理中上傳和下載文件,廣泛都是使用ftp,可是因爲ftp的安全性。咱們如今都會使用sftp和scp替代ftp。可是咱們更但願用戶只能scp和sftp來傳文件,不但願用戶能登陸系統。     rssh就是這樣一個軟件,能夠配合openssh把用戶chroot在特定目錄內上傳和下載,並使該用戶沒法登陸終端shell。     從 http://www.pizzashack.org/rssh/ 下載 rssh-2.3.2.tar.gz。     編譯安裝rssh:     $./configure –prefix=/usr --sysconfdir=/etc     $make     $su -     #make install     新增一名用戶做測試:     #useradd test   #安裝普通方式創建用戶     #usermod -s /usr/bin/rssh  test   #更改用戶的shell     #sh mkchroot.sh /home/test    #設置用戶登陸的目錄爲chroot     #vi /etc/rssh.conf     修改一下參數:     allowsftp     user=077:00010:「/home/test」     FAQ     因爲用戶登陸進chroot目錄中後即沒法訪問/dev/log,因此用下面的命令在chroot目錄中創建一個FIFO文件.         # service syslog stop         # /sbin/syslogd -a /home/test/dev/log         # service syslog start         查看/home/test/dev下面多了一個log文件。 10. # mknod -m 666 /home/test/dev/null c 1 3     # 此處會解決在Linux下用sftp鏈接時提示connection closed,而且syslog中沒有任何錯誤提 示的狀況。 11. 此時在linux下使用 # sftp read@serverip 或者 在win下使用filezilla經過sftp方式便可登陸。 問:想把用戶限制在某個特定的目錄下,該怎麼辦? 答:好比把read用戶限制在 /usr/local/tomcat/webapps/ 下面,則:       1.  確保 /etc/passwd 中read用戶的登陸shell爲/usr/local/bin/rssh       2.  複製 /opt/chroot/user/ 下面的全部內容到/usr/local/tomcat/webapps 下面,而後修改/usr/local/tomcat/webapps下面的dev、etc等剛複製 過來的目錄的擁有者爲read,而且修改chroot目錄下的 home/read的全部者和組爲read。         3.  編輯/usr/local/etc/rssh.conf,修改user=.....中的目錄到相應目錄便可。 4.   登陸測試。 問:我想再添加一個受限用戶,咋辦? 答:涼拌。        1。 # useradd -s /usr/local/bin/rssh rsshtest & passwd rsshtest        2。 # grep rsshtest /etc/passwd >> /opt/chroot/user/etc/passwd        4。 編輯/usr/local/etc/rssh.conf,添加 user=rsshtest:022:00011:"/opt/chroot/user"        5。而後便可登錄測試,若是想限制在其餘特定的目錄中,請參考上面的問題解答。 注意:        1.   若是在不一樣的chroot目錄中,只有從新執行/sbin/syslogd -a /chroot/user/dev/log才能在日誌中記錄新的用戶的信息。        2.  若是不能登陸,試着把/chroot/user/dev/下的null刪了重建。        3.  若是在/etc/ssh/sshd_config中作了allowUsers的限制,確保新加的用戶在容許列表裏面。 問:我徹底按照你的步驟作了,但win下使用filezilla沒法登陸,系統日誌中提示: 答:執行 ldd /usr/libexec/openssh/sftp-server,出現下面的文件,         libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00002aaaaacc6000)         libutil.so.1 => /lib64/libutil.so.1 (0x00002aaaab00d000)         libz.so.1 => /usr/lib64/libz.so.1 (0x00002aaaab210000)         libnsl.so.1 => /lib64/libnsl.so.1 (0x00002aaaab425000)         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002aaaab63c000)         libresolv.so.2 => /lib64/libresolv.so.2 (0x00002aaaab870000)         libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00002aaaaba86000)         libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00002aaaabcb0000)         libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00002aaaabf38000)         libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00002aaaac15e000)         libdl.so.2 => /lib64/libdl.so.2 (0x00002aaaac360000)         libc.so.6 => /lib64/libc.so.6 (0x00002aaaac564000)         libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00002aaaac8b3000)         /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)        檢查 /opt/chroot/user下對應的目錄中是否有上面所列的文件,沒有的話複製進來,完成後再試就能夠了。 本文參考以下文章: http://hi.baidu.com/feixingqi/blog/item/27f70d33fdd866fd1b4cff5d.html http://www.dup2.org/node/296
相關文章
相關標籤/搜索