安裝程序包
yum -y install vsftpd
yum -y installdb4-utils db4
創建虛擬用戶
vi /etc/vsftpd/vusers.list
建立db數據庫,同時只有root用戶才能讀寫
db_load -T -thash -f vusers.list /etc/vsftpd/vsftpd_login.db
chmod 600/etc/vsftpd/vsftpd_login.db
配置pam文件
vim/etc/pam.d/vsftpd.vu (64位系統)
32位系統把lib64改成lib就行
建立虛擬用戶對應的系統真實用戶 這裏用vftpusers這個賬戶 指向路徑/opt/vsftp
Useradd vftpusers -d/opt/vsftp -s /sbin/nologin
Chown vftpusers:vftpusers /opt/vsftp
修改配置文件如下可根據個人需求修改 紅色字需注意
[root@vsftpd ~]#cat /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_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=vftpusers (整個虛擬目錄的管理用戶)
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf(指定虛擬用戶配置文件夾路徑)
virtual_use_local_privs=YES
pasv_min_port=50000
pasv_max_port=50010
pasv_enable=yes
max_clients=200
max_per_ip=4
idle_session_timeout=600
ftpd_banner=Welcometo Linux FTP Service.
建立虛擬用戶配置文件
mkdir/etc/vsftpd/vsftpd_user_conf
vim/etc/vsftpd/vsftpd_user_conf/user1 2 3
所有權限
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=/opt/vsftp/user1local_root=/opt/vsftp/user1
上傳權限
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=NO
local_root=/opt/vsftp/user2
只能下載
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=/opt/vsftp/user3
service vsftpdrestat 重啓服務
chkconfigvsftpd on 開機啓動
配置文件詳解
註釋如下:
anonymous_enable=NO
設定不允許匿名訪問
local_enable=YES
設定本地用戶可以訪問。注意:主要是爲虛擬宿主用戶,如果該項目設定爲NO那麼所有虛擬用戶將無法訪問。
write_enable=YES
設定可以進行寫操作。
local_umask=022
設定上傳後文件的權限掩碼。
anon_upload_enable=NO
禁止匿名用戶上傳。
anon_mkdir_write_enable=NO
禁止匿名用戶建立目錄。
dirmessage_enable=YES
設定開啓目錄標語功能。
xferlog_enable=YES
設定開啓日誌記錄功能。
connect_from_port_20=YES
設定端口20進行數據連接。
chown_uploads=NO
設定禁止上傳文件更改宿主。
xferlog_file=/var/log/vsftpd.log
設定Vsftpd的服務日誌保存路徑。注意,該文件默認不存在。必須要手動touch出來,並且由於這裏更改了Vsftpd的服務宿主用戶爲手動建立的Vsftpd。必須注意給與該用戶對日誌的寫入權限,否則服務將啓動失敗。
xferlog_std_format=YES
設定日誌使用標準的記錄格式。
nopriv_user=vsftpd
設定支撐Vsftpd服務的宿主用戶爲手動建立的Vsftpd用戶。注意,一旦做出更改宿主用戶後,必須注意一起與該服務相關的讀寫文件的讀寫賦權問題。比如日誌文件就必須給與該用戶寫入權限等。
async_abor_enable=YES
設定支持異步傳輸功能。
ascii_upload_enable=YES
ascii_download_enable=YES
設定支持ASCII模式的上傳和下載功能。
ftpd_banner=Welcome to Awei FTP servers
設定Vsftpd的登陸標語。
chroot_local_user=YES
禁止本地用戶登出自己的FTP主目錄。
pam_service_name=vsftpd
設定PAM服務下Vsftpd的驗證配置文件名。因此,PAM驗證將參考/etc/pam.d/下的vsftpd文件配置。
以下這些是關於Vsftpd虛擬用戶支持的重要配置項目。默認Vsftpd.conf中不包含這些設定項目,需要自己手動添加配置。
guest_enable=YES
設定啓用虛擬用戶功能。
guest_username=ftp
指定虛擬用戶的宿主用戶。
virtual_use_local_privs=YES
設定虛擬用戶的權限符合他們的宿主用戶。
user_config_dir=/etc/vsftpd/ vsftpd_user_conf
設定虛擬用戶個人Vsftp的配置文件存放路徑。也就是說,這個被指定的目錄裏,將存放每個Vsftp虛擬用戶個性的配置文件,一個需要注意的
地方就是這些配置文件名必須和虛擬用戶名相同
感謝各大網友文檔參考