1、vsftp安裝linux
通常在CentOS上都自動安裝了vsftd,若沒有安裝則可使用如下步驟進行安裝shell
[root@lnmp yum.repos.d]# yum install vsftpd [root@lnmp ~]# chkconfig vsftpd on [root@lnmp ~]# service vsftpd start # 清空iptables,並關閉iptables和selinux [root@lnmp ~]# iptables -F # 清空iptables規則 [root@lnmp ~]# iptables -L -nv Chain INPUT (policy ACCEPT 40 packets, 3328 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 25 packets, 3208 bytes) pkts bytes target prot opt in out source destination [root@lnmp ~]# service iptables stop # 關閉防火牆 iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] [root@lnmp ~]# chkconfig iptables off # 設置iptables開機不啓動 # 關閉selinux [root@lnmp ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux [root@lnmp ~]# shutdown -r now
2、匿名/系統用戶配置測試vim
[root@lnmp ~]# useradd -s /sbin/nologin shaw [root@lnmp ~]# passwd shaw
默認,安裝好vsftp,匿名用戶(只可下載)和系統用戶(徹底權限)就能夠訪問session
由於系統用戶登陸ftp,即在本身家目錄中,全部具有所有權限工具
更改系統帳號ftp主目錄,對用戶限速測試
[root@lnmp ~]# vim /etc/vsftpd/vsftpd.conf local_root=/var/ftp/pub # 更改系統用戶主目錄 local_max_rate=1024000 # 系統用戶限速1MB(上傳和下載) [root@lnmp ~]# service vsftpd restart [root@lnmp ~]# chmod o+w /var/ftp/pub # 加權限,能夠上傳和刪除(ftp權限,由dir權限和ftp權限共同控制)
此時系統用戶登陸ftp,就在‘/var/ftp/pub’目錄下,須要什麼樣的權限,手工添加ui
3、vsftpd虛擬用戶配置測試spa
1. 編輯配置文件vi /etc/vsftpd/vsftpd.confrest
[root@lnmp ~]# touch /var/log/vsftpd.log # 建立vsftp的日誌文件 [root@lnmp ~]# vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO #設定不容許匿名訪問 local_enable=YES #設定本地用戶能夠訪問 chroot_list_enable=YES #使用戶不能離開主目錄 xferlog_file=/var/log/vsftpd.log #設定vsftpd的服務日誌 pam_service_name=vsftpd #PAM"認證文件"名,PAM將根據/etc/pam.d/vsftpd進行認證 # Vsftpd虛擬用戶支持服務配置,默認vsftpd.conf中不包含這些設定項目,須要本身手動添加 guest_enable=YES #設定啓用虛擬用戶功能。 guest_username=ftp #指定虛擬用戶的宿主用戶。系統中已經有內置的"ftp"用戶了 user_config_dir=/etc/vsftpd/vuser_conf #設定虛擬用戶我的vsftp的配置文件存放路徑。存放虛擬用戶個性化的配置文件名,應和虛擬用戶名相同
2. 建立chroot_list,將用戶ftp加入其中日誌
[root@lnmp ~]# touch /etc/vsftpd/chroot_list [root@lnmp ~]# echo ftp >> /etc/vsftpd/chroot_list
3. 進行虛擬用戶認證配置
安裝Berkeley DB工具,後面找不到db_load的問題就是沒有安裝這個軟件包的緣由
[root@lnmp ~]# yum install db4 db4-utils
建立用戶密碼文件vuser_passwd.txt
[root@lnmp ~]# vi /etc/vsftpd/vuser_passwd.txt # #注意奇數行是用戶名,偶數行是密碼 ftpuser q.123456
生成虛擬用戶認證的db文件
[root@lnmp ~]# db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
編輯認證文件/etc/pam.d/vsftpd,所有註釋掉原來語句,並增長如下兩行
[root@lnmp ~]# vi /etc/pam.d/vsftpd #%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 #session required pam_loginuid.so #session include password-auth auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
建立虛擬用戶服務配置文件
[root@lnmp ~]# mkdir /etc/vsftpd/vuser_conf [root@lnmp ~]# vi /etc/vsftpd/vuser_conf/ftpuser # 配置文件名和用戶名相同,每行配置最後,不能有空格,不然啓動時報錯 local_root=/var/ftp/pub # 虛擬用戶的根目錄(根據實際修改) write_enable=YES # 可寫 anon_umask=022 # 掩碼 anon_max_rate=1024000 # 限速1MB anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES [root@lnmp ~]# mkdir /var/ftp/ftpuser # 給剛創建的用戶建立目錄 [root@lnmp ~]# chown -R ftp /var/ftp/ftpuser # 設定目錄權限
4.從新啓動vsftp服務
[root@lnmp ~]# service vsftpd restart