vsftp+pam.d+mysql虚拟用户配置
转载请注明文章转载自:Dbabc.Net [http://dbabc.net]
本文链接:http://dbabc.net/archives/2011/10/02/vsftp_mysql_vir.shtml
vsftp+pam.d+mysql虚拟用户配置
1、从安装包或yum安装vsftp
yum -y install vsftpd
2、首先配置vsftpd.conf
anonymous_enable=NO ##禁用匿名用户 local_enable=YES ##是否启用本地用户登入权限 write_enable=YES ##控制是否有添加,上传,删除任何修改的权限 local_umask=022 ##上传文件的umask值 connect_from_port_20=YES ##打开数据端口 xferlog_std_format=YES ##控制日志文件是否使用xferlog的标准格式 xferlog_file=/var/log/xferlog ##日志文件 chroot_local_user=YES ##将使用者限制在家目录内 user_config_dir=/etc/vsftpd/user_config ##在此目录下为每个用户做设定档 pam_service_name=vftp ##pam验证文件名 userlist_enable=YES ##启用此项将读取userlit_file参数指定的文件内容 userlist_file=/etc/vsftpd/user_list ##userlist_enable启用后,vsftpd将读取此文件中的用户名 userlist_deny=NO ##只允许userlist_file中的用户登录,为YES时相反 guest_enable=YES ##启用此项则所有的登入者都被视为guest用户 guest_username=virftp ##接上一项 tcp_wrappers=YES ##在VSFTPD中使用TCP_Wrappers远程访问控制机制
2、安装所需编译器和包
yum install gcc gcc-c++ pam-devel mysql-devel
1)、建立FTP用户和组
groupadd -g 1005 virftp useradd -d /home/ftptiles -s /sbin/nologin -u 1005 -g virftp virftp
2)、修改mysql密码,建立ftpusers的数据库和表,加入用户和密码
mysqladmin -u root password 'intmysql’
mysql -uroot –pintmysql
mysql> create database ftpusers;
mysql> use ftpusers;
mysql> create table user(name char(20) binary,password char(20) binary);
mysql> insert into user (name,password) values ('testa','password');
mysql> insert into user (name,password) values ('testw','password');
新建virftp用户并赋予select权限
mysql> grant select on ftpusers.user to virftp@localhost identified by 'vftpadm'; mysql> flush privileges;
3)、下载安装pam_mysql,用于pam和mysql的连接和验证
tar zxvf pam_mysql-0.7RC1.tar.gz cd pam_mysql-0.7RC1 ./configure ; make; make install cp /usr/lib/security/pam_mysql.so /lib64/security/ vi /etc/pam.d/vftp (将以下内容加入) auth required /lib64/security/pam_mysql.so user=virftp passwd=vftpadm host=localhost db=ftpusers table=user usercolumn=name passwdcolumn=password crypt=2 account required /lib64/security/pam_mysql.so user=virftp passwd=vftpadm host=localhost db=ftpusers table=user usercolumn=name passwdcolumn=password crypt=2
3、为各个用户分配不同的家目录和权限
在 user_config_dir=/etc/vsftpd/user_config设定的目录下,建立与mysql用户名相同名字的文件,如testa。配置文件格式如下:
读写删权限
local_root=/home/ftpfiles/ anonymous_enable=NO write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
读写权限
local_root=/home/ftpfiles anonymous_enable=NO write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=NO anon_other_write_enable=NO
只读权限
local_root=/home/ftpfiles anonymous_enable=NO write_enable=YES anon_world_readable_only=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO
4、启动服务
service vsftpd start
Copyright © Dbabc.Net All Rights Reserved.
本站内容仅代表个人观点, 与其他任何组织或公司无关
-The End-
下一篇:Linux下文件的time详解