vsftpd服務配置

一、概述
    1、工作模式:
        主動模式:服務器主動對客戶端發起連接
        被動模式:服務器開啓相應端口,等待客戶端發起連接
    2、主動模式端口: 控制 21  傳輸數據 20
    3、被動模式端口: 隨機

二、安裝
    1、服務名:vsftpd
    2、主配置文件:/etc/vsftpd/vsftpd.conf
    3、驗證方式:
        匿名訪問
        本地用戶訪問
        虛擬用戶訪問
    4、軟件:
        服務器端 vsftpd 客戶端 ftp
三、匿名用戶

anonymous_enable=YES:啓用匿名訪問
anon_umask=022:匿名用戶所上傳文件的權限掩碼(無此項,默認600)
anon_root=/var/ftp:匿名用戶的FTP根目錄
anon_upload_enable=YES:允許上傳文件(服務器權限和目錄權限均需要設置)
anon_mkdir_write_enable=YES:允許創建目錄
anon_other_write_enable=YES:開放其他寫入權
anon_max_rate=0:限制最大傳輸速率(字節/秒)

四、本地用戶

local_enable=YES:是否啓用本地系統用戶
local_umask=022:本地用戶所上傳文件的權限掩碼
local_root=/var/ftp:設置本地用戶的FTP根目錄
chroot_local_user=YES:是否將用戶禁錮在主目錄
local_max_rate=0:限制最大傳輸速率(字節/秒)

常用的全局配置項:

listen_address=192.168.4.1:設置監聽的IP地址
listen_port=21:設置監聽FTP服務的端口號
write_enable=YES:是否啓用寫入權限
download_enable=YES:是否允許下載文件
max_clients=0:限制併發客戶端連接數
max_per_ip=0:限制同一IP地址的併發連接數
Pasv_min_port=50000  將客戶端的數據連接端口改在
Pasv_max_port=60000      50000—60000之間)

訪問限制:

userlist_enable=YES:是否啓用user_list列表文件
userlist_deny=YES:是否禁用user_list中的用戶
Userlist_deny=NO;

其它安全選項:

connect_timeout=60
accept_timeout=60
data_connection_timeout=300
idle_session_timeout=300
ftpd_banner=xxx和banner_file=/path/file
tcp_wrappers=YES


五、訪問控制

userlist_enable=YES
userlist_deny=YES時
出現在/etc/vsftpd/user_list文件裏的用戶,會被拒絕訪問FTP服務器
userlist_enable=YES
userlist_deny=NO
只允許出現在/etc/vsftp/user_list文件裏的用戶登錄FTP服務器
/etc/vsftpd/ftpusers
出現在該文件裏的用戶,全部拒絕訪問FTP服務器,不管user_list做任何設置

六、虛擬用戶    
    特點:
        a、減少系統用戶的數據,提高系統安全性
        b、根據不同的用戶,設置不同的訪問權限
創建賬號數據:
1.建立虛擬FTP用戶的帳號數據庫文件
2.創建FTP根目錄及虛擬用戶映射的系統用戶
3.建立支持虛擬用戶的PAM認證文件
添加虛擬用戶支持
4.在vsftpd.conf文件中添加支持配置
5.爲個別虛擬用戶建立獨立的配置文件
啓動服務並測試
6.重新加載vsftpd配置
7.使用虛擬FTP賬戶訪問測試

[root@localhost]# vi /etc/vsftpd/vusers.list    #建立虛擬用戶
zhangsan
123
lisi
456
[root@localhost]# cd /etc/vsftpd/
[root@localhost vsftpd]# db_load -T -t hash -f vusers.list vusers.db    #建立虛擬FTP用戶的帳號數據庫文件
[root@localhost vsftpd]# file vusers.db    #查看數據庫文件
vusers.db: Berkeley DB (Hash, version 8, native byte-order)
[root@localhost vsftpd]# chmod 600 /etc/vsftpd/vusers.*
[root@localhost vsftpd]# ls -lh /etc/vsftpd/vusers.*
-rw------- 1 root root 12K 02-26 08:51 /etc/vsftpd/vusers.db
-rw------- 1 root root  18 02-26 08:48 /etc/vsftpd/vusers.list

2.創建FTP根目錄及虛擬用戶映射的系統用戶

[root@localhost]# useradd -d /var/ftproot -s /sbin/nologin virtual
[root@localhost]# chmod 755 /var/ftproot/

3.建立支持虛擬用戶的PAM認證文件

[root@localhost]# vi /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth       required     pam_userdb.so db=/etc/vsftpd/vusers
account    required     pam_userdb.so db=/etc/vsftpd/vusers

4.在vsftpd.conf文件中添加支持配置

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
……
local_enable=YES
write_enable=YES
anon_umask=022
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu

5.爲不同的虛擬用戶建立獨立的配置文件
在vsftpd.conf文件中添加用戶配置目錄支持
         user_config_dir=/etc/vsftpd/vusers_dir
    爲用戶mike、john建立獨立的配置目錄及文件
         配置文件名與用戶名相同

[root@localhost ~]# mkdir /etc/vsftpd/vusers_dir/
[root@localhost ~]# cd /etc/vsftpd/vusers_dir/
[root@localhost vusers_dir]# vi zhangsan
anon_upload_enable=YES
anon_mkdir_write_enable=YES
[root@localhost vusers_dir]# touch lisi


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章