文章归档友情连接照片地图

ubuntu10.10下vsftpd配置虚拟用户

分类:服务器技术  作者:rming  时间:2010-10-28

一。 安装vsftp和db4
sudo apt-get install vsftpd
sudo apt-get install db4.6-util
二。建立虚拟用户口令库文件
sudo mkdir /etc/vsftpd
新建名为logins.txt的用户口令文件,
sudo gedit /etc/vsftpd/logins.txt
奇数行为用户名。偶数行为密码,如下用户User1的密码为123456,User2的密码为12345
User1
123456
User2
12345
admin
admin

三。生成vsftpd的认证文件

使用db_load命令生成认证文件:

db4.6_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
将vsftpd_login.db的权限设为只对root可读写,即600
chmod 600 /etc/vsftpd/vsftpd_login.db
四。建立虚拟用户所需的PAM配置文件

在/etc/pam.d目录中建立vsftpd.vu内容如下
sudo gedit /etc/pam.d/vsftpd.vu

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

五。建立虚拟用户所需的系统用户和主目录,需要提前建好文件夹
sudo useradd jtmvi -d /www -s /bin/false
sudo chown jtmvi.jtmvi /www
sudo chown jtmvi.jtmvi /www/User1
sudo chown jtmvi.jtmvi /www/User2
sudo chmod 700 /www

六。设置vsftpd.conf配置文件:(记得先备份)
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_old #备份
gedit /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=jtmvi
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES

七 。 对不同的虚拟用户设置不同权限
sudo mkdir /etc/vsftpd_user_conf
gedit /etc/vsftpd_user_conf/User1

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/www/User1

gedit /etc/vsftpd_user_conf/User2

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/www/User2

gedit /etc/vsftpd_user_conf/admin

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/www

#允许下载
anon_world_readable_only=NO
#允许写入,上传以及建立目录
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

#允许重命名和删除文件
anon_other_write_enable=YES

#默认情况下,上传到FTP站点的文件的拥有者都是ftpguest,其他用户是没有访问权限的
#所以,当访问网站的时候,会出现”没有权限访问该文件的错误”,这是由于Apache的用户
#www-data无法访问/var/www下的文件造成的,把umask设置成033甚至000即可解决这个问题.
anon_umask=007 ##虚拟用户需要使用anon_umask设置掩码,本地用户使用local_umask即可。

 

八。重启vsftpd
/etc/init.d/vsftpd restart



提交评论