所需要求:
真實存在,但不能登陸的用戶 對應的虛擬用戶
ftp1 vftp1
ftp2 vftp2
vip vvip
vftp1:只能下載
vftp2:只能上傳
vvip:即能上傳又能下載
下面開始實施步驟:
安裝所需軟件
yum -y install vsftpd db4 db4-devel
一、創建用戶數據庫
1.創建用戶文本文件---->建立三個賬號
vi /etc/vsftpd/ftpvuser.txt
在其中添加三個虛擬賬號,一人用戶和密碼各一行
如:
vftp1 ---用戶
vftp1pw ---vftp1密碼
2.生成數據庫(要事先安裝好db4和db4-devel這兩個軟件包)
db_load -T -t hash -f /etc/vsftpd/ftpvuser.txt /etc/vsftpd/vu.db
3.修改數據庫文件訪問權限
chmod 600 /etc/vsftpd/vu.db
二、配置PAM文件
vi /etc/pam.d/vsftpd
默認的配置全部注釋掉或刪除掉,添加兩行相應配置字段
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vu
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vu
PS:上面是32位的寫法,下面是64位系統的寫法:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vu
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vu
三、創建虛擬賬號
普通賬號對應系統賬號為ftp1,指定主目錄為/var/ftp/download
普通賬號對應系統賬號為ftp2,指定主目錄為/var/ftp/upload
特殊賬號對應系統賬號為vip,指定主目錄為/var/ftp/down_up
useradd -d /var/ftp/download -s /sbin/nologin ftp1
useradd -d /var/ftp/upload -s /sbin/nologin ftp2
useradd -d /var/ftp/down_up -s /sbin/nologin vip
chmod -R 500 /var/ftp/download 此目錄只允許下載,不能上傳
chmod -R 700 /var/ftp/upload 此目錄只允許上傳,不能下載
chmod -R 700 /var/ftp/down_up 此目錄允許上傳和下載
四、建立配置文件
1、修改vsftpd.conf 主配置文件
anonymous_enable=no
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
chroot_local_user=yes
user_config_dir=/etc/vsftpd/vuserconfig
max_clients=300
max_per_ip=10
2、建立虛擬賬號配置文件
mkdir /etc/vsftpd/vuserconfig
cat /etc/vsftpd/vuserconfig/vftp1
guest_enable=yes
guest_username=ftp1
anon_world_readable_only=no
anon_max_rate=100000
cat /etc/vsftpd/vuserconfig/vftp2
guest_enable=yes
guest_username=ftp2
anon_world_readable_only=yes
write_enable=yes
anon_mkdir_write_enable=yes
anon_upload_enable=yes
anon_max_rate=50000
cat /etc/vsftpd/vuserconfig/vvip
guest_enable=yes
guest_username=vip
anon_world_readable_only=no
write_enable=yes
anon_mkdir_write_enable=yes
anon_upload_enable=yes
anon_max_rate=150000
anon_other_write_enable=yes
五、啟動vsftpd服務
service vsftpd restart
六、測試略
到此整個實驗完成。