- FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱爲「文傳協議」。它是典型的C/S結構的應用層協議須要從服務端軟件、客戶端軟件兩個部分實現文件傳輸功能。
在FTP的使用當中,用戶常常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至本身的計算機上;"上傳"文件就是將文件從本身的計算機中拷貝至遠程主機上。用Internet語言來講,用戶可經過客戶機程序向(從)遠程主機上傳(下載)文件- FTP服務器默認使用TCP協議的20、21端口,20端口用於創建數據鏈接,並傳輸文件數據。21端口用來創建控制鏈接,並傳輸FTP控制命令。
Redhat6.5 上安裝shell
# mount /dev/cdrom /mnt //掛載CDROM # rpm -ivh /mnt/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
CentOS7 上安裝數據庫
# yum install vsftpd -y # systemctl stop firewalld # setenforce 0 # vim /etc/vsftpd/vsftpd.conf //配置文件開啓匿名的權限 anon_upload_enable=yes # 號去掉 上傳權限 anon_mkdir_write_enable=yes # 號去掉 建立寫入權限 anon_other_write_enable=yes chroot_local_user=YES //禁錮在組目錄 # chmod 777 /var/ftp/pub/ # systemctl start vsftpd //開啓服務
打開個人電腦 路徑輸入:ftp://192.168.200.131/pub/vim
基於本地用戶登陸windows
# vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO //關閉匿名登陸 local_enable=YES write_enable=YES local_umask=077 chroot_local_user=YES local_root=/var/ftp //末尾加入目錄 # systemctl restart vsftpd
打開個人電腦 路徑輸入:ftp://192.168.200.131/pub/服務器
user_list黑名單使用ide
# vim /etc/vsftpd/user_list //添加想要禁止訪問ftp的用戶 test # vim /etc/vsftpd/vsftpd.conf userlist_enable=YES (沒有#時 在user_list 裏的賬號無法訪問) # systemctl restart vsftpd
user_list白名單使用ui
# vim /etc/vsftpd/user_list //添加想要容許訪問ftp的用戶 test vi /etc/vsftpd/vsftpd.conf userlist_enable=YES (沒有#時 在user_list 裏的賬號無法訪問) userlist_deny=NO (但加入這行後 只有user_list 裏的賬號才能訪問) # systemctl restart vsftpd
創建虛擬用戶帳戶使用FTP3d
# cd /etc/vsftpd # vi /etc/vsftpd/vuser lisa //奇數行爲用戶 123123 //偶數行爲密碼 tom 123123 # db_load -T -t hash -f vuser vuser.db //轉換成數據庫文件 # chmod 600 vuser # chmod 600 vuser.db //不讓別人看見裏面的信息 # useradd -d /opt/vuser -s /sbin/nologin vuser //建立一個用戶爲vuser 指定家目錄/opt/vuser 並不使用shell登錄 # mkdir /opt/vuser # chmod 755 /opt/vuser
編輯pam認證模塊支持虛擬用戶的登錄rest
vi /etc/pam.d/vsftpd.vu auth required pam_userdb.so db=/etc/vsftpd/vuser account required pam_userdb.so db=/etc/vsftpd/vuser //此處兩個文件vuser並非普通文件而是剛纔建立的vuser.db數據庫文件,此處必須省略不寫 # vi /etc/vsftpd/vsftpd.conf #pam_service_name=vsftpd 加#註釋 添加↓↓↓ guest_enable=YES guest_username=vuser pam_service_name=vsftpd.vu //開啓虛擬用戶,使用pam認證登錄 # systemclt restart vsftpd //重啓服務
單獨用戶code
# vi /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/vu_dir //添加單獨用戶配置目錄 # mkdir vu_dir //建立文目錄 # vi /etc/vsftpd/vu_dir/tom //在配置文件夾裏建立用戶配置文件 anon_umask=022 //指定上傳文件的權限 (022的意思是反的 644)
ftp 192.168.200.131 (訪問ftp) (輸入帳戶密碼 匿名訪問時 輸入ftp 回車)by 退出e: 切換 E盤cd pubget test.txt 下載put tes.txt 上傳 (設置權限才能上傳)