<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[歌声与微笑]]></title> 
<link>http://www.gsywx.com/index.php</link> 
<description><![CDATA[歌声与微笑]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[歌声与微笑]]></copyright>
<item>
<link>http://www.gsywx.com/read.php/.htm</link>
<title><![CDATA[vsftpd+mysql虚拟用户配置笔记及说明]]></title> 
<author>admin &lt;admin@gsywx.com&gt;</author>
<category><![CDATA[原创]]></category>
<pubDate>Mon, 27 Sep 2010 13:26:48 +0000</pubDate> 
<guid>http://www.gsywx.com/read.php/.htm</guid> 
<description>
<![CDATA[ 
	本内容为原创内容，转载请注明：<br/>本文来自http://blog.gsywx.com<br/><br/>一、目的：安装vsftpd+mysql，vsftpd用户由mysql数据表存放虚拟用户<br/>二、安装方式：采用yum进行安装vsftpd及mysql，系统环境为centos5.5(32)<br/>注：所有加#开头的为说明语句<br/><br/>三、具体安装<br/>1、安装vsftpd<br/>yum -y install vsftpd<br/>vi /etc/vsftpd/vsftpd.conf<br/>作如下修改：<br/>anonymous_enable=YES 改为 anonymous_enable=NO<br/>#禁用匿名用户登录<br/>在最后加上：<br/>chroot_local_user=YES<br/>#将本地用户锁定在家目录<br/>chkconfig vsftpd on<br/>service vsftpd start<br/>#以下添加vsftpd的虚拟公共帐户<br/>useradd vsftpdguest -d /home/vsftpdguest -s /sbin/nologin<br/>chmod 755 /home/vsftpdguest<br/><br/>2、安装mysql<br/>yum -y install mysql mysql-devel mysql-server<br/>service mysqld start<br/>#设置mysql密码<br/>mysqladmin -u root password 123654<br/>mysql -u root -p<br/>#输入密码 123654<br/>#建立vsftpd两虚拟用户： aaa 密码: 123456&nbsp;&nbsp;、bbb 密码: 123654<br/>create database vsftpd; <br/>use vsftpd; <br/>create table users(name char(16) binary,passwd char(16) binary); <br/>insert into users (name,passwd) values ('aaa','123456'); <br/>insert into users (name,passwd) values ('bbb','123654'); <br/>#给数据库vsftpd赋予用户vsftpdguest密码654321对users表的读取权限<br/>grant select on vsftpd.users to vsftpdguest@localhost identified by '654321'; <br/>flush privileges;<br/>select * from users;<br/>#这时可以看到新加的用户和密码，密码是以明文列示的<br/>quit;<br/><br/>3、安装pam_mysql模块，下载地址为：http://sourceforge.net/projects/pam-mysql/files/pam-mysql/<br/>#这里我下载pam_mysql-0.7RC1.tar.gz<br/>tar zxvf pam_mysql-0.7RC1.tar.gz<br/>cd pam_mysql-0.7RC1<br/>./configure<br/>#因为mysql为默认安装，所以可以缺少编译参数，如果自定义安装可以参照以下语句<br/>#(#./configure --with-mysql=/web/mysql)<br/>make<br/>make install<br/>安装后会看到以下语句<br/>#Libraries have been installed in:<br/>#/usr/lib/security<br/>cp /usr/lib/security/pam_mysql.* /lib/security/<br/>#以下备份vsftpd的pam文件以及创建新的认证文件<br/>mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak<br/>#加上<br/>vi /etc/pam.d/vsftpd&nbsp;&nbsp;加上：<br/>#%PAM-1.0<br/>auth required /lib/security/pam_mysql.so user=vsftpdguest passwd=654321 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0<br/>account required /lib/security/pam_mysql.so user=vsftpdguest passwd=654321 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0 <br/><br/><br/>4、配置vsftpd.conf<br/>vi /etc/vsftpd/vsftpd.conf&nbsp;&nbsp; 在最后加上：<br/>guest_enable=YES<br/>guest_username=vsftpdguest<br/>virtual_use_local_privs=YES<br/>重启vsftpd<br/>service vsftpd restart<br/>#说明：以上三句为除了匿名用户外的所有用户都是guest，除了匿名用户外的所有用户使用vsftpdguest，虚拟用户使用与本地用户相同的权限<br/><br/>四、额外的部份权限控制说明：<br/>当virtual_use_local_privs=YES时，只需设置write_enable=YES，虚拟用户就可以就拥有写权限<br/><br/>当virtual_use_local_privs=NO时，anon_world_readable_only=YES,则虚拟用户只读不能上传<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anon_upload_enable=YES时，匿名用户能上传，但不能覆盖和改写删除文件<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anon_mkdir_write_enable=YES时，能建立目录<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anon_other_write_enable=YES时，虚拟用户具体所有读写权限<br/><br/>虚拟用户目录的权限改为只能由vsftpdguest操作： <br/>chown vsftpdguest.vsftpdguest /home/vsftpdguest <br/>chmod 700 /home/vsftpdguest <br/><br/>五、虚拟用户拥有各自的家目录<br/>vi /etc/vsftpd/vsftpd.conf&nbsp;&nbsp;加上：<br/>user_config_dir=/etc/vsftpd/vsftpd_user_conf<br/>mkdir /etc/vsftpd/vsftpd_user_conf<br/>touch /etc/vsftpd/vsftpd_user_conf/aaa<br/>vi /etc/vsftpd/vsftpd_user_conf/aaa&nbsp;&nbsp; 加上：<br/>local_root=/home/aaa<br/>mkdir /home/aaa<br/>chown vsftpdguest.vsftpdguest /home/aaa<br/><br/>touch /etc/vsftpd/vsftpd_user_conf/bbb<br/>vi /etc/vsftpd/vsftpd_user_conf/aaa&nbsp;&nbsp;加上：<br/>local_root=/home/bbb<br/>mkdir /home/bbb<br/>chown vsftpdguest.vsftpdguest /home/bbb<br/><br/><br/>六、以上程序安装脚本：<br/><div class="code"><br/>#!bin/bash<br/>yum -y install vsftpd<br/>sed -i &#039;s#anonymous_enable=YES#anonymous_enable=NO#&#039;&nbsp;&nbsp;/etc/vsftpd/vsftpd.conf<br/>echo &quot;chroot_local_user=YES&quot; &gt;&gt;/etc/vsftpd/vsftpd.conf<br/>chkconfig vsftpd on<br/>service vsftpd start<br/>useradd vsftpdguest -d /home/vsftpdguest -s /sbin/nologin<br/>chmod 755 /home/vsftpdguest<br/>yum -y install mysql mysql-devel mysql-server<br/>service mysqld start<br/>mysqladmin -u root password 123654<br/>mysql -u root -p<br/>create database vsftpd; <br/>use vsftpd; <br/>create table users(name char(16) binary,passwd char(16) binary); <br/>insert into users (name,passwd) values (&#039;aaa&#039;,&#039;123456&#039;); <br/>insert into users (name,passwd) values (&#039;bbb&#039;,&#039;123654&#039;); <br/>grant select on vsftpd.users to vsftpdguest@localhost identified by &#039;654321&#039;; <br/>flush privileges;<br/>select * from users;<br/>quit;<br/>#pam_mysql文件上传在系统根目录<br/>cd /<br/>tar zxvf pam_mysql-0.7RC1.tar.gz<br/>cd pam_mysql-0.7RC1<br/>./configure<br/>make<br/>make install<br/>cp /usr/lib/security/pam_mysql.* /lib/security/<br/>mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak<br/>cat &gt;&gt;/etc/pam.d/vsftpd&lt;&lt;EOF<br/>#%PAM-1.0<br/>auth required /lib/security/pam_mysql.so user=vsftpdguest passwd=654321 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0<br/>account required /lib/security/pam_mysql.so user=vsftpdguest passwd=654321 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0 <br/>EOF<br/>echo &quot;guest_enable=YES&quot; &gt;&gt;/etc/vsftpd/vsftpd.conf<br/>echo &quot;guest_username=vsftpdguest&quot; &gt;&gt;/etc/vsftpd/vsftpd.conf<br/>echo &quot;virtual_use_local_privs=YES&quot; &gt;&gt;/etc/vsftpd/vsftpd.conf<br/>service vsftpd restart<br/>echo &quot;user_config_dir=/etc/vsftpd/vsftpd_user_conf&quot; &gt;&gt;/etc/vsftpd/vsftpd.conf<br/>mkdir /etc/vsftpd/vsftpd_user_conf<br/>touch /etc/vsftpd/vsftpd_user_conf/aaa<br/>echo &quot;local_root=/home/aaa&quot; &gt;&gt;/etc/vsftpd/vsftpd_user_conf/aaa<br/>mkdir /home/aaa<br/>chown vsftpdguest.vsftpdguest /home/aaa<br/>touch /etc/vsftpd/vsftpd_user_conf/bbb<br/>echo &quot;local_root=/home/bbb&quot; &gt;&gt;/etc/vsftpd/vsftpd_user_conf/bbb<br/>mkdir /home/bbb<br/>chown vsftpdguest.vsftpdguest /home/bbb<br/>service vsftpd restart<br/></div><br/>Tags - <a href="http://www.gsywx.com/go.php/tags/vsftpd%25E8%2599%259A%25E6%258B%259F%25E7%2594%25A8%25E6%2588%25B7/" rel="tag">vsftpd虚拟用户</a>
]]>
</description>
</item><item>
<link>http://www.gsywx.com/read.php/.htm#blogcomment</link>
<title><![CDATA[[评论] vsftpd+mysql虚拟用户配置笔记及说明]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.gsywx.com/read.php/.htm#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>