輔助工具:
使用PuTTY工具連接CentOS服務器,下載地址:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
1.FTP的安裝
#安裝
yum install -y vsftpd #設置開機啟動 systemctl enable vsftpd.service #啟動 systemctl start vsftpd.service
其他命令:
#停止
systemctl stop vsftpd.service
#查看狀態
systemctl status vsftpd.service
2.配置FTP
#打開配置文件
vim /etc/vsftpd/vsftpd.conf
#若報“-bash: vim: 未找到命令”,則先執行下面命令安裝vim,然后再執行上面的命令:
yum -y install vim*
#顯示行號 :set number #修改配置 12 行 anonymous_enable=NO #修改配置 33 行 anon_mkdir_write_enable=YES #修改配置48行 chown_uploads=YES #修改配置72行 async_abor_enable=YES #修改配置83行 ascii_upload_enable=YES #修改配置84行 ascii_download_enable=YES #修改配置87行 ftpd_banner=Welcome to blah FTP service. #修改配置101行 chroot_local_user=YES #添加下列內容到vsftpd.conf末尾 use_localtime=YES listen_port=21 idle_session_timeout=300 guest_enable=YES guest_username=vsftpd user_config_dir=/etc/vsftpd/vconf data_connection_timeout=1 virtual_use_local_privs=YES pasv_min_port=40000 pasv_max_port=40010 accept_timeout=5 connect_timeout=1 allow_writeable_chroot=YES
3.建立用戶文件
#創建編輯用戶文件
vim /etc/vsftpd/virtusers
#第一行為用戶名,第二行為密碼。不能使用root作為用戶名
admin 123456
4.生成用戶數據文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
#設定PAM驗證文件,並指定對虛擬用戶數據庫文件進行讀取
chmod 600 /etc/vsftpd/virtusers.db
5.修改 /etc/pam.d/vsftpd 文件
# 修改前先備份
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
# 編輯/etc/pam.d/vsftpd
vi /etc/pam.d/vsftpd
#先將配置文件中原有的 auth 及 account 的所有配置行均注釋掉,然后在末尾加上:
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
# 如果系統為32位,上面改為lib
6.新建系統用戶vsftpd,用戶目錄為/home/vsftpd
#用戶登錄終端設為/bin/false(即:使之不能登錄系統)
useradd vsftpd -d /home/vsftpd -s /bin/false
chown -R vsftpd:vsftpd /home/vsftpd
“/home/vsftpd”這個目錄你可以改成其他的
7.建立虛擬用戶個人配置文件
mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf
#這里建立虛擬用戶admin配置文件
touch admin
#編輯admin用戶配置文件,內容如下,其他用戶類似
vi admin
local_root=/home/vsftpd/admin/ write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
這個“/home/vsftpd/admin/” 對應FTP目錄,隨便改,和上面一致
#建立admin用戶根目錄
mkdir -p /home/vsftpd/admin/
8.防火牆設置
IPtables 的設置方式:
vi /etc/sysconfig/iptables
#編輯iptables文件,添加如下內容,開啟21端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 40000:40010 -j ACCEPT
firewall 的設置方式:
firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent
重啟防火牆
firewall-cmd --reload
9.重啟vsftpd服務器
systemctl restart vsftpd.service
10.設置目錄操作權限
chmod -R 777 /home/vsftpd/admin
11.設置其他操作權限
(不設置這個可能上傳一些文件時沒上傳完整,導致異常)
#打開SELINUX配置文件 vim /etc/selinux/config #修改配置參數 #注釋掉下面的行 SELINUX=enforcing #增加 SELINUX=disabled #修改完成后,需要重啟操作系統! reboot
12.使用ftp的工具(如Xftp)連接
其他命令
檢查centos是否安裝vsftpd
rpm -aq vsftpd
#返回如下結果,表明已安裝
vsftpd-3.0.2-25.el7.x86_64
#若要卸載Vfstpd:
rpm -e vsftpd-3.0.2-25.el7.x86_64
參考:https://www.cnblogs.com/leoxuan/p/8329998.html