deepin安装vsftpd(仅配置篇--续--虚拟用户篇)

来源:互联网 发布:淘宝怎么看以前的评价 编辑:程序博客网 时间:2024/05/29 16:14

踩了好多坑,耶学到很多东西,这里先贴出两篇东西的链接

http://www.cnblogs.com/allenjin/archive/2011/12/03/2274542.html这是虚拟用户参考的文章基本按照这样做了,

http://suchalin.blog.163.com/blog/static/55304677201266104536534/这是脱坑的一篇文章,尽然配置了虚拟用户不能用本地登陆了,多坑啊

0、先普及一下知识:

vsftp提供3种远程的登录方式:

(1)匿名登录方式

  就是不需要用户名,密码。就能登录到服务器电脑里面

(2)本地用户方式

  需要帐户名和密码才能登录。而且,这个帐户名和密码,都是在你linux系统里面,已经有的用户

(3)虚拟用户方式

  同样需要用户名和密码才能登录。但是和上面的区别就是,这个用户名和密码,在你linux系统中是没有的(没有该用户帐号)

1、前言:

不难看出虚拟用户并不是真的用户,而是用了linux某种机制去验证是否存在而已。

PS:感觉有点像javaee的文本检验的配置文件。。。感觉而已啦。

2、配置:

额,就是配置,因为软件都安装好。因为以前linux只有命令行,所以现在也只能还用老旧的配置方式了,有个界面多好啊,点点点,就好了,不乱说话了,配置额。

(1)首先,我们需要一个给pam验证的db文件:

需求:一个文本(装用户名密码),一个db软件,一个db文件

思路就是用db软件将文本转换为db文件。(是啰嗦了吧)需要添加新用户就重新生成一个新的同名db文件吧

软件:

apt-get install db5.3-util(记得在root下执行)

文本:

我是第二行用户名

我是第一行密码

我是第四行用户名

我是第三行密码

----etc.

基本就这一个规律吧,自己观察,不懂就看多几篇配置文章吧,勉强拉过去,嘻嘻

db文件:

db5.3_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db

(这里我的配置用户文本是/etc/csftpd下的login.txt,通过命令生成了在/etc/vsftpd下的vsftpd_login.db文件)

权限设置:

chmod 600 /etc/vsftpd/vsftpd_login.db(这个权限就是,只能root用户可以读写)

额。总算生成了。

(2)为pam添加指向db的配置

在/etc/pam.d文件夹下有个vsftpd,在最前面添加:(你也可以理解为最前面追加下面的两行,因为我看其他教程的时候,好迷茫啊,他们在说什么鬼)

auth sufficient pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient pam_userdb.so db=/etc/vsftpd/vsftpd_login

(3)建立一个新用户,并设置权限

useradd -d /home/ftp -s /sbin/nologin virtual

(还是那一句,没有这个文件夹就新建吧,总是新建很坑,但我也是新手啊,只能这么解决了)

chmod 755/home/ftp

(4)追加配置

在/etc/vsftpd.conf最后追加:
guest_enable=YES
guest_username=virtual(这个对应刚才新建的用户,可以看到这里就是指定一个普通用户而已)

以上配置就可以用本地用户和虚拟用户登陆ftp啦

至于他们是怎么关联的,好像看不粗来怎么关联的,但是就是能用了,呵呵

(5)为每一虚拟用户添加权限

在/etc/vsftpd文件夹下,新建一个vsftpd_user_conf文件夹(总之你看到少了什么就建什么吧,毕竟linux有那么一句话,一切皆文件)

并且在/etc/vsftpd.conf追加user_config_dir=/etc/vsftpd/vsftpd_user_conf,不难看出是我们新建的文件夹啊

mkdir /etc/vsftpd/vsftpd_user_conf

(建立文件夹)

touch /etc/vsftpd/vsftpd_user_conf/ftp6

(创建文件,这个命名有讲究,需要与db文件中的用户名相同,所以呢?我建了一个叫ftp6的虚拟用户啊)

我们打开ftp6,添加需要的配置(这个看个人情况添加)

local_root=/home/ftp/ftp6 
#这里的虚拟用户目录可以根据实际情况修改,还有就是这个ftp6没有也是需要自己创建的
write_enable=YES

(至于安全性那些也要你自己确定啦)

好啦配置到这里结束,每个用户的权限请自行配置


0 0