搭建vsftpd服務器及簡單配置

搭建ftp服務器

說明:
操作系統:Red Hat 7.0
vsftpd版本:3.0.2
目標:
通過配置ftp服務器,向外提供文件傳輸服務

安裝vsftpd服務器

# yum install vsftpd -y  

安裝vsftpd

備份配置文件

# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak
# grep -v "#" /etc/vsftpd/vsftpd.confbak > /etc/vsftpd/vsftpd.conf

查看默認配置文件

# cat /etc/vsftpd/vsftpd.conf

anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

使用默認配置啓動vsftpd

# systemctl start vsftpd
# systemctl status vsftpd

vsftpd狀態

添加系統服務

# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'

防火牆設置(防火牆配置請參考配置iptables或firewalld配置)

# systemctl stop firewalld.service 
# systemctl stop  iptables.service
# 關閉selinux

匿名登陸

ftp匿名訪問模式是不安全的服務模式,正式環境不允許匿名登陸

匿名登陸

配置ftp

配置本地用戶模式

# cat /etc/vsftpd/vsftpd.conf

anonymous_enable=NO #禁止匿名訪問
local_enable=YES #允許本地用戶模式
write_enable=YES #允許寫入
local_umask=022 #本地用戶文件umask值
userlist_deny=YES #禁止list中的用戶值爲NO則爲僅允許名單
userlist_enable=YES #允許”禁止登陸名單”,名單文件爲ftpuser與user_list
dirmessage_enable=YES #是否激活目錄歡迎信息功能
xferlog_enable=YES #記錄服務器上傳和下載情況的日誌文件
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
tcp_wrappers=YES

重啓服務:

# systemctl restart vsftpd.service

查看禁止登陸用戶:
禁止登陸用戶

添加普通用戶:

# useradd moxiaokai
# passwd moxiaokai
    Changing password for user moxiaokai.
    New password: 
    BAD PASSWORD: The password is a palindrome
    Retype new password: 
    passwd: all authentication tokens updated successfully.

在客戶端嘗試登陸ftp:
普通用戶登陸

配置虛擬用戶模式

添加虛擬用戶:

單行爲賬號,雙行爲密碼

# cd /etc/vsftpd/
# vi vuser.list
    moxiaokai
    pa33word
    cy
    pa22word

生成數據庫文件:

生成庫文件:

# db_load -T -t hash -f vuser.list vuser.db
# file vuser.db 
    vuser.db: Berkeley DB (Hash, version 9, native byte-order)

授權:

# chmod 600 vuser.db 

刪除原始文件:

# rm -f vuser.list

創建ftp根目錄及虛擬用戶映射系統用戶

# useradd -d /var/ftproot/ -s /sbin/nologin vmxk
# chmod -Rf 755 /var/ftproot/

建立PAM文件

# vim /etc/pam.d/vsftpd.vu
    auth       required     pam_userdb.so db=/etc/vsftpd/vuser
    account    required     pam_userdb.so db=/etc/vsftpd/vuser

配置vsftp

# vim /etc/vsftpd/vsftpd.conf
    anonymous_enable=NO
    local_enable=YES
    guest_enable=YES
    guest_username=vmxk
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    listen=NO
    listen_ipv6=YES
    pam_service_name=vsftpd.vu
    userlist_enable=YES
    tcp_wrappers=YES
    allow_writeable_chroot=YES
    user_config_dir=/etc/vsftpd/vusers_dir

創建目錄&文件:

# mkdir /etc/vsftpd/vusers_dir
# cd /etc/vsftpd/vusers_dir
# touch moxiaokai
# vim moxiaokai
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES

重啓vsftpd服務:

# systemctl restart vsftpd.service

使用虛擬用戶登錄:

虛擬用戶登錄


更新日期:2017年11月29日

實際上按照如下操作百分百能夠使用:

centos7.4,vsftpd 3.0.2:
1.創建一個目錄
mkdir /data/ftp
2.創建一個FTP用戶
useradd -d /data/ftp -s /sbin/nologin ftpuser
passwd ftpuser
3.更改目錄所有者及目錄權限
chown -R ftpuser:ftpuser /data/ftp
chmod -R 755 /data/ftp
4.修改vsftpd的配置文件
vim /etc/vsftpd/vsftpd.conf
YES 改成 NO
anonymous_enable=NO
去掉前面的#
chroot_local_user=YES
添加一行
allow_writeable_chroot=YES

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