天天看点

centOS vsftpd 的虚拟用户

 今天由于需求搭建了ftp服务,这里需要注意的是centOS和linux下的redhat 是有不同之处的,亲身做过、研究过,把一些学习之处说一说,如有错误,请大家指教;

首先,搭建vsftpd 服务:安装包即可

rpm -ivh /var/ftp/CentOS/vsftpd-2.0.5-12.el5.x86_64.rpm    (包的默认路径是在/media/cdrom/CentOS/ 下),安装即可

因为是建虚拟用户,直接就奔主题去了。。呵呵

1.先vi 一个文本文档,奇数行是用户名,偶数行是密码,这点大家切记

文档名字任意起,我这边写成了lonin.txt  ,lonin里面写的就是咱们虚拟账户的名字和密码。,

frank

coolbar1!.0

sanguo

2.虚拟用户需要一个数据库的转换,依赖于包db4,db4-utils,db4-devel

db4-devel-4.3.29-9.fc6

db4-4.3.29-9.fc6

db4-utils-4.3.29-9.fc6

3.将咱们建的文档转变成数据库的形式。,,这一点很重要

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

chmod 700 /etc/vsftpd/vsftpd_login.db   这样做事禁止其他用户查看数据库里面的用户,安全性很重要

4.添加pam认证。需要安装包

pam-devel-0.99.6.2-4.el5

pam-0.99.6.2-4.el5

pam_pkcs11-0.5.3-23

同时也要编辑/etc/pam.d/vsftpd

[root@localhost ~]# cat /etc/pam.d/vsftpd

#%PAM-1.0

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

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

这两行放在文件头部,而且参数与linux redhat是不同的,

此后,要建立虚拟账号,useradd -d /home/ftpsite/ vritual

这时需要注意的是,此时你的虚拟账号上传的目录必须在home/ftpsite下。否侧会提示你密码不正确或者是500OPS错误

这样就ok了。。。下面要做的就是对vsftpd.conf的编辑了

对于文件的编辑,我就不在这解释原因了。。

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

ascii_upload_enable=YES

ascii_download_enable=YES

listen=YES

guest_enable=YES

guest_username=virtual

pam_service_name=vsftpd

user_config_dir=/etc/vsftpd/user_conf

virtual_use_local_privs=YES

之后咱们要在/etc/vsftpd/user_conf 编辑虚拟账户的权限

那我的虚拟用户frank

local_root=/home/ftpsite/SanGuo

anon_world_readable_only=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

这样用frank用户登录即可

[root@localhost user_conf]# ftp 192.168.2.46

Connected to 192.168.2.46.

220 (vsFTPd 2.0.5)

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (192.168.2.46:root): frank

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

这样就OK了、、、如果大家有什么疑问的,或者没有做出来效果的,可以加QQ群:140704742

谢谢

      本文转自天真花语  51CTO博客,原文链接:http://blog.51cto.com/caibird/600278,如需转载请自行联系原作者