快速业务通道

vsftpd配置记录

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-26

实现本地用户认证,虚拟用户本地认证数据,MYSQL认证,ftps.

只让用户访问ftp不让用户登录到系统,可以如下设置shell

useradd zhang -s /sbin/nologin

实现虚拟用户访问

一:通过本地用户数据认证

1:创建虚拟用户映射到本地的用户

useradd -d /var/ftp/vsftpd -s /sbin/nologin vsftpd

chmod o rw /var/ftp/vsftpd

####修改/etc/vsftpd/vsftpd.conf

guest_enable=YES

guest_username=vsftpd /////映射到的那个账户

####生成本地账户文件

vim /etc/vsftpd/vsftpduser.txt

zhang ///虚拟用户账号

123456 ///密码

li

123456

####将txt转化为db文件

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

chmod 600 /etc/vsftpd/vsftpduser.db

rm -rf /etc/vsftpduser.txt

####修改pam 认证文件.在原内容之前添加,原内容不注销:

auth sufficient /lib/security/pam_userdb.so db=/etc/vstpd/vsftpduser //注意不加.db

auth sufficient /lib/security/pam_userdb.so db=/etc/vstpd/vsftpduser

////如果写成 把/etc/pam.d/vsftp 原来的内容注销掉.写成

auth required /lib/security/pam_userdb.so db=/etc/vstpd/vsftpduser

account required /lib/security/pam_userdb.so db=/etc/vstpd/vsftpduser

就会导致本地用户无法登录.看各人需要设置

###重启服务

service vsftpd restart

二:通过MYSQL认证

通过yum install mysql-devel mysql-server之后要设置mysql管理员密码

mysqladmin -u root -p password 123456

进入mysql

mysql -u root -p

mysql>create database vsftpd; ///建立名为vsftpd 的库

mysql>use vsftpd ///进入库

mysql>creare table users (name char(16) binary,pwd char(16) binary);//建立表users,创建2个列,name,pwd.设置长度为16,数据类型为binary

mysql>insert into users (name,pwd) values (''zhang'',''123456''); //向表中添加用户

mysql>grant select on vsftpd.users to mysqlvsftpd@localhost identified by ''123456'';////建立mysql用户mysqlvsftpd,密码123456 ,并给予其select 表vsftpd.users的权利

mysql>flush privileges;

###用 mysqlvsftpd 登录mysql, 检查是否能查询表

mysql -u mysqlvsftpd -p

mysql>use vsftpd

mysql>select * from user; ///检查是否出现刚才添加的用户

创建虚拟用户映射到本地的用户,创建组

gruopadd vsftpdgruop

useradd -d /var/ftp/vsftpd -s /sbin/nologin vsftpd -g vsftpdgroup

chmod o rw /var/ftp/vsftpd

####修改/etc/vsftpd/vsftpd.conf

guest_enable=YES

guest_username=vsftpd /////映射到的那个账户

####修改pam 认证文件.在原内容之前添加:

auth sufficient /lib/security/pam_mysql.so user=mysqlvsftpd passwd=123456 localhost=host db=vsftpd table=users usercolumn=name passwdcolumn=pwd

account sufficient /lib/security/pam_mysql.so user=mysqlvsftpd passwd=123456 localhost=host db=vsftpd table=users usercolumn=name passwdcolumn=pwd

将上面2行写成 auth required,account required表示只通过mysql认证

一下是设置虚拟用户的权限,最好将下面5个anon---放到用户配置文件里面去.而在主配置文件写成NO

write_enable= 允许用户上传数据

anon_upload_enable= 上传

anon_mkdir_write_enable= 新建目录

anon_other_write_enable= 写入(删除)

anon_world_readable_only= 允许下载

anon_umask

实现一个虚拟用一个目录.

可以在/etc/vsftpd/vsftp

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号