@
目錄
- 一、準備環境
- 1.軟體準備
- 2.檢查是否已安裝
- 二、下載及安裝
- 方式一:yum下載及安裝
- 方式二:yumdownloade下載及安裝
- 方式三:離線
- 三、配置
- 1.配置開機啟動
- (1)檢視vsftp服務狀態
- (2)設定開機啟動
- 2.防火牆設定
- 方式一:關閉防火牆
- 方式二:防火牆開放埠
- 3.vsftp.conf配置
- 4.配置vsftpd檔案
- (1)備份vsftpd檔案
- (2)編輯vsftpd檔案
- (3)修改內容為如下:
- (4)重啟服務
- 5.建立虛擬使用者
- (1)建立虛擬使用者
- (2)虛擬使用者配置許可權及目錄
- ftp1內容如下
- 1.配置開機啟動
- 一、準備環境
- 1.軟體準備
- 2.檢查是否已安裝
- 二、下載及安裝
- 方式一:yum下載及安裝
- 方式二:yumdownloade下載及安裝
- 方式三:離線
- 三、配置
- 1.配置開機啟動
- (1)檢視vsftp服務狀態
- (2)設定開機啟動
- 2.防火牆設定
- 方式一:關閉防火牆
- 方式二:防火牆開放埠
- 3.vsftp.conf配置
- 4.配置vsftpd檔案
- (1)備份vsftpd檔案
- (2)編輯vsftpd檔案
- (3)修改內容為如下:
- (4)重啟服務
- 5.建立虛擬使用者
- (1)建立虛擬使用者
- (2)虛擬使用者配置許可權及目錄
- ftp1內容如下
- 1.配置開機啟動
一、準備環境
1.軟體準備
- OS版本:centos-release-7-8.2003.0.el7.centos.x86_64
- vsftp版本:vsftpd-3.0.2-28.el7.x86_64.rpm
rpm -q centos-release #檢視OS版本
2.檢查是否已安裝
rpm -qa | grep vsftpd
二、下載及安裝
方式一:yum下載及安裝
yum -y install vsftp
方式二:yumdownloade下載及安裝
# 1.安裝yumdownloade外掛
yum install yum-utils -y
# 2.列出能聯網系統的所有可安裝的vsftpd軟體
yum list | grep vsftpd
# 3.下載到指定目錄
下載軟體包vsftpd.x86_64及依賴到指定目錄(當前目錄)
yumdownloader vsftpd.x86_64 --resolve --destdir=.
yumdownloader vsftpd-sysvinit.x86_64 --resolve --destdir=.
# 4. 安裝:
rpm -ivh --replacefiles /root/vsftpd*.rpm
方式三:離線
- 下載地址:https://pkgs.org/download/vsftpd
- 下載:vsftpd-3.0.2-28.el7.x86_64.rpm
- 安裝:rpm -ivh --replacefiles /root/vsftpd*.rpm
三、配置
1.配置開機啟動
(1)檢視vsftp服務狀態
# 檢視狀態
service vsftpd status
#開啟
service vsftpd start
#停止
service vsftpd stop
#重啟
service vsftpd restart
(2)設定開機啟動
# 檢視是否開機啟動:
systemctl is-enabled vsftpd.service
# 設定開機自啟動:
systemctl enable vsftpd.service
# 檢視開機啟動服務列表:
systemctl list-unit-files|grep enabled
# 檢視啟動失敗的服務列表:
systemctl --failed
2.防火牆設定
方式一:關閉防火牆
# 1.檢視防火牆狀態
systemctl status firewalld.service
# 2.關閉防火牆
systemctl stop firewalld.service
方式二:防火牆開放埠
# 暫時開放
firewall-cmd --add-service=ftp
# 永久開放
firewall-cmd --add-service=ftp --permanent
# 使配置生效
firewall-cmd --reload
# 檢視服務
firewall-cmd --list-service
3.vsftp.conf配置
檢視原始配置:cat /etc/vsftpd/vsftpd.conf |grep -v ^#
# vsftp.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
# 1.配置前先備份:
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
# 2.編輯內容
vi /etc/vsftpd/vsftpd.conf
vsftpd.conf內容修改為如下:
#設定不允許匿名訪問
anonymous_enable=NO
#設定本地使用者可以訪問。注:如使用虛擬宿主使用者,在該專案設定為NO的情況下所有虛擬使用者將無法訪問
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
#記錄上傳下載檔案的日誌
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=ftp
#日誌記錄檔案位置
xferlog_file=/var/log/vsftpd.log
#格式化日誌
xferlog_std_format=YES
#設定支援ASCII模式的上傳和下載功能
ascii_upload_enable=YES
ascii_download_enable=YES
#使使用者不能離開主目錄
chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES
#監聽IPv4,sockets
listen=YES
#註釋IPv6,sockets監聽
#listen_ipv6=YES
#PAM認證檔名。PAM將根據/etc/pam.d/vsftpd進行認證
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=YES
#/etc/vsftpd/user_list中的使用者禁止登入ftp
#如果只配置userlist_enable=YES,有可能出現錯誤“530 Permission denied”,因此加上如下配置
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES
#設定啟用虛擬使用者功能
guest_enable=YES
#指定虛擬使用者的宿主使用者,CentOS中已經有內建的ftp使用者了
guest_username=ftp
#設定虛擬使用者個人vsftp的CentOS FTP服務檔案存放路徑。存放虛擬使用者個性的CentOS,FTP服務檔案(配置檔名=虛擬使用者名稱)
user_config_dir=/etc/vsftpd/vuser_conf
pasv_min_port=61001
pasv_max_port=62000
#檔案上傳下載許可權設定
allow_writeable_chroot=YES
anon_umask=022
file_open_mode=777
#虛擬使用者和本地使用者有相同的許可權
virtual_use_local_privs=YES
4.配置vsftpd檔案
(1)備份vsftpd檔案
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.backup
(2)編輯vsftpd檔案
vi /etc/pam.d/vsftpd
(3)修改內容為如下:
##1. 檢視系統版本號
getconf LONG_BIT
#系統為32位的
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
#系統為64位的
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
(4)重啟服務
systemctl restart vsftpd.service
5.建立虛擬使用者
(1)建立虛擬使用者
# 1.建立chroot list
touch /etc/vsftpd/chroot_list
# 2.將vftpd.conf配置檔案中的guest_username
echo ftp >> /etc/vsftpd/chroot_list
# 3.建立使用者密碼檔案,並寫入內容
touch /etc/vsftpd/vuser_passwd.txt
##注意奇行是使用者名稱,偶行是密碼
ftp1
1qaz@WSX
# 4.生成虛擬使用者認證的db檔案
# 如果沒有db4需要先進行安裝。安裝Berkeley DB工具:
yum install db4 db4-utils
# 5.生成虛擬使用者認證的db檔案,每次新加使用者重新執行
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
(2)虛擬使用者配置許可權及目錄
# 1.建立虛擬使用者配置
mkdir /etc/vsftpd/vuser_conf/
# 2.檔名等於vuser_passwd.txt裡面的賬戶名,否則下面設定無效
vi /etc/vsftpd/vuser_conf/ftp1
# 3.建立虛擬使用者目錄
mkdir -p /data/ftp1/upload
# 4.目錄授權
chmod -R 777 /data/ftp1/upload
ftp1內容如下
#虛擬使用者根目錄,根據實際情況修改(如果沒有需要建立)。該目錄必須要有讀寫許可權 chmod -R 777 目錄。
local_root=/data/ftp1/upload
#可寫
write_enable=YES
#掩碼
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
一、準備環境
1.軟體準備
- OS版本:centos-release-7-8.2003.0.el7.centos.x86_64
- vsftp版本:vsftpd-3.0.2-28.el7.x86_64.rpm
rpm -q centos-release #檢視OS版本
2.檢查是否已安裝
rpm -qa | grep vsftpd
二、下載及安裝
方式一:yum下載及安裝
yum -y install vsftp
方式二:yumdownloade下載及安裝
# 1.安裝yumdownloade外掛
yum install yum-utils -y
# 2.列出能聯網系統的所有可安裝的vsftpd軟體
yum list | grep vsftpd
# 3.下載到指定目錄
下載軟體包vsftpd.x86_64及依賴到指定目錄(當前目錄)
yumdownloader vsftpd.x86_64 --resolve --destdir=.
yumdownloader vsftpd-sysvinit.x86_64 --resolve --destdir=.
# 4. 安裝:
rpm -ivh --replacefiles /root/vsftpd*.rpm
方式三:離線
- 下載地址:https://pkgs.org/download/vsftpd
- 下載:vsftpd-3.0.2-28.el7.x86_64.rpm
- 安裝:rpm -ivh --replacefiles /root/vsftpd*.rpm
三、配置
1.配置開機啟動
(1)檢視vsftp服務狀態
# 檢視狀態
service vsftpd status
#開啟
service vsftpd start
#停止
service vsftpd stop
#重啟
service vsftpd restart
(2)設定開機啟動
# 檢視是否開機啟動:
systemctl is-enabled vsftpd.service
# 設定開機自啟動:
systemctl enable vsftpd.service
# 檢視開機啟動服務列表:
systemctl list-unit-files|grep enabled
# 檢視啟動失敗的服務列表:
systemctl --failed
2.防火牆設定
方式一:關閉防火牆
# 1.檢視防火牆狀態
systemctl status firewalld.service
# 2.關閉防火牆
systemctl stop firewalld.service
方式二:防火牆開放埠
# 暫時開放
firewall-cmd --add-service=ftp
# 永久開放
firewall-cmd --add-service=ftp --permanent
# 使配置生效
firewall-cmd --reload
# 檢視服務
firewall-cmd --list-service
3.vsftp.conf配置
檢視原始配置:cat /etc/vsftpd/vsftpd.conf |grep -v ^#
# vsftp.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
# 1.配置前先備份:
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
# 2.編輯內容
vi /etc/vsftpd/vsftpd.conf
vsftpd.conf內容修改為如下:
#設定不允許匿名訪問
anonymous_enable=NO
#設定本地使用者可以訪問。注:如使用虛擬宿主使用者,在該專案設定為NO的情況下所有虛擬使用者將無法訪問
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
#記錄上傳下載檔案的日誌
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=ftp
#日誌記錄檔案位置
xferlog_file=/var/log/vsftpd.log
#格式化日誌
xferlog_std_format=YES
#設定支援ASCII模式的上傳和下載功能
ascii_upload_enable=YES
ascii_download_enable=YES
#使使用者不能離開主目錄
chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES
#監聽IPv4,sockets
listen=YES
#註釋IPv6,sockets監聽
#listen_ipv6=YES
#PAM認證檔名。PAM將根據/etc/pam.d/vsftpd進行認證
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=YES
#/etc/vsftpd/user_list中的使用者禁止登入ftp
#如果只配置userlist_enable=YES,有可能出現錯誤“530 Permission denied”,因此加上如下配置
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES
#設定啟用虛擬使用者功能
guest_enable=YES
#指定虛擬使用者的宿主使用者,CentOS中已經有內建的ftp使用者了
guest_username=ftp
#設定虛擬使用者個人vsftp的CentOS FTP服務檔案存放路徑。存放虛擬使用者個性的CentOS,FTP服務檔案(配置檔名=虛擬使用者名稱)
user_config_dir=/etc/vsftpd/vuser_conf
pasv_min_port=61001
pasv_max_port=62000
#檔案上傳下載許可權設定
allow_writeable_chroot=YES
anon_umask=022
file_open_mode=777
#虛擬使用者和本地使用者有相同的許可權
virtual_use_local_privs=YES
4.配置vsftpd檔案
(1)備份vsftpd檔案
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.backup
(2)編輯vsftpd檔案
vi /etc/pam.d/vsftpd
(3)修改內容為如下:
##1. 檢視系統版本號
getconf LONG_BIT
#系統為32位的
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
#系統為64位的
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
(4)重啟服務
systemctl restart vsftpd.service
5.建立虛擬使用者
(1)建立虛擬使用者
# 1.建立chroot list
touch /etc/vsftpd/chroot_list
# 2.將vftpd.conf配置檔案中的guest_username
echo ftp >> /etc/vsftpd/chroot_list
# 3.建立使用者密碼檔案,並寫入內容
touch /etc/vsftpd/vuser_passwd.txt
##注意奇行是使用者名稱,偶行是密碼
ftp1
1qaz@WSX
# 4.生成虛擬使用者認證的db檔案
# 如果沒有db4需要先進行安裝。安裝Berkeley DB工具:
yum install db4 db4-utils
# 5.生成虛擬使用者認證的db檔案,每次新加使用者重新執行
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
(2)虛擬使用者配置許可權及目錄
# 1.建立虛擬使用者配置
mkdir /etc/vsftpd/vuser_conf/
# 2.檔名等於vuser_passwd.txt裡面的賬戶名,否則下面設定無效
vi /etc/vsftpd/vuser_conf/ftp1
# 3.建立虛擬使用者目錄
mkdir -p /data/ftp1/upload
# 4.目錄授權
chmod -R 777 /data/ftp1/upload
ftp1內容如下
#虛擬使用者根目錄,根據實際情況修改(如果沒有需要建立)。該目錄必須要有讀寫許可權 chmod -R 777 目錄。
local_root=/data/ftp1/upload
#可寫
write_enable=YES
#掩碼
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES