前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vsftp +mysql 配置详细过程

vsftp +mysql 配置详细过程

作者头像
苦咖啡
发布2018-05-07 16:44:57
1.6K0
发布2018-05-07 16:44:57
举报
文章被收录于专栏:我的博客我的博客

本文章由网友:苶然(QQ网名)供稿,在此特别感谢他 需要安装包 db4-* vsftpd- mysql-server mysql-devel pam-devel pam_mysql-0.7RC1.tar.gz ///需要有gcc,gcc-g++等其他才能成功编译 setsebool -P ftp_home_dir=1 授权用户登录到服务器时允许vsftpd将用户引导到家目录

只让用户访问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 account sufficent /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 auth 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.我试过这样写,但是虚拟用户和本地用户都无法登录。但是sufficient表示通过这个模块就不进行下面的检查了。这样可以让本地用户也可以登录

一下是设置虚拟用户的权限,最好将下面5个anon—放到用户配置文件里面去。而在主配置文件写成NO write_enable= 允许用户上传数据 anon_upload_enable= 上传 anon_mkdir_write_enable= 新建目录 anon_other_write_enable= 写入(删除) anon_world_readable_only= 允许下载 anon_umask 实现一个虚拟用一个目录。 可以在/etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/userconfig ///设置用户权限文件目录 touch zhang local_root=/var/ftp/vsftpd/zhang chown vsftpd:vsftpdgroup /var/ftp/vsftpd/zhang 修改所在目录建立文件的权限 cd /var/ftp/ umask local_umask=022,anon_umask==022 file_open_mode= 上传档案的权限,与chmod 所使用的数值相同。如果希望上传的文件可以执行,设此值为0777。默认值为0666。 local_umask 设置本地用户权限 anon_umask 设置匿名用户和虚拟用户权限 但是仅仅通过umansk 无法设置出可执行权限,如果要赋予可执行权限应使用file_open_mode=0777 但是ftp用户创建的目录权限符合umask.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011年9月7日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档