FTP配置受限用戶以及可能碰到的問題(轉)

開發中有個需求,需要在服務器開通一個FTP賬號給其他人用,讓他們上傳東西到我們的服務器。但是又不能讓他們訪問主機的其他目錄,所以用到vsftpd這個東西。

我們的主機系統是RHEL 9 ,自帶了 vsftpd,如果你的系統沒有vsftpd,先自行安裝一個,可以上網搜索如何安裝。

設置步驟:

1.假設需要建立FTP登陸用戶名爲test。被限制路徑爲/home/test

2.linux建立用戶 :

useradd -d /home/test test //增加用戶test,並制定test用戶的主目錄爲/home/test
passwd test //爲test設置密碼

3.權限設置

   a.關閉用戶test telnet權限,使其不能通過ssh登陸,只能通過vsftpd的調用登陸

      usermod -s /sbin/nologin test

   b.vsftpd調用系統驗證用戶登錄時的bin目錄

      usermod -s /bin/bash test

   c.usermod -d /home/test test 更改用戶test的主目錄爲/home/test

4.限制用戶只能訪問/home/test,不能訪問其他路徑

修改/etc/vsftpd/vsftpd.conf如下:

 

chroot_list_enable=YES //限制訪問自身目錄
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

保存退出

5.修改 /etc/vsftpd/vsftpd.chroot_list  (將受限制的用戶添加進去,每個用戶名一行)

在第一行加上 test

6 重啓vsFTPd服務器
/etc/init.d/vsftpd restart 或者 service vsftpd restart

 

7.如果需要允許用戶修改密碼,但是又沒有telnet登錄系統的權限:

 

usermod -s /usr/bin/passwd test //用戶telnet(SSH)後將直接進入改密界面

 

可能出現問題

1.vsftp 500 OOPS: cannot change directory

在終端輸入命令:

setsebool -P ftpd_disable_trans 1

 

service vsftpd restart

 

這樣每次重啓機器都可以了·

原因就在SELinux。

2.連接時出現

530 Login incorrect

這種情況多數是配置用戶的問題,網上的解決方法不一

如果出現這種情況,再執行一次

usermod -s /bin/bash test 試試

目錄 /bin/bash 一定要存在

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章