一、安裝FTP服務端
yum install -y vsftpd
安裝ftp用戶端(可省略)
yum install -y ftp
二、FTP服務配置
1、進入FTP配置檔案目錄
cd /etc/vsftpd
2、備份配置檔案vsftpd.conf和去掉所有注釋
mv vsftpd.conf vsftpd.conf.bak
grep -v "#" vsftpd.conf.bak > vsftpd.conf
3、編輯配置檔案
vi vsftpd.conf
修改的内容
#修改
#是否支援匿名使用者,預設YES,改成NO表示需要使用者名密碼登入不允許匿名登入
anonymous_enable=NO
#匿名上傳。首先,檔案系統上使用者的家目錄,要具備寫權限。其次,ftp伺服器要開啟允許匿名上傳的配置
anon_upload_enable=YES
#以下取消注釋
#允許匿名使用者上傳,建立目錄
anon_mkdir_write_enable=YES
#預設隻能下載下傳全部讀的檔案。這句話的意思是說,如果啟動了這句話,則匿名使用者隻能下載下傳所有使用者都具備讀權限的檔案。如果有一個檔案,有一個使用者不劇本讀權限,匿名使用者就不能夠下載下傳。
anon_world_readable_only=YES
#匿名使用者能否删除和修改上傳的檔案
anon_other_write_enable=YES
#指定匿名上傳檔案的umask值。umask的值可以直接影響到上傳檔案的權限。
anon_umask=077
#指定上傳檔案的預設的所有者和權限。 完成了這些指定之後,匿名使用者上傳的中繼資料就是我們指定的那些内容。
chown_uploads=YES
#chown_username=wang
#chown_upload_mode=0644
#所有系統使用者都映射成guest使用者,但是映射的guest賬戶,需要人為地去指定下。
#guest_enable=YES
#guest_username=vsftpd
#是否允許Linux使用者登陸,預設是允許的,當然也可以禁止。
local_enable=YES
#是否允許Linux使用者上傳檔案,如果使用者預設允許登陸的話,linux使用者登陸成功之後,預設位于自己的家目錄,這時是允許上傳檔案的。 如果将下面的這句話,改成no,則服務拒絕linux使用者上傳檔案,即便位于自己的家目錄也不可以。
#write_enable=YES
#指定系統使用者上傳檔案的預設權限
#local_umask=022
#非匿名使用者登入所在目錄,當使用Linux使用者登陸成功之後,就不會預設在自己的家目錄了。相反,會位于下面指定的目錄裡。
#local_root=/ftproot
#禁锢所有的使用者在家目錄中的意思是說,使用者登陸成功之後,不能夠随意切換目錄,隻能夠在自己的家目錄中進行操作。
chroot_local_user=YES
#ASCII碼支援
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
#登入提示資訊
ftpd_banner=Welcome to FTP server.
# 這一句話優先生效
#banner_file=/etc/vsftpd/ftpbanner.txt
#設定是否使用當地時間。預設就是YES
use_localtime=YES
#虛拟使用者建立獨立的配置檔案
user_config_dir=/etc/vsftpd/conf
listen_port=21
virtual_use_local_privs=YES
##被動模式端口
pasv_min_port=40000
pasv_max_port=40010
# 被動模式資料連接配接逾時時長,時間機關是秒
accept_timeout=10
#主動模式資料連接配接逾時時長,時間機關是秒
connect_timeout=10
#資料連接配接無資料輸逾時時長,時間機關是秒
data_connection_timeout=300
# 無指令操作逾時時長,時間機關是秒
idle_session_timeout=300
allow_writeable_chroot=YES
三、建立虛拟使用者
建立虛拟使用者,是為了避免FTP使用者直接登入到伺服器
1、建立虛拟使用者配置檔案
vi ftp_user.conf
增加内容:奇數行是賬号,偶數行是密碼,下面第一行是賬号,第二行是密碼
ftpuser
ftpuser123
2、加密虛拟使用者配置檔案
db_load -T -t hash -f ftp_user.conf ftp_user.db
如果沒有db_load指令,需要安裝:yum install db4 db4-utils
改變權限和删除未加密的配置
chmod 600 ftp_user.db
rm -f ftp_user.conf
3、修改FTP的通路權限
先備份
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
修改權限檔案
vi /etc/pam.d/vsftpd
先将配置檔案中原有的 auth 及 account 的所有配置行均注釋掉(不注釋掉虛拟使用者會登入不上),添加兩行資訊
auth required pam_userdb.so db=/etc/vsftpd/ftp_user
account required pam_userdb.so db=/etc/vsftpd/ftp_user
4、增加虛拟使用者,隻能登入FTP,不能登入背景
useradd -d /home/ftpuser -s /sbin/nologin ftpuser
修改檔案夾的擁有者
chown -R ftpuser:ftpuser /home/ftpuser
5、虛拟使用者配置檔案
建立虛拟使用者配置檔案目錄
mkdir -p /etc/vsftpd/conf
建立虛拟使用者的配置檔案(ftpuser檔案和剛才建立的資料庫檔案的使用者名必須一緻)
vi /etc/vsftpd/conf/ftpuser
增加的内容:
#使用者的預設登陸目錄。也就是FTP使用者登陸成功之後的預設路徑。
local_root=/home/ftpuser/ftpuser
write_enable=YES
anon_world_readable_only=NO
#虛拟使用者上傳權限
anon_upload_enable=YES
#虛拟使用者建立檔案夾
anon_mkdir_write_enable=YES
## 虛拟的其他使用者對指定使用者目錄的寫權限
anon_other_write_enable=YES
建立FTP傳輸目錄,對應上面的 local_root 配置項
mkdir -p /home/ftpuser/ftpuser
chown ftpuser:ftpuser /home/ftpuser/ftpuser
chmod 775 /home/ftpuser/ftpuser
四、開放FTP端口和FTP服務
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --permanent --zone=public --add-port=21/tcp
#被動模式的端口
firewall-cmd --permanent --zone=public --add-port=40000-40010/tcp
#重新加載生效
firewall-cmd --reload
firewall-cmd --list-all
firewall-cmd --zone=public --list-ports
五、FTP啟動和設定自動啟動
#啟動
systemctl start vsftpd
#設定自動啟動
systemctl enable vsftpd
#檢視狀态
systemctl status vsftpd.service
#重新開機
systemctl restart vsftpd
六、FTP通路位址
ftp://192.168.10.100/
七、錯誤解決
1、500 OOPS: vsftpd: cannot locate user specified in 'guest_username':vsftpd
注釋下面的配置
#guest_enable=YES
#guest_username=vsftpd
八、其它指令
#安裝filezilla
yum install -y filezilla
運作filezilla
filezilla &
#Selinux方式:檢視防火牆狀态
getenforce
#permissive表示:放任的;縱容的;姑息的;
#臨時關閉:setenforce 0
setenforce 0 ->permissive
#永久關閉:vim /etc/sysconfig/selinux
将selinux=cnforcing改為selinux=disable
Firewall
1.關閉防火牆:service firewalld stop
2.關閉防火牆:systemctl stop firewalld.service
3.禁止防火牆開機啟動:systemctl disable firewalld.service
4,檢視防火牆狀态:firewall-cmd --state
(時間寶貴,分享不易,捐贈回饋,^_^)
================================
©Copyright 蕃薯耀 2022-04-19
https://www.cnblogs.com/fanshuyao/
今天越懶,明天要做的事越多。