[root@hadoop ~]# rpm -qa|grep ftp vsftpd-2.2.2-24.el6.x86_64 ftp-0.17-54.el6.x86_64
若是找到已安裝的vsftp應用(本機以前已安裝過),先進行卸載,以下:shell
[root@hadoop ~]# yum -y remove ftp vsftpd Loaded plugins: fastestmirror Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package ftp.x86_64 0:0.17-54.el6 will be erased ---> Package vsftpd.x86_64 0:2.2.2-24.el6 will be erased --> Finished Dependency Resolution Dependencies Resolved ... Removed: ftp.x86_64 0:0.17-54.el6 vsftpd.x86_64 0:2.2.2-24.el6
[root@hadoop ~]# yum install ftp vsftpd -y Loaded plugins: fastestmirror Setting up Install Process Determining fastest mirrors epel/metalink | 6.7 kB 00:00 * base: mirrors.cn99.com * epel: mirrors.ustc.edu.cn * extras: mirrors.cn99.com * remi-safe: mirrors.tuna.tsinghua.edu.cn * rpmfusion-free-updates: mirrors.ustc.edu.cn * rpmfusion-nonfree-updates: mirrors.ustc.edu.cn * updates: mirrors.cn99.com ... Installed: ftp.x86_64 0:0.17-54.el6 vsftpd.x86_64 0:2.2.2-24.el6 Complete!
[root@hadoop ~]# useradd -d /home/hadoopftp -s /sbin/nologin hadoopftp
其中hadoopftp是ftp的登陸用戶名,能夠根據須要實際替換便可vim
[root@hadoop ~]# passwd hadoopftp
[root@hadoop vsftpd]# vim /etc/vsftpd/vsftpuser.txt
輸入文本格式以下:瀏覽器
用戶1 用戶1密碼 用戶2 用戶2密碼 ......
而後生成認證db:bash
[root@hadoop ~]# db_load -T -t hash -f /etc/vsftpd/vsftpuser.txt /etc/vsftpd/vsftpuser.db
[root@hadoop ~]# vim /etc/pam.d/vsftpd
修改內容爲替換 pam文件中的account和auth:服務器
#%PAM-1.0 session optional pam_keyinit.so force revoke #auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed #auth required pam_shells.so #auth include password-auth #account include password-auth #64位系統 auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpuser account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpuser #32位系統 #auth required pam_userdb.so db=/etc/vsftpd/vsftpuser #account required pam_userdb.so db=/etc/vsftpd/vsftpuser session required pam_loginuid.so session include password-auth
[root@hadoop ~]# vim /etc/vsftpd/vsftpd.conf
修改點以下:session
# 是否運行匿名登陸(NO) anonymous_enable=NO # 監聽端口(默認21) listen_port=8021 # 限制ftp用戶只能在其主目錄下(root dir)下活動,不容許他們跳出主目錄以外瀏覽服務器上的其餘目錄 chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES local_root=/home/hadoop/ftp/public/ftproot anon_root=/home/hadoop/ftp/public/ftproot virtual_use_local_privs=YES guest_enable=YES guest_username=anyoftp allow_writeable_chroot=YES pasv_enable=YES # 被動模式端口區間, 這個10021端口,能夠修改成你喜歡的 connect_from_port_10021=YES pasv_min_port=40000 pasv_max_port=41000 pasv_address=172.16.1.2
添加如下防火規則,我的用的是iptables,也能夠參考 firewall 設置app
[root@hadoop ~]# vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10021 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 40000:41000 -j ACCEPT
建立文件chroot_list,聲明 限制在主目錄下的用戶名單:tcp
[root@hadoop ~]# vim /etc/vsftpd/chroot_list
內容以下:oop
hadoopftp
至因而限制名單仍是排除名單,這取決於chroot_local_user的值 ,能夠參考http://blog.csdn.net/bluishglc/article/details/42398811進行理解。測試
[root@hadoop ~]# mkdir /home/hadoop/ftp/public/ftproot [root@hadoop ~]# chown -R hadoopftp /home/hadoop/ftp/public/ftproot [root@hadoop ~]# chmod -R 755 /home/hadoop/ftp/public/ftproot
[root@hadoop ~]# systemctl start vsftpd.service # 查看vsftpd服務的狀態 systemctl status vsftpd.service
[root@hadoop ~]# systemctl enable vsftpd.service
打開瀏覽器,輸入ftp訪問地址,彈出一下界面:
輸入設置的ftp用戶名和密碼,進行訪問,驗證經過,跳到ftp文件目錄界面:
到此,vsftpd在Centos 7系統的安裝與簡單配置基本完成,本人在虛擬機環境下測試經過,不當之處,歡迎指正!!!