vsftpd配置记录
实现本地用户认证,虚拟用户本地认证数据,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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |