天天看点

ubuntu下使用vsftpd搭建ftp服务器

用什么开头呢?就用这个吧。

1.安装vsftpd

sudo apt-get install vsftpd

2.说明要求,服务器需要供三种用户访问,匿名用户,本地用户和虚拟用户,匿名用户就是anonymous,密码任意的用户,本地用户就是linux系统中真实存在的用户,虚拟用户是为了使客户能访问ftp服务器故意造出来的用户,和一个本地用户绑定

3.匿名用户,这个比较简单

sudo vi /etc/vsftpd.conf
           
anonymous_enable=YES
           

如此,即可登录,若想上传,再激活anon_upload_enable和anon_mkdir_wirte_enable激活,密码任意,如果上传的话,最好在/srv/ftp下再分一个目录出来。

4.本地用户

激活local_enable,wirte_enable即可,密码是你的密码。

5.虚拟用户

首先添加一个本地用户,用来给虚拟用户绑定

sudo mkdir /home/virtual
           
sudo useradd -d /home/virtual -s /sbin/nologin virtual
           
sudo chmod 755 /home/virtual
           

然后在/etc/vsftpd.conf中加入

guest_enable=YES
guest_username=virtual
           

在/etc目录下维护一个虚拟用户信息的文件users.txt(随便起),奇数行写用户名,偶数行写密码,

haha
123
           

还需要一个数据库工具

sudo apt-get install db-util
           

将用户信息生成格式化的文件

sudo db_load -T -t hash -f  users.txt /etc/users.db
           
sudo chmod 600 /etc/user.db
           

本地用户和虚拟用户的认证是在/etc/pam.d/vsftpd中进行的,必须在这个文件中写入相关信息,在文件开头加入下面代码,注意,是开头,头,头,否则本地用户将无法登陆

auth sufficient pam_userdb.so db=/etc/users.db
account sufficient pam_userdb.so db=/etc/users.db
           

还有,注意是sufficient,不是required。

如此这般,虚拟用户已经可以登陆,默认目录就是/home/virtual除此之外,还可对其私人定制,在/etc/vsftpd.conf中加入

user_config_dir=/etc/vsftpd_user_conf
           

然后创建这个目录,你想对haha做一些额外的配置,就在这个目录下,创建名为haha的文件,可以在里面写

local_root=/home/virtual/haha
write_enable=YES
virtual_use_local_privs=YES
           

等。

7结尾

结尾就是