Chinaunix首页 | 论坛 | 博客
  • 博客访问: 116932
  • 博文数量: 17
  • 博客积分: 431
  • 博客等级: 下士
  • 技术积分: 172
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-13 14:45
文章分类

全部博文(17)

文章存档

2012年(1)

2011年(16)

分类: LINUX

2011-10-10 10:37:49

root@alex:~# apt-get install vsftpd         //安装vsftpd

root@alex:~# apt-get install mysql-server mysql-client libpam-mysql //安装mysql

root@alex:~# mkdir /home/ftp        //创建目录

root@alex:~# useradd –d /home/ftp –s /usr/sbin/nologin ftpguest  //创建本地用户 指定家目录 不让其登录系统

root@alex:~# chown ftpguest.nogroup /home/ftp  //改变目录组

root@alex:~# mkdir /home/zhangsan

root@alex:~# mkdir /home/lisi

root@alex:~# mkdir /home/wangwu

root@alex:~# chown ftpguest.nogroup /home/zhangsan

root@alex:~# chown ftpguest.nogroup /home/lisi

root@alex:~# chown ftpguest.nogroup /home/wangwu

root@alex:~# mysqladmin -u root -p create ftpvuser   //创建数据库

root@alex:~# mysql -u root –p      //登录mysql

mysql>use ftpvuser;             //使用数据库ftpvuser

mysql>CREATE TABLE users (username varchar(20) NOT NULL,password varchar(40) NOT NULL,PRIMARY KEY (username)) TYPE=MyISAM;    //创建users username 20字节 非空,password 40字节 非空  设置username为主键, 类型为MyISAM

mysql>grant select on ftpvuser.users to ftpguest@localhost identified by 'debian'; //让本地用户能读取数据库的表的内容 并设置本地用户访问数据库的密码

mysql>flush privileges;         //更新库文件

mysql>show databases;           //显示数据库 

+--------------------+

| Database           |

+--------------------+

| information_schema |

| ftpvuser           |

| mysql              |

+--------------------+

3 rows in set (0.00 sec)

mysql>use ftpvuser;            //使用数据库

mysql> show tables;            //显示表

+--------------------+

| Tables_in_ftpvuser |

+--------------------+

| users              |

+--------------------+

1 row in set (0.00 sec)

mysql>insert into users (username,password) values ('zhangsan','debian');       //在表users中创建用户和密码

mysql>insert into users (username,password) values ('lisi','debian');

mysql>insert into users (username,password) values ('wangwu','debian');

mysql> select * from users;         //显示表内容

+----------+----------+

| username | password |

+----------+----------+

| zhangsan | debian   |

| lisi     | debian   |

| wangwu   | debian   |

+----------+----------+

3 rows in set (0.01 sec)

mysql>quit;

root@alex:~# vi /etc/pam.d/vsftpd

所有内容都注释,添加:

auth required pam_mysql.so user=ftpguest passwd=debian host=localhost db=ftpvuser table=users usercolumn=username passwdcolumn=password    //检测用户ftpguest是否可以访问数据库表,口令以明文方式、不加密保存在数据库中

pam_mysql.so user=ftpguest passwd=debian host=localhost db=ftpvuser table=users usercolumn=username passwdcolumn=password crypt=0        //管理用户ftpguest,口令以明文方式、不加密保存在数据库中

注:crypt=0: 明文密码
crypt=1:
使用crpyt()函数

crypt=2: 使用MYSQL中的password()函数加密
crypt=3
:表示使用md5的散列方式

root@alex:~# vi /etc/vsftpd.conf

关闭匿名登录

#anonymous_enable=YES

打开本地用户登录

local_enable=YES

开启虚拟用户登录

guest_enable=YES

guest_username=ftpguest

设置用户权限设置

user_config_dir=/etc/userconfig

将本地用户限制在家目录

chroot_local_user=YES

root@alex:~# service vsftpd restart

root@alex:~# mkdir /etc/userconfig

root@alex:~# touch zhangsan lisi wangwu

root@alex:~# vi /etc/userconfig/zhangsan

=NO //所有非匿名登陆用户被切换成guest_username指定的用户名

write_enable=YES                            //可写权限

download_enable=NO                          //不可下载

anon_upload_enable=YES                      //匿名用户可以上传文件

anon_mkdir_write_enable=YES                 //匿名用户可以创建文件

anon_other_write_enable=YES                 //匿名用户可以有其他写权限

local_root=/home/zhangsan                   锁定家目录

anon_max_rate=50000                     //限速48KB

root@alex:~# vi /etc/userconfig/lisi

anon_world_readable_only=NO

write_enable=NO

download_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/home/lisi

anon_max_rate=80000                     //限速78KB

root@alex:~# vi /etc/userconfig/wangwu

anon_world_readable_only=NO

write_enable=YES

download_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/home/wangwu

anon_max_rate=120000                        //限速117KB

root@alex:~# service vsftpd restart

最后可利用第三方ftp软件进行测试



注: 如需复制配置文件内容,请自行敲击一遍,复制可导致用户无法登录,本人已试过,请斟酌。  但过程没有错 ,请大家一起交流 谢谢,如需转载,请注明出处 3Q

阅读(1292) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~