VSFTPD虛擬用戶實現

VSFTPD虛擬用戶linux


        全部的虛擬用戶會統一映射爲一個指定的系統賬號;訪問共享位置即爲此係統賬號的家目錄各虛擬用戶可賦予不一樣的訪問權限,經過匿名用戶的權限控制參數進行指定。
數據庫

 

1、建立虛擬用戶的賬號密碼數據庫文件vim

    a、建立賬號密碼文件安全

        格式:奇數行爲賬號,偶數行爲密碼ide

[root@localhost~]# vim /etc/vsftpd/vusers.list工具

test1     #用戶ui

123456   #密碼spa

test2    權限控制

123456hash

test3

123456

 

    b、將該文件轉換爲二進制數據庫文件,這裏須要藉助db4工具實現;

            [root@localhost ~]# yum installdb4 –y   #安裝db4工具

            [root@localhost ~]# cd /etc/vsftpd/  

            [root@localhost vsftpd]# db_load -T -t hash-f vusers.list vusers.db   #生成數據庫文件

            [root@localhost vsftpd]# chmod 600vusers.*    #修改權限,保證密碼文件安全

2、建立須要訪問的FTP目錄

[root@localhost ~]# useradd -d /var/ftproot-s /sbin/nologin vuser

[root@localhost ~]# chmod +rx /var/ftproot/

 

Centos7 還須要執行如下操做:

[root@localhost ~]# chmod –w  /var/ftproot

[root@localhost ~]# mkdir/var/ftproot/upload

[root@localhost ~]# setfacl  -m u:vuser:rwx  /var/ftproot/upload

 

三、建立pam配置文件

[root@localhost ~]# vim/etc/pam.d/vsftpd.db

auth required pam_userdb.sodb=/etc/vsftpd/vusers

    accountrequired pam_userdb.so db=/etc/vsftpd/vusers

    注意:這後面的文件是不帶後綴的。

四、指定pam配置文件

     [root@localhost ~]# vim/etc/vsftpd/vsftpd.conf

    pam_service_name=vsftpd   #設置 PAM 外掛模塊提供的認證服務所使用的配置文件名guest_enable=YES     #開啓虛擬用戶

guest_username=vuser   #指定虛擬用戶映射的系統用戶

pam_service_name=vsftpd.db  #指定虛擬用戶賬號密碼數據庫文件

      virtual_use_local_privs=YES   #虛擬用戶和本地用戶有相同的權限;

 此時重啓vsftpd 服務後,虛擬用戶可正常登陸。

注意:selinux   :能夠禁用selinux 或者 執行setsebool –P ftpd_full_access 1

 

五、虛擬用戶創建獨立的配置文件

                   爲知足各用戶的不一樣需求能夠對不一樣的虛擬用戶建立獨立的配置文件分別管理。

        a、爲個別虛擬用戶建立獨立的配置文件

                   [root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

                   user_config_dir=/etc/vsftpd/vuser.d/  

         b、爲個別虛擬用戶配置相關參數

            [root@localhost vuser.d]# vim test2

            anon_upload_enable=YES   #容許上傳 (容許虛擬用戶test2上傳文件)

                download_enable=NO   #禁止下載 (禁止虛擬用戶test2 下載文件)

 

至此實現虛擬用戶的正常使用。Test1具備與其主目錄相等權限容許上傳、下載、刪除等權限,test2只可上傳不可下載。

相關文章
相關標籤/搜索