vsftpd服务的配置(虚拟用户)

以下内容都在selinux为disabled情况下进行

#<ftp虚拟用户的设定>
创建虚拟帐号身份)
vim /etc/vsftpd/loginusers  ##文件名称任意
ftpuser1
123
ftpuser2
123
ftpuser3
123

db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db

vim /etc/pam.d/ckvsftpd     ##文件名称任意
account     required    pam_userdb.so   db=/etc/vsftpd/loginusers
auth        required    pam_userdb.so   db=/etc/vsftpd/loginusers

vim /etc/vsftpd/vsftpd.conf
pam_service_name=ckvsftpd
guest_enable=YES

虚拟帐号身份指定)
guest_username=ftpuser
chmod u-w /home/ftpuser

虚拟帐号家目录独立设定)
vim /etc/vsftpd/vsftpd.conf
 local_root=/ftpuserhome/$USER
 user_sub_token=$USER

mkdir /ftpuserhome
chgrp ftpuser /ftpuserhome
chmod g+s /ftpuserhome
mkdir /ftpuserhome/ftpuser{1..3}


虚拟帐号配置独立)
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf

vim /etc/vsftpd/userconf/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级高
FTP虚拟用户的设定
[root@localhost vsftpd]# vim /etc/vsftpd/loginusers 
[root@localhost vsftpd]# cat /etc/vsftpd/loginusers 
user1
123
user2
123
user3
123
[root@localhost vsftpd]# db_load -T -t hash -f /etc/vsftpd/loginusers  loginusers.db   必须在/etc/vsftpd下做这条命令
[root@localhost vsftpd]# vim /etc/pam.d/ckvsftpd
[root@localhost vsftpd]# cat /etc/pam.d/ckvsftpd
account required pam_userdb.so  db=/etc/vsftpd/loginusers
auth    required pam_userdb.so  db=/etc/vsftpd/loginusers
虚拟账号身份指定
[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf 
130 pam_service_name=ckvsftpd
131 guest_enable=YES
[root@localhost ftpdir]# systemctl restart vsftpd.service 
在另一边  lftp 172.25.254.220 -u user1   (这个时候student就进不去了)
[kiosk@foundation20 Desktop]$ lftp 172.25.254.220 -u student
Password: 
lftp student@172.25.254.220:~> ls      
ls: Login failed: 530 Login incorrect.          
如果出现500 则说明权限过大  得chmod u-w /home/*
[kiosk@foundation20 Desktop]$ lftp 172.25.254.220 -u user1
Password: 
lftp user1@172.25.254.220:~> ls        
drwxrwxr-x    3 0        50             91 Apr 23 04:52 pub
lftp user1@172.25.254.220:/> exit
虚拟帐号家目录设定
[root@localhost ~]# mkdir /ftpdir/user{1..3} -p
[root@localhost ftpdir]# mkdir /ftpdir/user{1..3}/upload
[root@localhost ftpdir]# touch /ftpdir/user1/userfile1
[root@localhost ftpdir]# touch /ftpdir/user2/userfile2
[root@localhost ftpdir]# touch /ftpdir/user3/userfile3
[root@localhost ftpdir]# echo $USER
root
[root@localhost ftpdir]# su - student
mkdir: cannot create directory '/home/student/.cache': Permission denied
[student@localhost ~]$ echo $USER  $USER变量名 可以显示当前用户名称
student
[student@localhost ~]$ exit
logout
[root@localhost ftpdir]# vim /etc/vsftpd/vsftpd.conf
 133 local_root=/ftpdir/$USER
 134 user_sub_token=$USER
[root@localhost ftpdir]# systemctl restart vsftpd.service 
另一边测试
[kiosk@foundation20 Desktop]$ lftp 172.25.254.220 -u user1
Password: 
lftp user1@172.25.254.220:~> ls        
drwxr-xr-x    2 0        0               6 Apr 23 07:32 upload
-rw-r--r--    1 0        0               0 Apr 23 07:32 userfile1
lftp user1@172.25.254.220:/> exit
[kiosk@foundation20 Desktop]$ lftp 172.25.254.220 -u user2
Password: 
lftp user2@172.25.254.220:~> ls        
drwxr-xr-x    2 0        0               6 Apr 23 07:32 upload
-rw-r--r--    1 0        0               0 Apr 23 07:33 userfile2
虚拟用户配置独立
[root@localhost ftpdir]# groupadd westos
[root@localhost ftpdir]# chgrp westos /ftpdir/user{1..3}/upload/
[root@localhost ftpdir]# chmod 775 /ftpdir/user{1..3}/upload/
[root@localhost ftpdir]# vim /etc/vsftpd/vsftpd.conf 
135 user_config_dir=/etc/vsftpd/userconfig
[root@localhost ftpdir]# systemctl restart vsftpd.service
[root@localhost ftpdir]# vim /etc/vsftpd/userconfig/user2   ##在此文件中设定配置文件中的所有参数,此文件的优先级高

 1 anon_mkdir_write_enable=YES
 2 anon_other_write_enable=YES
 3 anon_world_readable_only=NO
 4 ......  
[root@localhost ftpdir]#systemctl restart vsftpd.service                 

在另一边测试
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值