1、FTP服務概述:linux
FTP服務器(File Transfer Protocol Server)是在互聯網上提供文件存儲和訪問服務的計算機,它們依照FTP協議提供服務。vim
FTP(File Transfer Protocol: 文件傳輸協議)做用: Internet 上用來傳送文件的協議安全
能夠在局域網傳輸,固然也能夠在廣域網傳輸ftp文件。服務器
vsftp:(Linux系統相稱,也是Linux系統中的安裝包名稱)tcp
VSFTP是一個基於GPL發佈的類Unix系統上使用的FTP服務器軟件,它的全稱是Very Secure FTP 今後名稱能夠看出來,編制者的初衷是代碼的安全。spa
特色:rest
它是一個安全、高速、穩定的FTP服務器;htm
模式:ip
C/S 模式get
vsftp端口:
20 (傳數據) 21 (傳指令) #傳數據端口爲20、用戶鏈接端口爲21.
安裝vsftp服務器端(vsftpd)、客戶端(lftp)
[root@localhost ~]# rpm -ivh /mnt/Packages/vsftpd-2.2.2-6.el6_0.1.x86_64.rpm
或:
yum -y install vsftpd
2、安裝客戶端:
[root@localhost ~]# yum install -y vsftp
vsftp主配置文件位置和其餘ftp相關配置文件:
/etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件
/etc/vsftpd/ftpusers:用於指定哪些用戶不能訪問FTP 服務器。 黑名單
/etc/vsftpd/user_list:指定容許使用vsftpd 的用戶列表文件。 白名單
vim /etc/vsftpd/user_list
# 若是userlist_deny= YES(默認),毫不容許在這個文件中的用戶登陸ftp,甚至不提示輸入密碼
#prompt 提示
/etc/vsftpd/vsftpd_conf_migrate.sh:是vsftpd 操做的一些變量和設置腳本
/var/ftp/:默認狀況下匿名用戶的根目錄;
修改配置文件:
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.back #修改配置文件先備份,失誤的時候能夠在作恢復;
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf #vsftp 配置文件;
1.容許匿名用戶訪問:
anonymous_enable=YES #是否容許匿名用戶訪問;(默認YES)
2.容許匿名用戶上傳文件並能夠建立目錄:
anon_upload_enable=YES #容許匿名用戶上傳文件;
anon_mkdir_write_enable=YES #容許匿名用戶建立目錄;
3.容許匿名用戶刪除文件和文件命名:
anon_other_write_enable=YES #容許匿名用戶命名文件刪除文件;
4.設置匿名用戶所上傳的文件的默認掩碼值:
anon_umask=022 #......
5.設置匿名用戶的FTP根目錄(默認爲/var/ftp/)
anon_root=/var/ftp #......
給匿名用戶權限最好不要太大,建議755
注:實際生活中,匿名用戶只是只讀訪問,寫的權限也沒有。
本地用戶:
1.容許本地用戶登陸:
local_enable=YES #容許本地用戶登陸
2.設置本地用戶的FTP根目錄(默認爲用戶的宿主目錄)
Local_root=/var/ftp
3.本地用戶上傳的默認權限掩碼值:
Local_umask=022
4.設置本地用戶上傳寫入支持:
write_enable=YES #啓動上傳寫入支持
5.爲不一樣的虛擬用戶創建獨立的配置文件:
user_config_dir=/etc/vsftp/vusers_dir #設置從/etc/vsftp/vusers_dir目錄中查找每一個用戶的獨立配置文件;
添加虛擬用戶:
[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd.vu //修改
userlist_enable=NO //修改
anon_root=/var/ftp/soft //末尾添加
guest_enable=yes //添加
guest_username=zhangsan //添加
user_config_dir=/etc/vsftpd/vusers_dir //添加
allow_writeable_chroot=YES //添加
########################################################################
例: 爲虛擬用戶創建獨立配置文件。
mkdir /etc/vsftpd/vusers_dir/ #建立用戶配置文件夾;
cd /etc/vsftpd/vusers_dir/ #進入/etc/vsftpd/vusers_dir/下;
vim john #爲用戶john創建獨立的配置文件;
local_root=/var/ftp
anon_umask=022
write_enable=YES
anon_mkdir_write_enable=YES
chroot_list_enable=YES:激chroot 功能
chroot_list_file=/etc/vsftpd/chroot_list:設置鎖定用戶在根目錄中的列表文件。此文件存放要鎖定的用戶名
allow_writeable_chroot=YES :容許鎖定的用戶有寫的權限
設置好本地權限:
啓動服務
[root@localhost vsftpd]# systemctl start vsftpd
[root@localhost vsftpd]# systemctl enable vsftpd
##注意關閉iptables 和selinux
[root@localhost ~]# netstat -antup | grep ftp
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
重啓vsftpd 服務使配置生效:
service vsftpd restart
客戶端登陸lftp:
[root@localhost ~]# lftp 192.168.0.63 -u team1,123456