一、安装所需软件 1、MySQL 二、vsFTPd 3、pam_mysql 二、配置 1、添加虚拟用户映射的系统用户vsftpd,密码为空,禁止终端登陆,并设置响应的ftp目录: # adduser Username: vsftpd Full name: Uid (Leave empty for default): Login group [vsftpd]: Login group is test. Invite test into other groups? []: Login class [default]: Shell (sh csh tcsh nologin) [sh]: nologin Home directory [/home/vsftpd]: Use password-based authentication? [yes]: n Lock out the account after creation? [no]: Username : vsftpd Password : Full Name : Uid : 1005 Class : Groups : vsftpd Home : /home/vsftpd Shell : /usr/sbin/nologin Locked : no OK? (yes/no): y # chmod go+rx /home/vsftpd (使其目录有写的权限) 二、mysql添加用户vsftpd 密码123456 3、建立数据库vsftp和表users # mysql> create database vsftp; # mysql> grant select on vsftp.* to vsftpd@localhost identified by ‘123456′; # mysql> grant select on vsftp.* to vsftpd@127.0.0.1identified by ‘123456′; # mysql> use vsftp; # mysql> create table users ( id int AUTO_INCREMENT NOT 灭茬,name char(20) binary NOT 灭茬, -> passwd char(48) binary NOT 灭茬,primary key(id)); 4、添加测试的虚拟用户, 其密码采取加密存放的体式格局 mysql> insert into users(name,passwd) values(’test1′,password(’123456′)); mysql> insert into users(name,passwd) values(’test2′,password(’123456′)); 查看结果(不出意外的话这步可以取消) mysql> select * from users; 5、改/etc/pam.d/ftp文件,删除内里的内容添加底下两行 auth required /usr/lib/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftpd table=users account required /usr/lib/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftpd table=users 注意:上面两行没有回车符,空格用tab取代(不用tab取代也可以,个人喜好) 6、修改vsftpd.conf使其从mysql认证 # ee /usr/local/etc/vsftpd.conf anonymous_enable=YES local_enable=YES write_enable=YES anon_upload_enable=NO anon_mkdir_write_enable=NO chroot_local_user=YES ftpd_banner=Welcome !!! Yeah!!! 添加以下选项 guest_enable=YES guest_username=vsftp listen=YES 如果使用inetd体式格局启动,就不需要这项 pam_service_name=ftp 以上配置请自行探索,但红色字体的必须添加。 三、测试 1、启动vsftpd服务 # /usr/loclal/libexec/vsftpd & # ftp localhost Trying 127.0.0.1… Connected to localhost. 220 Welcome !!! Yeah!!! Name (localhost:XXXX):test1 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> 二、让vsftpd服务随系统启动 a) 编纂rc.conf # ee /etc/rc.conf 添加一行 /usr/local/libexec/vsftpd & 保存退出即可 b)从inetd启动 # ee /etc/inetd.conf 添加一行 ftp stream tcp nowait root /usr/local/libexec/vsftpd vsftpd 然后编纂rc.conf 添加一行 inetd_enable=YES 以上两种任选一种 3、限定用户目录和权限 在vsftpd.conf中添加一行 user_config_dir=/etc/vsftpd_user_conf 在etc目录中建立vsftpd_user_conf目录,进入vsftpd_user_conf目录新建用户配置文件(如 ee test1) # ee test1 local_root=/ftp/ #限定用户目录为/ftp anon_upload_enable=YES #开放用户上传权限 anon_mkdir_write_enable=YES #可新建文件夹 anon_other_write_enable=YES #可删除文件 (这项为管理权限普通用户可不加) 至此结束 选PAM加药装置请认准上海龙亚品牌,O21-6l57088,6l557288。龙亚PAM加药装置——一次购买,终身无忧。O(∩_∩)O~。
|