centOS 7.1.1503 搭建vsftpd環境-使用虛擬用戶登錄

簡要:centOS搭建vsftpd環境,使用虛擬用戶登錄,在服務器上傳下載文件。
一,vsftpd配置
1,安裝vsftpd(sudo yum install vsftpd),查看(rpm -qa |grep vsftpd)。

    $ rpm -qa |grep vsftpd
vsftpd-3.0.2-9.el7.x86_64

2,修改配置文件(vi /etc/vsftpd/vsftpd_conf),anonymous_enable=NO/local_enable=YES(使用賬號登錄,不允許匿名登錄),
ascii_*=YES(支持ascii),
chroot_*=YES(chroot到用戶目錄),chroot_list_file=/etc/vsftpd/chroot_list(chroot目錄列表),
使用pam插入認證(pam_service_name=vsftpd),
guest_enable啓用虛擬用戶,
user_config_dir=/etc/vsftpd/vuser_conf虛擬用戶列表,
映射虛擬用戶爲本地用戶ftp,
pasv_*使用被動模式。
查看配置。

    $ sudo grep '^[^#]' /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd
userlist_enable=YES
pasv_enable=yes
pasv_min_port=6000
pasv_max_port=7000
guest_enable=YES
guest_username=ftp  #虛擬化用戶登錄
user_config_dir=/etc/vsftpd/vuser_conf

3創建chroot_list_file,使用本地用戶ftp。

    $ cat /etc/vsftpd/chroot_list 
ftp

4創建虛擬用戶,奇數行賬號,偶數行密碼。

    $ cat /etc/vsftpd/vuser_pwd.txt 
ftp1
ftp1
ftp2
ftp2
public
public

5創建虛擬用戶pam認證。

    $ sudo db_load -T -t hash -f /etc/vsftpd/vuser_pwd.txt /etc/vsftpd/vuser_pwd.db

6配置pam認證(/etc/pam.d/vsftpd)。

    $ sudo grep '^[^#]' /etc/pam.d/vsftpd
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_pwd            #LONG_BIT=64
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_pwd         #LONG_BIT=64

7創建虛擬用戶配置文件(/etc/vsftpd/vuser_conf/ftp1),用戶名即爲配置文件,local_root用戶自定義(mkdir /var/ftp/ftp1)。

    $ cat /etc/vsftpd/vuser_conf/ftp1
local_root=/var/ftp/ftp1
write_enable=YES
anon_world_readable_only=NO
anon_mkdir_write_enable=YES
    $ sudo mkdir /var/ftp/ftp1/upload
    $ sudo chmod -R 555 /var/ftp/ftp1
    $ sudo chmod -R 777 /var/ftp/ftp1/upload

8設置selinux權限。

    $ setsebool -P allow_ftpd_full_access=1  

二,防火牆配置
1,防火牆放行端口。

    $ sudo firewall-cmd --permanent --zone=public --add-port=21/tcp
    $ sudo firewall-cmd --permanent --zone=public --add-port=20/tcp
    $ sudo firewall-cmd --permanent --zone=public --add-port=6000-7000/tcp

2,重新獲取配置

    $ sudo firewall-cmd --reload
    $ sudo systemctl restart vsftpd #重啓ftp服務
    $ sudo systemctl enable vsftpd #開機啓動ftp服務

BTW:1注意chroot目錄權限。2防火牆端口放行。3啓用ftp被動模式。

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