Ubuntu中vsftpd采用虚拟用户方法实现不同用户不同权限

[size=large][b]注:以下大部分命令需要系统用户权限,前面加sudo[/b][/size] [size=medium]

[b]1、安装vsftpd和db4.8 [/b]
[list]
[*]$sudo apt-get install vsftpd
[*]$sudo apt-get install db4.8-util
[/list]

[b]2、建立本地虚拟用户 [/b]
[list]
[*]$useradd -d /home/issme/ftp virtual
[*]$chown virtual:virtual /home/issme/ftp
[/list]
建立本地用户virtual,指定目录为/home/issme/ftp

[b]3、建立虚拟用户数据库[/b]
[list]
[*]$mkdir /etc/vsftpd
[*]$vim /etc/vsftpd/login.txt [/list] login.txt文件内容:
[list]
[*]student
[*]123
[*]admin
[*]admin
[/list]
注:奇数行为用户名,偶数行为密码。

[list]
[*]$db4.8_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db
[*]$chmod 600 /etc/vsftpd/vsftpd_login.db
[/list]

[b]4、建立基于vsftpd_login的PAM授权文件[/b]
[list]
[*]vim /etc/pam.d/vsftpd.vu
[/list] vsftpd.vu文件内容:
[list]
[*]auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
[*]account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
[/list]
注:有些文件的授权文件名为vsftpd而不是vsftpd,没有关系,只要在配置文件里应用相对应的文件就行

[b]5、设置用户权限 建立用来存放用户权限设置文件的目录 [/b]
[list]
[*]$mkdir /etc/vfstpd/virtual
[/list]
并在该文件夹下依次建立与logins.txt对应的帐号名称相同的文件 内容可以参考下面:
只允许下载
[list]
[*]anon_world_readable_only=NO
[*]local_root=/home/issme/ftp
[/list]
允许建立,修改,但是不允许删除
[list]
[*]anon_world_readable_only=NO
[*]write_enable=YES
[*]anon_mkdir_write_enable=YES
[*]anon_upload_enable=YES
[*]local_root=/home/issme/ftp
[/list]
全部权限
[list]
[*]anon_world_readable_only=NO
[*]write_enable=YES
[*]anon_mkdir_write_enable=YES
[*]anon_upload_enable=YES
[*]anon_other_write_enable=YES
[*]local_root=/home/issme/ftp
[/list]
注:local_root用来指定该用户的根路径

[b]6、设置vsftpd.conf[/b]
[list]
[*]$vim /etc/vsftpd.conf
[/list]
修改内容如下:
[list]
[*]listen=YES
[*]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=virtual
[*]pam_service_name=vsftpd.vu
[*]user_config_dir=/etc/vsftpd/virtual
[*]xferlog_enable=YES
[*]xferlog_file=/var/log/vsftpd.log
[/list]

[b]7、重新启动vsftpd[/b]
[list]
[*]$service vsftpd restart
[/list]


[b]【可能出现的问题】[/b]
1、无法登陆 解决方法:
(1)检查ftp根目录目录是否存在;
(2)检查上面设置的各个路径是否正确;
(3)查看ftp根目录的owner属性是否是virtual
$ls -al /home
如果不是
$chown -R virtual /home/issme/ftp


[b]【日常维护】[/b]
(1)更新帐号
$db4.8_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db
(2)更新/etc/vsftpd/virtual/下不同用户对应的权限
(3)重启vsftpd
$service vsftpd restart[/size]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值