vsftp+pam.d+mysql虚拟用户配置

At 2011-10-02

转载请注明文章转载自: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-
  • 暂无相关日志

发表评论


*

为你保密









Copyright © Dbabc.Net All Rights Reserved. 本站内容仅代表个人观点, 与其他任何组织或公司无关

Powered by Wordpress and Theme by WPYOU