Vsftp安裝及配置虛擬用戶

Vsftp安裝及配置虛擬用戶linux

 

 

1、安裝

採用yum安裝sql

[root@VM_64_122_centos vsftpd]# yum installvsftpd

安裝完成之後vsftpd的默認配置文件在/etc/vsftpd數據庫


2、創建虛擬用戶的過程

1,建立虛擬用戶文本文件,添加虛擬用戶和密碼centos

[root@VM_64_122_centos vsftpd]# vivuser.txt

 

奇數行是用戶名,偶數是密碼。安全


好比:bash

admin
123!@#
yunying
yunying
sheji
sheji
chanpin
chanpin

 

2,生成虛擬數據庫文件服務器

db_load默認沒有安裝,yum installdb4-utils db4-devel db4安裝才能使用。網絡

[root@VM_64_122_centos vsftpd]# yum installdb4-utils db4-devel db4

 執行如下命令生成虛擬數據庫文件ide

[root@VM_64_122_centos vsftpd]# db_load -T-t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

 

 

3,配置PAM文件,目的是對客戶端進行驗證。批註全部內容,後添加:ui

[root@VM_64_122_centos vsftpd]# vi/etc/pam.d/vsftpd

 

auth required   pam_userdb.so        db=/etc/vsftpd/vuser
account    required   pam_userdb.so        db=/etc/vsftpd/vuser

注意:不能寫成db=/etc/vsftpd/vuser.db


 

4,修改虛擬數據庫文件vuser.db的權限爲 700

 

[root@VM_64_122_centos vsftpd]# chmod 700vuser.db

5,增長一個系統用戶vuser ,使用它來對應全部虛擬用戶,虛擬用戶使用系統用戶來訪問ftp服務器。

 

useradd vuser
mkdir /var/ftp/vuser
chown vuser.vuser  /var/ftp/vuser

 

6,修改vsftpd.conf配置文件,使虛擬用戶能夠訪問vsftpd服務器,增長如下參數

 

pam_service_name=vsftpd                 ####使用PAM驗證
guest_enable=YES                    ####啓用虛擬用戶                    ####激活虛擬帳戶
guest_username=vuser                  ####把虛擬帳戶綁定爲系統帳戶vuser
user_config_dir=/etc/vsftpd/vsftpd_user_conf      ####虛擬用戶配置文件目錄


3、控制虛擬用戶的訪問

1,創建vsftpd_user_conf配置文件目錄

mkdir /etc/vsftpd/vsftpd_user_conf

 

2,設置虛擬用戶配置文件,與虛擬帳戶同名。

[root@VM_64_122_centos vsftpd]# vi/etc/vsftpd/vsftpd_user_conf/admin

 

3,編輯虛擬帳戶admin的配置文件admin,設置相應的權限。添加如下內容

     anon_world_readable_only=NO             ###瀏覽FTP目錄和下載
     anon_upload_enable=YES                ###容許上傳
     anon_mkdir_write_enable=YES             ###容許創建和刪除目錄
     anon_other_write_enable=YES             ###容許更名和刪除文件
     local_root=/var/ftp/vuser              ###指定虛擬用戶在系統用戶下面的路徑,限制虛擬用戶的家目錄,虛擬用戶登陸後的主目錄。


4,從新啓動ftp服務

[root@VM_64_122_centos vsftpd]# servicevsftpd restart


4、修改SELinux設置

SELinux 全稱 SecurityEnhanced Linux (安全強化 Linux),是 MAC (Mandatory Access Control,強制訪問控制系統)的一個實現,目的在於明確的指明某個進程能夠訪問哪些資源(文件、網絡端口等)

SElinux就是指明進程能訪問那些資源,若是其訪問了非指明的資源,SElinux就會阻止他,並告訴這個程序,你沒有權限,不能讓你訪問。

因此須要修改SELinux的權限訪問設置,否則鏈接ftp會出現一些異常報錯。好比:

500 OOPS: cannot change directory:/home/*******

553 could not create file

 

查看ftp相關選項

sestatus-b | grep ftpd


下面是經常使用的布爾變量:

allow_ftpd_anon_write:關閉這個布爾變量會阻止 vsftpd 讀取 public_content_rw_t 類型的文件和目錄。若是容許用戶經過 FTP 上傳文件。必須開放這個布爾變量。

allow_ftpd_full_access:當開放這個布爾變量時只有LinuxDAC)的權限來控制訪問,經過驗證的用戶能夠讀取和寫入標記爲 public_content_t public_content_rw_t 類型的文件。

allow_ftpd_use_cif:當開放這個布爾變量時vsftpd 容許 cifs_t 類型的文件和目錄,所以這個布爾變量啓用,可讓你的 FTP 服務器可使用 Samba 文件系統。

allow_ftpd_use_nfsvsftpd:的當開放這個布爾變量時 vsftpd 容許 nfs_t 類型的文件和目錄,所以這個布爾變量啓用,可讓你的 FTP 服務器可使用 NFS 文件系統。

ftp_home_dir:當開放這個布爾變量時認證用戶能夠讀寫本身的主目錄中的文件。

ftpd_connect_db:當開放這個布爾變量時容許vsftpd 鏈接數據庫。

httpd_enable_ftp_server:當開放這個布爾變量時允許的 httpd 做爲 FTP 服務器,而且監聽 FTP 端口。

tftp_anon_write:當開放這個布爾變量時容許TFTP 訪問一個公共的目錄

 

 

   啓用如下選項:

   setsebool-P ftp_home_dir 1
   setsebool-P allow_ftpd_full_access 1
相關文章
相關標籤/搜索