vsftpd(very secure FTP,非常安全的FTP)是一個基於GPL發佈的類unix系統上使用的ftp服務器軟件,目前
目錄
一,vsftpd的安裝
二,vsftpd.conf配置文件詳解
三,基於本地db庫文件認證的vsftpd
四,基於mysql數據庫認證的vsftpd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一.使用yum的方式安裝vsftpd
1. 安裝vsftpd
- #yum -y install vsftpd
- #service vsftpd restart
- #chkconfig vsftpd on
二.vsftpd.conf配置文件詳解
默認使用rpm安裝的vsftpd主配置文件在/etc/vsftpd/vsftpd.conf 這個文件裏有諸多的選項,下面來介紹下它們其中的妙意
1.匿名用戶類
- Anonymous_enable=yes 是否允許匿名用戶訪問
- Anon_umask=022 設置匿名用戶所上傳文件的默認權限掩碼
- Anon_root=/var/ftp 設置匿名用戶的ftp根目錄(不設置默認在/var/ftp目錄下)
- Anon_upload_enable=yes 是否允許匿名用戶上傳文件
- Anon_mkdir_write_enable=yes 是否允許匿名用戶創建目錄的寫入權限
- Anon_other_write_enable=yes 是否允許匿名用戶有其它寫入權限如:對文件 改名 覆蓋 及刪除
- Anon_max_rate=0 限制匿名用戶最多傳輸速率0爲不限制
- Local_enable=yes 是否允許本地系統訪問
- Local_umask=022 設置本地用戶所上傳的文件默認權限掩碼
- Local_root=/var/ftp 設置本地用戶的ftp跟目錄
- Chroot_local_user=yes 是否將ftp本地用戶禁錮在宿主目錄裏
- Local_max_rate=0 限制本地用戶最大的傳輸速率0爲不限制 (單位爲字節)
- Listen=yes 是否以獨立運行的方式監聽服務
- Listen_port=21 設置監聽ftp服務的端口
- Write_enable=yes 啓用任何形式的寫入權限(如上傳 刪除文件等) 都需要開啓此項
- Download_enable=yes 是否允許下載文件(建立僅限於瀏覽,上傳的ftp服務器是此項可設爲NO)
- Dirmessage_enable=yes 用戶切換進入目錄時顯示message文件(如果存在)的內容
- Xferlog_enable=yes 啓用xferlog日誌 默認記錄到/var/log/xferlog文件
- Xferlog_std_format=yes 啓用標準的xferlog日誌格式,若禁用此項,將使用vsftpd自己的日誌格式
- Connect_from_Port_20=yes 允許服務器主動模式(從20端口建立數據連接)
- Pasv_enable=yes 允許被動模式連接
- Pasv_max_port=24600 設置用於被動模式的服務器的最大端口號
- Pasv_ min_port=24500 設置用於被動模式的服務器的最小端口號
- Pam_Service_name=vsftpd 設置用於用戶認證的PAM文件位置
- Userlist_enable=yes 是否啓用use_list用戶列表文件
- Userlist_deny=yes 是否禁止user_list用戶列表中的用戶
- Max_clients=0 最多允許多少個客戶端同時連接(0爲無限制)
- Max_per_ip=0 對來自相同ip地址的客戶端最多允許多少個併發連接數(0 爲無限制)
- Tcp_wrappers=yes 是否啓用tcp_wrappers 機制
三,配置虛擬用戶,使用本地db庫作爲認證來源
1,安裝相關軟件包
- #yum -y install db4-utils
- #useradd -d /ftp -s /sbin/nologin vuser
- #chmod o=rwx /ftp
- #vim /etc/vsftpd/vsftpd.conf 內容如下
- anonymous_enable=YES
- local_enable=YES
- write_enable=YES
- local_umask=022
- dirmessage_enable=YES
- xferlog_enable=YES
- connect_from_port_20=YES
- xferlog_std_format=YES
- listen=YES
- pam_service_name=vsftpd
- userlist_enable=YES
- tcp_wrappers=YES
- guest_enable=yes #啓用用戶映射功能
- guest_username=vuser #虛擬用戶映射的系統用戶
- user_config_dir=/etc/vsftpd/vuser_conf #虛擬用戶的權限目錄
- #vim /etc/pam.d/vsftpd #註釋或刪除文件裏的內容,內容如下
- auth required pam_userdb.so db=/etc/vsftpd/ftpuser
- account required pam_userdb.so db=/etc/vsftpd/ftpuser
- vim /etc/vsftpd/user.txt #內容如下
- test #用戶名
- 1111 #test的密碼
- tech #用戶名
- 2222 #tech的密碼
- #db_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/ftpuser.db
- #chmod 600 /etc/vsftpd/ftpuser.db
- 給test用戶配置權限
- #vim /etc/vsftpd/vuser_conf/test 內容如下
- local_root=/ftp #設置ftp用戶的根目錄
- anon_upload_enable=yes #可以上傳文件
- anon_mkdir_write_enable=yes #可以創建目錄及寫入權限
- anon_other_write_enable=yes #用戶有其他的權限(如對文件改名覆蓋及刪除
- 給tech用戶設置權限
- #vim /etc/vsftpd/vuser_conf/tech 內容如下
- local_root=/ftp #設置根目錄
- anon_upload_enable=yes #可以上傳文件
- anon_mkdir_write_enable=yes #可以創建目錄及寫入權限
- anon_other_write_enable=yes #用戶有其他的權限(如對文件改名覆蓋及刪除
- #service vsftpd restart