2.查看是否安裝vsftp,我這個是已經安裝的。html
[root@localhost vsftpd]# rpm -qa |grep vsftpd vsftpd-3.0.2-11.el7_2.x86_64
3.若是沒有發現,則安裝。linux
yum install vsftpd* -y
4.啓動vsftpd服務,以及重啓命令(centos7.0以上版本)centos
[root@localhost vsftpd]# /bin/systemctl start vsftpd.service
[root@localhost vsftpd]# /bin/systemctl restart vsftpd.service
低版本試一下這些命令:安全
/etc/init.d/vsftpd restart
啓動ftp命令 #service vsftpd start
中止ftp命令 #service vsftpd stop
重啓ftp命令 #service vsftpd restart
設置自啓:chkconfig vsftpd on服務器
5.測試一下可否登陸FTP了,先安裝一個ftp客戶端組件。工具
yum -y install ftp
嘗試登陸一下post
ftp localhost
輸入用戶名ftp,密碼隨便(由於默認是容許匿名的)測試
登陸成功,就表明ftp服務可用了。centos7
可是,外網是訪問不了的,因此還要繼續配置。spa
6.取消匿名登陸
vi /etc/vsftpd/vsftpd.conf
把第一行的 anonymous_enable=YES ,改成NO
重啓
[root@localhost vsftpd]# /bin/systemctl restart vsftpd.service
7.建立一個組,用於存放ftp用戶
groupadd ftpgroups
8.建立ftp用戶,並加入ftpgroups組,/home/ftp是本身建的目錄,不存在就本身建立一個
useradd -d /home/ftp/ftptest -g ftpgroups ftptest
設置密碼
passwd ftptest
設置不容許用於用戶登陸
usermod -s /sbin/nologin ftptest
能夠看到已經建好了
[root@localhost vsftpd]# ls /home/ftp ftpn ftptest
這時候重啓一下vsftpd服務
/bin/systemctl restart vsftpd.service
登陸一下看,能夠登陸了,可是發現也能訪問上層目錄,甚至根目錄,這不是咱們但願的,修改一下配置文件讓其只能訪問自身目錄
vi /etc/vsftpd/vsftpd.conf
以下設置
chroot_local_user=YES
chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list
另外,從2.3.5以後,vsftpd加強了安全檢查,若是用戶被限定在了其主目錄下,則該用戶的主目錄不能再具備寫權限了!若是檢查發現還有寫權限,就會報該錯誤。
要修復這個錯誤,能夠用命令chmod a-w /home/user去除用戶主目錄的寫權限,注意把目錄替換成你本身的。或者你能夠在vsftpd的配置文件中增長下列項:
allow_writeable_chroot=YES
好了,這樣就只能訪問自身所屬目錄。
若是但願某個用戶能夠訪問根目錄,把用戶名加入
/etc/vsftpd/chroot_list
不存在就建立這個文件,一行一個用戶名。
若是仍是登錄不了ftp,那頗有多是selinux的問題,這個東西把他關掉就行
vi /etc/selinux/config
SELINUX=enforcing 設置成SELINUX=disabled
重啓一下服務器
reboot
重啓完了別忘了把vsftpd服務打開,默認是自啓的。
若是鏈接不上,極可能是防火牆阻止了,嘗試關閉防火牆
systemctl stop firewalld.service #中止firewall
systemctl disable firewalld.service #禁止firewall開機啓動
firewall-cmd --state #查看默認防火牆狀態(關閉後顯示notrunning,開啓後顯示running)
若是出現遠程文件夾沒法顯示的狀況,請使用主動模式鏈接,在你的ftp工具上設置。
文章來源:http://www.cnblogs.com/mrcln/p/6179673.html