vsftpd虚拟用户设置及维护

此方法参照网友Deidara 的博客文章完成。

系统 : ubuntu server 8.10

第一部分:虚拟用户设置

1。安装
$sudo apt-get install vsftp db4.6-util
2。建立虚拟用户使用目录
#sudo mkdir -p /home/ftp
设置只允许ftp 访问
$chown ftp.root /home/ftp
3.创建用户数据库
$sudo gedit user.txt
xu (虚拟用户)
xu (虚拟用户密码)
user1
user1
……等等。
格式为一行用户名,一行密码~~
生成数据库~
$sudo db4.6_load -T -t hash -f user.txt /etc/vsftpd_login.db
为了安全设置一下访问权限
$chmod 600 /etc/vsftpd_login.db
4.配置PAM文件
ubuntu apt安装vsftp默认是有一个PAM文件的,但是在里面添加会不生效不知道为什么,所以我新建/etc/pam.d/vsftpd.vu

$ sudo gedit /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
我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd.vu来启用的。
5。配置/etc/vsftpd.conf

根据需要创建/etc/vsftpd.conf,一般要确保含有以下设置:
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES
到现在为止,我们的虚拟用户都可以工作了,可是它们的根目录现在都是/home/ftp,权限也都一样。 那么怎么才能完成我们预定的目标呢?
6。配置/etc/vsftpd_user_conf
在上面的配置中,有这么一行
user_config_dir=/etc/vsftpd_user_conf
现在,我们要把各个用户的配置文件放到目录/etc/vsftpd_user_conf中
$sudo mkdir /etc/vsftpd_user_conf
$sudo cd /etc/vsftpd_user_conf
$sudo gedit xu
加入
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/ftp
好了现在 xu就用控制ftp所有权限了。
7。$sudo /etc/init.d/vsftp restart 重启服务

ftp://localhost 可以测试了。

第二部分:用户维护

在以上的安装过程中,我们是先在user.txt中保存用户名和密码的,然后再写到数据库文件,最后根据需要建立对应的用户配置文件。那么,用户的维护可以分为以下几个步骤:

1、修改user.txt

$ sudo gedit user.txt

2、更新用户数据库文件

$sudo db4.6_load -T -t hash -f user.txt /etc/vsftpd_login.db
为了安全设置一下访问权限
$chmod 600 /etc/vsftpd_login.db

3、根据需要创建用户配置文件

4、重启服务

$sudo /etc/init.d/vsftp restart

你可能感兴趣的:(工作,ubuntu,Security,F#)