Linux下安裝vsftpd


一.安裝vsftpd及相關依賴包

#vsftpd安裝程序和依賴表
yum install -y vsftpd pam* db4*

安裝完之后,vsftpd默認在/etc/vsftpd目錄下 

 

二.修改vsftpd.conf (/etc/vsftpd/vsftpd.conf)

#建立相關文件和文件夾
touch /etc/vsftpd/chroot_list
mkdir /etc/vsftpd/ftplogin
#修改vsftpd.conf
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
vim /etc/vsftpd/vsftpd.conf
#原有配置的修改
anonymous_enable=NO
chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list pam_service_name=vvsftpd #新增配置 guest_enable=YES guest_username=www user_config_dir=/etc/vsftpd/ftplogin

完整配置如下(伸手黨福音),直接覆蓋即可,千萬不要忘記備份原文件

anonymous_enable=NO
local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES listen=YES userlist_enable=YES tcp_wrappers=YES guest_enable=YES guest_username=www user_config_dir=/etc/vsftpd/ftplogin pam_service_name=vvsftpd

 

三.建立FTP虛擬登陸賬戶

1.創建密碼明文文件

touch /etc/vsftpd/vuser
vi /etc/vsftpd/vuser

格式為:

用戶名1
用戶名1密碼
用戶名2
用戶名2密碼
...........

2.生成pam校驗數據庫文件

db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/login.db

為了安全期間,建議在生成校驗數據庫之后,刪除vuser文件

或者修改vuser權限,不讓別的用戶讀(root大神如果被攻陷,那就沒什么好說的了)

chmod 600 /etc/vsftpd/vuser

3.添加新的pam service 

touch /etc/pam.d/vvsftpd
vim /etc/pam.d/vvsftpd

 內容如下(注意如果是32位系統,那就用32位的校驗,本例是64位的):

#%PAM-1.0
#auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login
#account required /lib/security/pam_userdb.so db=/etc/vsftpd/login
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login

4.給FTP虛擬用戶賦權(增加權限配置文件)

配置文件存放路徑,就是conf中的user_config_dir,本文就是/etc/vsftpd/ftplogin,文件名必須和用戶名相同

文件配置詳解,默認路徑需要提前用mkdir建立好,目錄擁有者設置為conf中的guest_username,本文為www

#有上傳/下載/修改權限
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/u01/ftpb/upload/

#只有上傳/修改權限
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
local_root=/u01/ftpb/upload/

#只有下載權限
anon_world_readable_only=NO
local_root=/u01/ftpb/upload/

 5.設置seLinux

setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on

 

#最新測試CentOS 7.6已經沒有ftp_home_dir參數 , 改成tftp_home_dir
setsebool -P tftp_home_dir on

 

如果出現500無法顯示列表的錯誤,主要是iptables設置的問題,請查看相關文章 http://www.cnblogs.com/kreo/p/4368811.html

 

被動模式設置特定端口

 

pasv_enable=yes
pasv_min_port=4500
pasv_max_port=5000

 


免責聲明!

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



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