vsftp配置詳解


一、安裝

# 1.安裝軟件
    $ sudo apt-get install vsftpd
# 2.修改 /etc/shells,避免報錯 530 login incorrect
    $ vi /etc/shells
    增加 /usr/sbin/nologin
# 3.增加ftp賬戶(如果使用系統賬號也可不添加)
    $ sudo useradd -d /home/ftp -g ftp -s /usr/sbin/nologin ftpname
    指定/home/ftp為ftp文件目錄,創建ftpname用戶創建ftp用戶組。
# 4.設置ftpname密碼
    $ sudo passwd ftpname

二、vsftp配置文件

$ sudo vi /etc/vsftpd.conf 重點配置標注下

listen=YES
listen_ipv6=YES
anonymous_enable=NO   # 禁用匿名賬號登陸
local_enable=YES   # 允許本地賬號登陸
write_enable=YES   # 允許ftp的寫操作
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to FTP service.

# 允許寫入跟路徑,這條不加容易出現 500 OOPS: vsftpd: refusing to run with writable root inside chroot () 報錯
allow_writeable_chroot=YES

# 這三條設置用戶限定在ftp文件目錄,不能跨出該目錄外,但在/etc/vsftpd.chroot_list文件中列出的用戶除外。
chroot_local_user=YES   # 所有用戶被限制在ftp目錄內,不能跨出該目錄,除非有例外情況;
chroot_list_enable=YES   # 這里就是例外情況
chroot_list_file=/etc/vsftpd.chroot_list   # 跨目錄例外情況 白名單

secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO

local_root=/home/ftp   # 設置ftp文件主目錄(登陸ftp后顯示的目錄)

# 在 vsftpd.user_list 里的用戶允許登陸ftp,注意同時注釋掉在 ftpuser黑名單 里面的用戶
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list   # 允許ftp登陸賬號 白名單

三、用戶黑白名單實現

1. ftpuser黑名單

/etc/ftpusers 是一個黑名單配置,禁止訪問ftp的用戶,不受任何配置項影響,安裝ftp后默認會把系統默認用戶都存放在這里。

2. userlist_enable/userlist_deny/vsftpd.user_list共同控制

vsftpd.user_list 為白名單還是黑名單受 userlist_enable、userlist_deny 配置控制,一般情況下設置為白名單(即下面第一種配置)。

  • (1) userlist_enable=YES,userlist_deny=NO
    此時 vsftpd.user_list 為白名單,在此列表的用戶可以訪問ftp,其他用戶不能。
  • (2) userlist_enable=YES,userlist_deny=YES
    此時 vsftpd.user_list 為黑名單,在此列表的用戶不能訪問ftp,其他用戶可以。
  • (3) userlist_enable=NO,userlist_deny=YESNO
    所有用戶被允許登陸,此時 userlist_deny 和 userlist_file 配置失效。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM