一. ftp
ftp即文件傳輸,它是INTERNET上仍然常用的最老的網絡協議之一,它爲系統提供了通過網絡與遠程服務器傳輸的簡單方法,FTP服務器包的名稱爲vsftpd
二. 部署ftp服務
1. 安裝ftp
yum install -y vsftpd #安裝vsftpd軟件包
systemctl start vsftpd
systemctl enable vsftpd
firewall-cmd --permanent --add-service=ftp #部署火牆策略
firewall-cmd --reload
firewall-cmd --list-all
yum install -y lftp #客戶端安裝lftp
2.部署ftp
vim /etc/sysconfig/selinux #SELINUX=disabled
reboot #使策略生效
/var/ftp/pub ##默認發佈目錄
/etc/vsftpd/vsftpd.service ##配置目錄
注:配置目錄修改完需要重啓服務-----systemctl restart vsftpd.service 讓修改配置生效
三. vsftpd服務的配置參數
1. 匿名用戶設定
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES|NO #匿名用戶限制登陸
systemctl restart vsftpd.service
1> 匿名用戶上傳
vim /etc/vsftpd/vsftpd.conf
write_enable=YES #可寫
anon_upload_enable=YES #匿名用戶可上傳
systemctl restart vsftpd.service
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
2> 匿名用戶家目錄修改
anon_root=/westos #匿名用戶修改家目錄爲westos
3> 匿名用戶上傳文件默認權限修改
anon_umask=022 #修改匿名用戶上傳權限爲022
3> 匿名用戶建立目錄
anon_mkdir_write_enable=YES #匿名用戶創建目錄
4>匿名用戶下載
anon_world_readable_only=YES|NO #設定參數值爲no表示匿名用戶可以下載
5> 匿名用戶刪除
anon_other_write_enable=YES|NO #匿名用戶是否可以刪除
6> 匿名用戶使用的用戶身份修改
chown_uploads=YES #修改上傳信息
chown_username=student #修改所有人爲student
7> 最大上傳速率
anon_max_rate=204800 #設定最大上傳速率
8> 最大鏈接數
max_clients=1 #設定最大鏈接數
2. 本地用戶設定
vim /etc/vsftpd/vsftpd.conf
local_enable=YES|NO #本地用戶登陸限制
write_enable=YES|NO #本地用戶寫權限限制
systemctl restart vsftpd.service
1> 本地用戶家目錄修改
local_root=/westos #修改本地用戶家目錄
2> 本地用戶上傳文件權限
local_umask=022 #修改本地用戶上傳文件權限
3> 限制本地用戶瀏覽/目錄
chroot_local_user=YES
chmod u-w /home/*
3. 本地用戶黑白名單的設定
1> 用戶黑名單建立
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list #列出黑名單用戶
systemctl restart vsftpd.service
2> 用戶白名單建立
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #列出白名單用戶
vim /etc/vsftpd/vsftpd.conf
3> 限制本地用戶登陸
vim /etc/vsftpd/ftpusers #用戶黑名單
vim /etc/vsftpd/user_list #用戶臨時黑名單
4> 用戶白名單的設定
userlist_deny=NO #vim /etc/vsftpd/vsftpd.conf 修改參數
/etc/vsftpd/user_list #參數設定,此文件變成用戶白名單,只在名單中出現的用戶可以登陸ftp
三. ftp虛擬用戶的設定
1. 創建虛擬帳號身份
vim /etc/vsftpd/westos #創建虛擬帳號身份文件
ftpuser1
123
ftpuser2
123
ftpuser3
123
2. 加密虛擬帳號身份文件
db_load -T -t hash -f /etc/vsftpd/westos westos.db
3. 虛擬帳號身份認證
vim /etc/pam.d/westos
4. 虛擬帳號身份配置
vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos #指定pam配置文件
guest_enable=YES #啓用虛擬帳號支持
guest_username=ftp #映射虛擬帳號身份
chmod u-w /home/ftp
5. 虛擬帳號家目錄獨立設定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpusers/$USER #指定虛擬帳號家目錄
user_sub_token=$USER
mkdir /ftpusers
chgrp ftpuser /ftpusers
chmod g+s /ftpusers
mkdir /ftpusers/ftpuser{1..3}
6. 虛擬帳號配置獨立
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf
vim /etc/vsftpd/userconf/ftpuser1 #在此文件中設定配置文件中的所有參數,此文件的優先級高
注:lftp中遇到的提示答疑
500:權力過大
530:認證失敗
550:無寫權限
553:權限問題