vsftpd 虚拟用户 多用户不同权限管理

1.需要建立一个用户,这个用户是linux系统的本地用户,各ftp帐号使用它和vsftpd的配合间接存取服务器文件。

#groupadd virtual

#useradd -g virtual vuser

2.建立ftp用户帐号列表子文件logins.txt

anvycn
test0
dym529
test1
admin
test2

用户名和密码依次隔开

#db_load -T -t hash -f ./logins.txt ./vsftpd_login.db

无论你在什么地方执行的,无论你的文件生成在哪里,请记住你vsftpd_login.db的地址,另外建议删除logins.txt

3.建立vsftpdpam_service文件,注意这里的db=path

#vi /etc/pam.d/vsftpd.vu

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

:qw保存

4.设置用户权限

建立用来存放用户权限设置文件的目录

#mkdir /etc/vfstpd/virtual

并在该文件夹下依次建立与logins.txt对应的帐号名称相同的文件

如:

[anvycn]仅仅允许下载

anon_world_readable_only=NO
local_root=/usr/local/apache/htdocs/anvy_test/

[dym529]允许建立,修改,但是不允许删除

anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
local_root=/usr/local/apache/htdocs/dym_test/

[admin]全部权限

anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/usr/local/apache/htdocs/

5.设置vsftpd.conf

#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

#vi /etc/vsftpd/vsftpd.conf

修改内容如下

listen=YES
#listen_port=10021
connect_from_port_20=YES
ftpd_banner=Welcome to virtual FTP service.

anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES

guest_enable=YES
guest_username=vuser

pasv_min_port=30000
pasv_max_port=30999

pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/virtual
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

hide_file=.*

[esc]

:qw

6.重新启动vsftpd

#/sbin/service vsftpd restart

反复2次,确认shutdownstart都是OK,如有错误,反复检查以上步骤

7.如有用户出现不能登入,目录意外拒绝现象,请检查目录是否存在,pam.d/vsftpd.vu是否无误,重要的是

#ls -l 你的ftp根目录查看owner是否属于 vuser:virtual,如果不是

#chown -R vuser:virtaul 你的ftp根目录

8.日常维护

壹。#db_load -T -t hash -f ./logins.txt ./vsftpd_login.db 更新帐号

贰。更新vsftpd/virtual/下对应的权限

叁。/sbin/service vsftpd restart

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7中的vsftpd(Very Secure FTP Daemon)是一个轻量级、安全的FTP服务器,用于在Linux系统上提供文件传输服务。虚拟用户配置是vsftpd的一个重要功能,它允许管理员为多个用户创建独立的FTP账户,而无需在系统中为每个用户设置单独的账户。 在CentOS 7中配置vsftpd虚拟用户,通常包括以下几个步骤: 1. **安装和启动vsftpd**: ``` sudo yum install vsftpd systemctl start vsftpd systemctl enable vsftpd ``` 2. **编辑vsftpd配置文件**: ``` sudo vi /etc/vsftpd/vsftpd.conf ``` 打开配置文件后,找到`anonymous_enable`行,将其设为`no`,以禁用匿名访问。 3. **启用虚拟用户模块**: 在配置文件中添加或修改以下行,启用虚拟用户支持: ``` virtual_use_local_privs=YES user_config_dir=/etc/vsftpd/user_conf ``` 还需创建`/etc/vsftpd/user_conf`目录并确保只有root有写权限。 4. **创建虚拟用户和设置权限**: 使用`sudo vsftpd_mkdb`命令初始化vsftpd数据库。然后,为每个虚拟用户创建一个名为`.ftpconfig`的文件,例如: ``` sudo tee /etc/vsftpd/user_conf/myuser.ftpconfig << EOF local_root=/home/myuser/public_html chroot_local_user=YES user_sub_token=YES pasv_enable=YES EOF ``` 这里设置了用户登录后的根目录,并启用了chrooting(限制用户只能在指定目录下操作)。 5. **配置vsftpd用户映射**: 如果需要,可以在`/etc/vsftpd.user_map`中定义用户映射规则。 6. **重启vsftpd服务**: ``` sudo systemctl restart vsftpd ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值