您的位置:首页 > 编程语言 > PHP开发

vsftp虚拟用户配置

2010-07-16 16:13 555 查看
yum install -y db4-utils

即可安装

其它服务器上,则要到安装光盘上找,或者去网上下载

为vsftp建立虚拟用户

在RedHat AS里,是自带了vsftpd为系统提供了一个ftp服务,但在实际应用中根据自己的需要还是要做不少的配置。

我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以比较好的方法是用vsftpd的虚拟用户(virtual users)。

配置的步骤如下

1) Create the virtual users database.(建立虚拟用户数据库)

大家看一下logins.txt文件的格式,它的内容是:

tom

foo

fred

bar

意思是说用户tom的密码是foo,用户fred的密码是bar,这就是虚拟用户的信息,大家可以按

<用户名>

<密 码>

的格式来建立自己的虚拟用户群。

然后以root用户登录系统,建立用户数据库:

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

该命令会建立一个文件 /etc/vsftpd/vsftpd_login.db ,同时改变它的文件属性:

chmod 600 /etc/vsftpd/vsftpd_login.db

2) Create a PAM file which uses your new database.(建立PAM文件,告诉系统你要使用自己的数据库了)

vim /etc/pam.d/vsftpd.vu

添加以下两行,这里是64位系统,用的是lib64,如果32位用lib

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd_login

account required /lib64/security/pam_userdb.so db=/etc/vsftpd_login

这是告诉系统,我将用新的用户授权库了。ok,把这个文件copy到/etc/pam.d/ftp:

3) Set up the location of the files for the virtual users(为虚拟用户建立文件夹)

useradd -d /ftpsite virtual

ls -ld /ftpsite

(会得到以下输出):

drwx------ 3 virtual virtual 4096 Jul 30 00:39 /ftpsite

4)修改vsftpd.conf文件

文件在/etc/vsftpd/vsftpd.conf,在后面加上:

anonymous_enable=NO

chroot_local_user=YES

user_config_dir=/etc/vsftpd/vsftpd_vu

pam_service_name=/etc/pam.d/vsftpd.vu

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=virtual

pasv_min_port=55500

pasv_max_port=55600

pasv_enable=YES

5)建立用户的权限

先mkdir /etc/vsftpd_vu

//开放tom和fred的读权限

echo "anon_world_readable_only=NO">/etc/vsftpd/vsftpd_vu/tom

echo "anon_world_readable_only=NO">/etc/vsftpd/vsftpd_vu/fred

这样就可以用读权限了,能看到目录和文件。

6)重启vsftpd

service vsftpd restart

ok,用tom用户登录ftp看看,是不是已经可以了

特别注意:

1。如果要删除掉一个虚拟用户,先在logins.txt中删除用户对应的用户名和密码,然后删除vsftpd_login.db,重新运行db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db

2。如果只是要修改用户的密码,只需重新运行db_load就可以

3。如果要改变用户的其它配置,只需修改用户的配置文件

主要配置文件:
yum install -y db4-utils-4.3.29-10.el5_5.2

生成数据库文件:
db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db

创建安全认证模块:
vim /etc/pam.d/vsftpd.vu

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

创建guest用户:
useradd -d /ftpsite virtual

chmod 700 /ftpsite

追加配置文件:
vim /etc/vsftpd/vsftpd.conf

chroot_local_user=YES

user_config_dir=/etc/vsftpd/vsftpd_vu

pam_service_name=/etc/pam.d/vsftpd.vu

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=virtual

pasv_min_port=55500

pasv_max_port=55600

pasv_enable=YES

ftp个人文件:

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/ftpsite/admin

anon_umask=022本文出自 “网事” 博客,请务必保留此出处http://gxjluck.blog.51cto.com/1211751/350888
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: