vsftp虛擬用戶安裝配置

系統centos5.4_X64

安裝:yum -y install vsftpd db*
需求:
虛擬三個用戶,使用同一個家目錄。權限如下
ftpadmin  讀寫刪除(上傳、下載、刪除)
ftpuser   讀寫(上傳、下載、不能刪除)
ftp       讀(只能下載)
複製代碼
目錄爲:/ftpdata
密碼統一爲:123456
一、創建虛擬用戶數據庫:
1、創建文件文件loginuser.txt
格式如下:
用戶名
密碼
vi /etc/vsftpd/loginuser.txt
ftpadmin
123456
ftpuser
123456
ftp
123456
複製代碼
2、生成數據庫文件:
db_load -T -t hash -f /etc/vsftpd/loginuser.txt /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
複製代碼
3、配置pam文件
vi /etc/pam.d/vsftpd.vu
64位換成(lib64)
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
二、爲虛擬用戶創建本地系統用戶
useradd vsftp -d /ftpdata -s /bin/false
chown vsftp.vsftp /ftpdata
複製代碼
三、vsftpd.conf配置
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
rm -rf /etc/vsftpd/vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_port=21
userlist_enable=YES
chroot_local_user=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vsftp
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
pasv_min_port=50000
pasv_max_port=60000
pasv_enable=yes
max_clients=200
max_per_ip=10
local_max_rate=50000
idle_session_timeout=600
ftpd_banner=Welcome to  FTP service

#mkdit -p /ftpdata
#mkdir /etc/vsftpd/vsftpd_user_conf
#vi /etc/vsftpd/vsftpd_user_conf/ftpadmin 所有權限
write_enable=YES
anonymous_enable=NO
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=Yes
local_root=/ftpdata

vi /etc/vsftpd/vsftpd_user_conf/ftpuser 能下載、上傳但不能刪除
write_enable=YES
cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SIZE,STOR,TYPE,USER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,FEAT
file_open_mode=0444
local_root=/ftpdata

vi /etc/vsftpd/vsftpd_user_conf/ftp 只能下載
write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
local_umask=022
download_enable=yes
local_root=/ftpdata

service vsftpd restart
測試:
ftp -n localhost
Connected to ifidc.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
220 Welcome to tfhudong FTP service
ftp> use ftpadmin
331 Please specify the password.
Password:
230 Login successful.
ftp> quit
221 Goodbye.

如果出現500 oops錯誤,請執行:setsebool ftpd_disable_trans 1

補充:
如果對上傳用戶要限制其上傳目錄(主目錄),需要加入
local_root=/ftpdata/   ftpdata是我自己的設置的,可按實際需求來
前將local_root=/ftpdata/給予相應的權限

特別注意:
1。如果要刪除掉一個虛擬用戶,先在logins.txt中刪除用戶對應的用戶名和密碼,然後刪除vsftpd_login.db,重新運行db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
2。如果只是要修改用戶的密碼,只需重新運行db_load就可以
3。如果要改變用戶的其它配置,只需修改用戶的配置文件

 

vsftpd.conf的參數詳解


Anonymous_enable=yes                        允許匿名登陸
Dirmessage_enable=yes                         切換目錄時,顯示目錄下.message的內容
Local_umask=022                                  FTP上本地的文件權限,默認是077
Connect_form_port_20=yes                   啓用FTP數據端口的數據連接
Xferlog_enable=yes                               激活上傳和下傳的日誌
Xferlog_std_format=yes                         使用標準的日誌格式
Ftpd_banner=XXXXX                              顯示歡迎信息
Pam_service_name=vsftpd                      驗證方式
Listen=yes                                            獨立的VSFTPD服務器
Anon_upload_enable=yes                       匿名用戶上傳權限
Anon_mkdir_write_enable=yes                創建目錄的同時可以在此目錄中上傳文件
Write_enable=yes                                  本地用戶寫的權限
Anon_other_write_enable=yes                匿名帳號可以有刪除的權限
Anon_world_readable_only=no                匿名用戶瀏覽權限
Ascii_upload_enable=yes                         啓用上傳的ASCII傳輸方式
Ascii_download_enable=yes                     啓用下載的ASCII傳輸方式
Banner_file=/var/vsftpd_banner_file          用戶連接後歡迎信息使用的是此文件中的相關信息
Idle_session_timeout=600(秒)              用戶會話空閒後10分鐘
Data_connection_timeout=120(秒)       將數據連接空閒2分鐘斷
Accept_timeout=60(秒)                      將客戶端空閒1分鐘後斷
Connect_timeout=60(秒)                    中斷1分鐘後又重新連接
Local_max_rate=50000(bite)                本地用戶傳輸率50K
Anon_max_rate=30000(bite)               匿名用戶傳輸率30K
Pasv_min_port=5000                             將客戶端的數據連接端口改在
Pasv_max_port=6000                             5000—6000之間
Max_clients=200                                    FTP的最大連接數
Max_per_ip=4                                       每IP的最大連接數
Listen_port=5555                                  從5555端口進行數據連接
Local_enble=yes                                    本地帳戶能夠登陸
Write_enable=no                                   本地帳戶登陸後無權刪除和修改文件
Chroot_local_user=yes                            本地所有帳戶都只能在自家目錄
Chroot_list_enable=yes                           文件中的名單可以調用
Chroot_list_file=/etc/vsftpd.chroot_list      前提是chroot_local_user=no
Userlist_enable=yes                                在指定的文件中的用戶不可以訪問
Userlist_deny=yes
Userlist_file=/etc/vsftpd.user_list
Banner_fail=/路徑/文件名                         連接失敗時顯示文件中的內容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2                          將虛擬服務綁定到某端口
Guest_enable=yes                                   虛擬用戶可以登陸
Guest_username=所設的用戶名                 將虛擬用戶映射爲本地用戶
Chown_uploads=yes                                改變上傳文件的所有者爲root
Chown_username=root
Deny_email_enable=yes                           是否允許禁止匿名用戶使用某些郵件地址
Banned_email_file=//任意指定的路徑/xx/
Pasv_enable=yes                                     服務器端用被動模式
User_config_dir=/任意指定的路徑//任意文件目錄 指定虛擬用戶存放配置文件的路徑

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