红联Linux门户
Linux帮助

VSFTPD+MYSQL编译安装

发布时间:2006-08-25 11:17:19来源:红联作者:lgms2008
一、编译安装MYSQL
[code]1、 上传源包到/usr/local/mysql-5.0.24.tar.tar
2、 tar zxvf mysql-5.0.24.tar.tar
3、 cd /usr/local/mysql-5.0.24
4、 groupadd mysql
5、 useradd -g mysql mysql
6、 ./configure --prefix=/usr/local/mysql
7、 make
8、 make install
9、 cp support-files/my-medium.cnf /etc/my.cnf
10、cd /usr/local/mysql
11、bin/mysql_install_db --user=mysql
12、chown -R root .
13、chown -R mysql var
14、chgrp -R mysql .
15、bin/mysqld_safe --user=mysql &[/code]

二、编译安装VSFTPD
1、上传源包到 /usr/local/vsftpd-2.0.4.tar.tar
2、tar zxvf vsftpd-2.0.4.tar.tar
3、cd /usr/local/vsftpd-2.0.4
4、vi builddefs.h内容如下
[code] #ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H
#define VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM (这行是关键)
#define VSF_BUILD_SSL
#endif /* VSF_BUILDDEFS_H */[/code]
5、make
6、ls -l vsftpd
-rwxr-xr-x 1 root root 86088 Jun 6 22:26 vsftpd //可执行程序已被编译成功
7、创建必要的帐号,目录:
[code]# useradd nobody //可能你的系统已经存在此帐号,那就不用建立
# mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立
# mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立
# useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立
# chown root:root /var/ftp
# chmod og-w /var/ftp[/code]
请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nologin,比如以上的nobody和ftp我就设置成/sbin/nologin
8、安装vsftp配置文件,可执行程序,man等:
[code]# install -m 755 vsftpd /usr/local/sbin/vsftpd
# install -m 644 vsftpd.8 /usr/share/man/man8
# install -m 644 vsftpd.conf.5 /usr/share/man/man5
# install -m 644 vsftpd.conf /etc/vsftpd/vsftpd.conf[/code]
9、编译/etc/vsftpd/vsftpd.conf在最后加入一行
[code] listen=YES[/code]
10、启动FTP服务
[code] /usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf &[/code]
此时已经可以匿名登录FTP了,这样就安装完成了。

三、建MYSQL的启动帐号
[code]1 、useradd -d /home/ftpsite virtual
2、cp /etc/hosts /home/ftpsite
3、chown virtual.virtual /home/ftpsite/hosts[/code]

四、建库文件
[code]1、mysql
2、create database vsftpd;
3、use vsftpd;
4、create table users (id int AUTO_INCREMENT NOT NULL,name char(16) binary NOT NULL,passwd char(48) binary NOT NULL,primary key(id));
5、create table logs (msg varchar(255), user char(16), pid int, host char(32), rhost char(32), logtime timestamp );
6、quit
7、mysql
8、grant select on vsftpd.users to virtual@localhost identified by '123456';
grant insert on vsftpd.logs to virtual@localhost identified by '123456';
9、use vsftpd
10、insert into users (name,passwd) values('tom','foo');
insert into users (name,passwd) values('jerry','bar');
11、select * from users;[/code]
如果能看到表内容就表示正常了。
五、安装PAM包
1、把源包考到 /usr/local/pam_mysql-0.7RC1.tar.gz
2、tar zxvf pam_mysql-0.7RC1.tar.gz
3、cd pam_mysql-0.7RC1
4、./configure --with-openssl
5、make
6、make install
7、配置/pam.d/vsftpd
内容如下
[code]auth required /usr/lib/security/pam_mysql.so user=virtual passwd=123456 host=/tmp/mysql.sock db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1
account required /usr/lib/security/pam_mysql.so user=virtual passwd=123456 host=/tmp/mysql.sock db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1[/code]
六、配置vsftpd
/etc/vsftpd/vsftpd.conf内容如下
[code]anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=virtual
listen=YES
listen_port=21
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
anon_world_readable_only=NO
virtual_use_local_privs=YES
pam_service_name=vsftpd[/code]
文章评论

共有 0 条评论