ºìÁªLinuxÃÅ»§
Linux°ïÖú

ÀûÓÃMysql¹ÜÀíftpÓû§

·¢²¼Ê±¼ä:2009-06-24 17:25:15À´Ô´:ºìÁª×÷Õß:a3o7o89
ÀûÓÃmysql¹ÜÀíVsftpdÓû§¡£

1¡¢ÅäÖÃSMA°ÑÈí¼þ°üÍϽølinux. Èí¼þ°üÔÚ¹«¹²Ä¿Â¼¡£
Ê×ÏÈÓÃSMB»òFTPÓÃmysqlÈí¼þ°ü´«µ½linuxÀïÃæÈ¥¡£
useradd -smb #´´½¨Ò»¸ö±¾µØÓû§smb
smbpasswd -a smb #Ìí¼ÓÒ»¸ösmbÓû§²¢ÉèÖÃÃÜÂë¡£
service smb start #Æô¶¯smb·þÎñ
È»ºóÔÙxpÉÏ·ÃÎÊ£º\\linuxµÄIPµØÖ· #°ÑÈí¼þ°üÍϽøÈ¥£¬°üÃû½Ðpam_mysql
»Øµ½linux

2¡¢½âѹ½øÐбàÒë°²×°¡£
cd /home/smb
tar zxvf pam_mysql-0.7RC1.tar.gz #½âѹ
cd pam_mysql-0.7RC1 #½øÈë½âѹºóµÄĿ¼¡£
./configure --with-openssl #½øÐбàÒëǰµÄÅäÖÃ
make #±àÒë·þÎñÆ÷³ÌÐò
make install #°²×°ÒÔÒÔ±àÒëÍê³ÉµÄ³ÌÐò

3¡¢ÅäÖÃmysql
cd /usr/lib/security/
cp pam_mysql.so /lib/security/ #¿½±´¿ÉÖ´ÐгÌÐòµ½/lib/security/Ï¡£
service mysqld start #Æô¶¯mysqld·þÎñ£¬×¢ÒâÓиö¡±d¡°Å¶£¡

4¡¢ÔÚmysqlÀïÃæ´´½¨Êý¾Ý¿â¡¢±íÒÔ¼°ÔÚ±íÀïÃæ²åÈëÓû§ÃûºÍÃÜÂë¡£
mysqladmin -u root -p password test Ϊ¹ÜÀíÔ±¸ü¸ÄÃÜÂë
×¢Ò⣺---->ÏÂÃæÔÚÌáʾÊäÈëÃÜÂëÔò»Ø³µ£¬ÒòΪ֮ǰûÓÐÉèÖÃÃÜÂë¡£
mysql -u root -p 怬mysql
create database chen; #×¢Òâ½áÊøµÄʱºòÔÚÃüÁîºóÃæ¼Ó·ÖºÅ¡£
use chen #½øÈë¸Õ¸Õ´´½¨ºÃµÄÊý¾Ý¿âÀïÃæÈ¥¡£
create table jun
(id int not null primary key auto_increment, #ÉèÖÃIDÁÐ×Ô¶¯Ôö³¤¡£
name nvarchar(30),
passwd nvarchar(20)); #´´½¨Ò»¸ö±í¸ñ½ÐjunµÄ£¬²¢ÔÚÀïÃæ²åÈëÁ½ÁУ¬nameºÍpasswd

insert into jun
values ('','user1','123');
insert into jun
values ('','user2','123');
insert into jun
values ('','user3','123'); #²åÈëÈý¸öÓû§¡£

¿ÉÒÔÓãºshow databases; #²é¿´Êý¾Ý¿âÊÇ·ñ´´½¨ÕýÈ·¡£
£ºshow tables; #²é¿´±í¸ñÊÇ·ñ´´½¨ÕýÈ·¡£
£ºselect * from jun; #²é¿´Óû§²åÈëÊÇ·ñÕýÈ·¡£

5¡¢ÊÚÓèvirtualÖ»ÄܶÁchenÊý¾Ý¿âµÄjun±í¡£
grant select on chen.jun to virtual@localhost identified by '123';
ÑéÖ¤¸Õ¸Õ²ÅµÄ²Ù×÷ÊÇ·ñ³É¹¦£º
mysql -u virtual -p123 chen
select * from jun; #¿ÉÒÔ¿´µ½¸Õ¸Õ²åÈëµÄÓû§Ãû¡£

6¡¢½¨Á¢ÐéÄâÓû§ËùÐèµÄpamÅäÖÃÎļþ¡£vi /etc/pam.d/vsftpd.vu
auth required pam_mysql.so user=virtual passwd=123 host=localhost db=chen table=jun usercolumn=name passwdcolumn=passwd crypt=0
account required pam_mysql.so user=virtual passwd=123 host=localhost db=chen table=jun usercolumn=name passwdcolumn=passwd crypt=0

pam_mysql.so #ÊÇÓÃÓÚlinuxÓëmysql»¥Ïà·ÃÎʵijÌÐò¡£¾ÍÊÇÎÒÃÇÉÏÃæ´Ó/usr/lib/security/pam_mysql.so ¸´ÖƵ½/lib/security/Ŀ¼ÏµÄÄǸö³ÌÐò¡£
user=virtual #ÓÃÓÚ·ÃÎÊMysqlµÄÓû§¡£
passwd=123 #¶ÔÓ¦µÄÊÇÓû§µÄÃÜÂë¡£
host=localhost #´ú±ímysqlÔÚ±¾»ú¡£
db=chen #Ö¸¶¨ÔÚmysqlÉϵÄÊý¾Ý¿â¡£
table=jun #Ö¸¶¨mysqlÉÏ´æ·ÅÓû§µÄ±í¸ñ¡£
usercolumn=name #Ö¸¶¨Óû§ÃûµÄÁС£
passwdcolumn=passwd #Ö¸¶¨ÃÜÂëµÄÁС£
crypt=0
#crypt=0: Ã÷ÎÄÃÜÂë
#crypt=1: ʹÓÃcrpyt()º¯Êý(¶ÔÓ¦SQLÊý¾ÝÀïµÄencrypt()£¬encrypt()Ëæ»ú²úÉúsalt)
#crypt=2: ʹÓÃMYSQLÖеÄpassword()º¯Êý¼ÓÃÜ
#crypt=3£º±íʾʹÓÃmd5µÄÉ¢Áз½Ê½
×¢Ò⣺ÕâÀïÌØ±ðҪעÒâµÄÊÇÉÏÃæÊÇÁ½ÌõÓï¾ä£¬Ò»ÐÐûдÍê²»Äܻسµ£¡ÕâÀïÒªÊǶàÁ˸ö»Ø³µÓû§¶¼²»ÄÜÕý³£µÇ¼¡£

7¡¢ÅäÖÃ/etc/vsftpd/vsftpd.confÎļþ
ÔÚÀïÃæÌí¼Ó£º
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd_user_conf

8¡¢ÅäÖÃÓû§µ¥¶ÀµÄÅäÖÃÎļþ
mkdir /etc/vsftpd_user_conf ´´½¨Óû§µ¥¶ÀÅäÖÃÎļþµÄĿ¼¡£
mkdir user1 ´´½¨ÓëÓû§Í¬ÃûµÄÎļþÔÚÎļþÀïÃæÐ´È룺local_root=/ftp/user1 Ö¸¶¨Óû§µÄµÇ¼Ŀ¼¡£
mkdir user2 user2ºÍuser3ͬÉÏ
mkdir user3

9¡¢´´½¨Óû§µÇ¼Ŀ¼¡£
mkdir -p /ftp/user1
mkdir -p /ftp/user2
mkdir -p /ftp/user3
chown -R virtual.virtual /ftp

10¡¢´´½¨Óû§virtual: useradd virtual
chown virtual.virtual /home/virtual
chmod 700 /home/virtual

ÒªÊÇÖÐ;û³ö´íµÄ»°±í¸ñÀïÃæµÄÓû§¿ÉÒԵǼFTPÁË¡£
Ï£Íû¶Ô´ó¼ÒÓаïÖú£¡
ÒòΪʱ¼ä³å棬дµÄ²»¶ÔµØ·½Çë´ó¼ÒÓ»Ô¾µÄÌá³öÀ´¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1 ÌõÆÀÂÛ

  1. wangyoubang ÓÚ 2009-08-01 23:34:38·¢±í:

    ¶¥Ò»¸ö