基於vsftpd部署ftp服務(centos/rhel)

來源:互聯網
上載者:User

標籤:

一、vsftp安裝

一般在CentOS上都自動安裝了vsftd,若沒有安裝則可以使用以下步驟進行安裝

[[email protected] yum.repos.d]# yum install vsftpd[[email protected] ~]# chkconfig vsftpd on[[email protected] ~]# service vsftpd start# 清空iptables,並關閉iptables和selinux[[email protected] ~]# iptables -F                            # 清空iptables規則[[email protected] ~]# iptables -L -nvChain 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[[email protected] ~]# service iptables stop                  # 關閉防火牆iptables: Setting chains to policy ACCEPT: filter          [  OK  ]iptables: Flushing firewall rules:                         [  OK  ]iptables: Unloading modules:                               [  OK  ][[email protected] ~]# chkconfig iptables off                  # 設定iptables開機不啟動# 關閉selinux[[email protected] ~]# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/sysconfig/selinux[[email protected] ~]# shutdown -r now

二、匿名/系統使用者配置測試

[[email protected] ~]# useradd -s /sbin/nologin shaw[[email protected] ~]# passwd shaw

預設,安裝好vsftp,匿名使用者(只可下載)和系統使用者(完全許可權)就可以訪問

因為系統使用者登入ftp,即在自己家目錄中,所有具備全部許可權

更改系統帳號ftp主目錄,對使用者限速

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf local_root=/var/ftp/pub                    # 更改系統使用者主目錄local_max_rate=1024000                     # 系統使用者限速1MB(上傳和下載)[[email protected] ~]# service vsftpd restart[[email protected] ~]# chmod o+w /var/ftp/pub     # 加許可權,可以上傳和刪除(ftp許可權,由dir許可權和ftp許可權共同控制)

此時系統使用者登入ftp,就在‘/var/ftp/pub’目錄下,需要什麼樣的許可權,手工添加

三、vsftpd虛擬使用者配置測試

1. 編輯設定檔vi /etc/vsftpd/vsftpd.conf

[[email protected] ~]# touch /var/log/vsftpd.log           # 建立vsftp的記錄檔[[email protected] ~]# vim /etc/vsftpd/vsftpd.confanonymous_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加入其中

[[email protected] ~]# touch /etc/vsftpd/chroot_list[[email protected] ~]# echo ftp >> /etc/vsftpd/chroot_list

3. 進行虛擬使用者認證配置

安裝Berkeley DB工具,後面找不到db_load的問題就是沒有安裝這個軟體包的原因

[[email protected] ~]# yum install db4 db4-utils

建立使用者密碼檔案vuser_passwd.txt

[[email protected] ~]# vi /etc/vsftpd/vuser_passwd.txt  #   #注意奇數行是使用者名稱,偶數行是密碼ftpuserq.123456

產生虛擬使用者認證的db檔案

[[email protected] ~]# db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

編輯認證檔案/etc/pam.d/vsftpd,全部注釋掉原來語句,並增加以下兩行

[[email protected] ~]# 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-authauth    required        pam_userdb.so   db=/etc/vsftpd/vuser_passwdaccount required        pam_userdb.so   db=/etc/vsftpd/vuser_passwd

建立虛擬使用者服務設定檔

[[email protected] ~]# mkdir /etc/vsftpd/vuser_conf[[email protected] ~]# vi /etc/vsftpd/vuser_conf/ftpuser   # 設定檔名和使用者名稱相同,每行配置最後,不能有空格,否則啟動時報錯local_root=/var/ftp/pub         # 虛擬使用者的根目錄(根據實際修改)write_enable=YES # 可寫anon_umask=022 # 掩碼anon_max_rate=1024000                   # 限速1MBanon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YESanon_other_write_enable=YES[[email protected] ~]# mkdir /var/ftp/ftpuser            # 給剛建立的使用者建立目錄[[email protected] ~]# chown -R ftp /var/ftp/ftpuser     # 設定目錄許可權

4.重新啟動vsftp服務

[[email protected] ~]# service vsftpd restart

基於vsftpd部署ftp服務(centos/rhel)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.