File Transfer Protocol,用於在Internet上控制文件的雙向傳輸。
FTP的主要做用就是讓用戶鏈接一個遠程計算機(這些計算機上運行着FTP服務器程序),並查看遠程計算機中的文件,而後把文件從遠程計算機複製到本地計算機,或把本地計算機的文件傳送到遠程計算機。shell
- 使用vsftpd搭建ftp
yum install -y vsftpd
useradd -s /sbin/nologin virftp //建立用戶 -s指定shell
vim /etc/vsftpd/vsftpd_login //(虛擬文件的密碼)內容以下,奇數行爲用戶名,偶數行爲密碼,多個用戶就寫多行
ftpuser1
password1
chmod 600 /etc/vsftpd/vsftpd_login 密碼文件的權限只能給root
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db //將文本文件轉換爲二進制文件
mkdir /etc/vsftpd/vsftpd_user_conf //建立用戶配置文件目錄
cd /etc/vsftpd/vsftpd_user_conf
vim ftpuser1 //(文件名與用戶名一致)加入以下內容
local_root=/home/virftp/ftpuser1 //定義虛擬用戶的家目錄
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO 匿名用戶是否能夠上傳文件
anon_mkdir_write_enable=NO 匿名用戶是否可建立目錄可寫
idle_session_timeout=600 鏈接ftp後,超過多久不用斷開
data_connection_timeout=120 數據傳輸的超時時間
max_clients=10 最大客戶端數
mkdir /home/virftp/ftpuser1
touch /home/virftp/ftpuser1/slx.txt
chown -R virftp:virftp /home/virftp
vim /etc/pam.d/vsftpd //在最前面加上(文件爲認證用,定義密碼文件位置)
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
vim /etc/vsftpd/vsftpd.conf
將anonymous_enable=YES 改成 anonymous_enable=NO
將#anon_upload_enable=YES 改成 anon_upload_enable=NO
將#anon_mkdir_write_enable=YES 改成 anon_mkdir_write_enable=NO
再增長以下內容
chroot_local_user=YES
guest_enable=YES
guest_username=virftp 虛擬用戶映射到virftp
virtual_use_local_privs=YES 使用的是虛擬用戶
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES
systemctl start vsftpd //啓動vsftpd服務
netstat -lntp
tcp6 0 0 :::21 :::* LISTEN 1950/vsftpd
yum install -y lftp
lftp ftpuser1@127.0.0.1
執行命令ls,看是否正常輸出
若不正常查看日誌/var/log/messages和/var/log/secure
windows下安裝filezilla客戶端軟件,進行測試vim
- 使用pure-ftpd搭建ftpyum install -y pure-ftpdvim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb這行,把行首的#刪除systemctl stop vsftpd 端口只有一個,要先停vsftp才能用pure-ftpsystemctl start pure-ftpdmkdir /data/ftpuseradd -u 1010 pure-ftpchown -R pure-ftp:pure-ftp /data/ftppure-pw useradd ftp_usera -u pure-ftp -d /data/ftp //-d指定用戶家目錄,接下來輸入密碼pure-pw mkdb 將密碼設置爲軟件可識別此命令能夠把全部用戶列出來:pure-pw list/userdel/usermod/passwd