CentOS 7 安裝配置 Vsftpd配置虛擬用戶

CentOS 7 安裝配置 Vsftpd

vsftpd 是“very secure FTP daemon”的縮寫,是一款在Linux發行版中最受推崇的 FTP 服務器程序。特點是小巧輕快,安全易用。支持很多其他的 FTP 服務器所不支持的特徵,比如:非常高的安全性需求、帶寬限制、良好的可伸縮性、可創建虛擬用戶、支持IPv6、速率高等。

安裝 Vsftpd

安裝 Vsftpd

更新 yum 源

yum -y update

檢查是否已安裝:

rpm -qa | grep vsftpd

如果無,則安裝:

yum -y install vsftpd

如果有,則更新:

yum -y update vsftpd

查看版本信息:

vsftpd -v

vsftpd: version 3.0.2

啓動 vsftpd 服務:

systemctl start vsftpd.service

設置開機啓動:

systemctl enable vsftpd.service

安裝依賴工具

安裝 Berkeley DB,用於生成虛擬用戶數據 db 文件:(centos 7需要先安裝epel yum 源)

yum -y install db4-utils

安裝 PAM,用於用戶認證:

yum -y install pam*

配置 Vsftpd

核心配置

備份默認的配置文件:

mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

重新創建配置文件:

vi /etc/vsftpd/vsftpd.conf

添加配置信息**(注意等號兩邊不能有空格)**:

anonymous_enable=NO
local_enable=YES
local_umask=022
#tcp_wrappers=NO
reverse_lookup_enable=NO
pam_service_name=vsftpd
#userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
#chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
#listen=YES
listen_port=21
connect_from_port_20=YES
pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=8000
pasv_max_port=8100
#accept_timeout=120
connect_timeout=120
data_connection_timeout=180
idle_session_timeout=600
local_max_rate=0
#dirmessage_enable=NO
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
#log_ftp_protocol=YES
xferlog_std_format=YES
#guest_enable=YES
guest_username=root
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vuser_conf

注意:guest_username 一般填寫目錄所有者,一般爲 root 或者 www、ftp 等。

虛擬用戶權限配置

備份 user_list(允許訪問 FTP 的用戶名單):

mv /etc/vsftpd/user_list /etc/vsftpd/user_list.bak

Shell

Copy

重新創建 user_list 文件並添加允許訪問的 FTP 用戶名(一行一個):

vi /etc/vsftpd/user_list

創建 chroot_list 文件:

touch /etc/vsftpd/chroot_list

如果有允許訪問上級目錄的用戶,在該文件中添加用戶名(一行一個)。

虛擬用戶獨立配置

新建虛擬用戶獨立配置路徑文件夾:

mkdir /etc/vsftpd/vuser_conf

添加虛擬用戶獨立配置(文件名爲用戶名):

vi /etc/vsftpd/vuser_conf/test

寫入該用戶的獨立配置:

local_root=/home/wwwroot/www.xxx.com
write_enable=YES
download_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

注意: local_root 爲 FTP 用戶根目錄。

日誌文件

創建日誌文件:

touch /var/log/vsftpd.log

設置文件權限:

chown ftp:ftp /var/log/vsftpd.log

重啓 Vsftpd:

systemctl restart vsftpd.service

虛擬用戶認證

生成用戶認證文件

添加虛擬用戶認證文件:

vi /etc/vsftpd/vsftpd_vuser

在文件中添加虛擬用戶名和密碼,奇數行用戶名,偶數行密碼:

testtest123

生成虛擬用戶認證文件**(每次修改虛擬用戶密碼均需重新生成一次)**:

db_load -T -t hash -f /etc/vsftpd/vsftpd_vuser /etc/vsftpd/vsftpd_vuser.db

如果出現以下錯誤:

db_load: unexpected end of input data or key/data pair、db_load: odd number of key/data pairs

請在 /etc/vsftpd/vsftpd_vuser 最後添加一行空行,再嘗試生成用戶認證文件。

設置文件權限,只有 root 用戶可以讀寫:

chmod 600 /etc/vsftpd/vsftpd_vuser.db

配置 PAM

備份 vsftpd 的 PAM 認證文件:

mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

重新創建 PAM 文件:

vi /etc/pam.d/vsftpd

添加配置:

auth required pam_userdb.so db=/etc/vsftpd/vsftpd_vuser
account required pam_userdb.so db=/etc/vsftpd/vsftpd_vuser

64 位系統再在下面添加以下兩行

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_vuser

防火牆設置

查看 ftp 服務是否已經永久啓用:

firewall-cmd --permanent --query-service=ftp

如果沒有,則啓用 ftp 服務:

firewall-cmd --permanent --add-service=ftp

給 ftp 服務添加 vsftpd 命令傳輸端口和被動模式端口:

# 添加 vsftpd 命令傳輸端口 20/tcpfirewall-cmd --permanent --service=ftp --add-port=20/tcp# 添加上面設置的被動模式端口段 8000-8100/tcpfirewall-cmd --permanent --service=ftp --add-port=8000-8100/tcp、

查看下次重啓(防火牆重新加載、服務器重啓或者系統重啓)之後永久生效的服務:

firewall-cmd --permanent --list-service

查看下次重啓(防火牆重新加載、服務器重啓或者系統重啓)之後永久生效的 ftp 服務的信息:

firewall-cmd --permanent --info-service=ftp

ftp
ports: 21/tcp 20/tcp 8000-8100/tcp
protocols:
source-ports:
modules: ftp
destination:

重新加載防火牆規則:

firewall-cmd --reload

注意: 阿里雲主機需要在安全組規則中添加入方向的 20/tcp, 21/tcp, 8000-8100/tcp 端口。

FTP 客戶端

推薦使用免費開源的全平臺支持的 FileZilla:FileZilla 官方下載

添加站點信息,常規配置即可:

  • 主機:填寫主機 IP

  • 端口:如果沒改過端口不需填寫

  • 協議:FTP - 文件傳輸協議

  • 加密:只使用普通的 FTP

  • 登錄類型:正常

  • 用戶:test

  • 密碼:test123

高級配置:

  • 默認本地目錄:選擇電腦上面需要和服務器上面傳輸文件的路徑

  • 默認遠程目錄:一般情況下是根目錄,就填寫 /

  • 同步瀏覽:開啓後在兩邊界面切換目錄時會同步切換,只有一邊有的目錄會提示是否下載或上傳

  • 比較瀏覽:會高亮顯示兩邊不同的文件或目錄,對齊顯示都有的文件或目錄


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