部署FTP服務
阿新 • • 發佈:2018-08-28
基於 功能 ron centos intern cmd 18C win size FTP簡介
- FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。它是典型的C/S結構的應用層協議需要從服務端軟件、客戶端軟件兩個部分實現文件傳輸功能。
在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上傳"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件- FTP服務器默認使用TCP協議的20、21端口,20端口用於建立數據連接,並傳輸文件數據。21端口用來建立控制連接,並傳輸FTP控制命令。
安裝部署FTP服務、
- 匿名訪問FTP
-
Redhat6.5 上安裝
# 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 //開啟服務
- windows上訪問FTP的目錄
打開我的電腦 路徑輸入:ftp://192.168.200.131/pub/
-
基於本地用戶登錄
# 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
- windows上訪問FTP的目錄
打開我的電腦 路徑輸入:ftp://192.168.200.131/pub/
-
使用user_list用戶列表文件
-
user_list黑名單使用
# vim /etc/vsftpd/user_list //添加想要禁止訪問ftp的用戶 test # vim /etc/vsftpd/vsftpd.conf userlist_enable=YES (沒有#時 在user_list 裏的帳號沒法訪問) # systemctl restart vsftpd
-
user_list白名單使用
# 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
-
建立虛擬用戶賬戶使用FTP
# 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認證模塊支持虛擬用戶的登陸
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 //重啟服務
-
單獨用戶
# 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)
- windows端cmd中操作命令
ftp 192.168.200.131 (訪問ftp) (輸入賬戶密碼 匿名訪問時 輸入ftp 回車)
by 退出
e: 切換 E盤
cd pub
get test.txt 下載
put tes.txt 上傳 (設置權限才能上傳)
部署FTP服務