pam_mysql认证ftp虚拟用户账号,且拥有不同的权限

关防火墙:#systemctl stop firewalld

               #setenforce 0

#yum install mariadb.server

#yum install mariadb-devel  pam-devel

#lftp 172.16.0.1/pub

>cd Sources/sources/pam/

>mget  pam_mysql_0.7Rcl.tar.gz

#tar xf pam_mysql_0.7Rcl.tar.gz

#cd pam_mysql_0.7Rcl/

# ./configure –with-pam=/usr –with-mysql=/usr –with-pam-mods-dir=/usr/lib64/security
# make && make install
#vim /etc/my.cnf.d/server.cnf

[mysqld]
skip_name_resolve=ON
innodb_file_per_table=ON
log_bin=mysql-bin
#systemctl restart vsftpd.service

# mysql -uroot -p1234567890 -h127.0.0.1

> grant all on vsftpd.* to vsftpd@’127.0.0.1′ identified by ‘vsftpd’;

> flush privileges;

# mysql -uvsftpd -h127.0.0.1 -pvsftpd
> create database vsftpd;

> use vsftpd;

> create table users(id INT unsigned not null auto_increment primary key,name varchar(100) not null,password cha not null,unique key(name));

> desc users;
+———-+—————————-+——+—–+———+—————-+
| Field    | Type             —   | Null | Key | Default   | Extra          |
+———-+———————–+——–+——-+———-+——————+
| id       | int(10) unsigned -| NO   | PRI | NULL    | auto_increment |
| name     | varchar(100)   –  | NO   | UNI | NULL    |                |
| password | char(48)         | NO   |     | NULL     |                |
+———-+——————+——+—–+———+—————-+

> insert into users(name,password) values(‘tom’,password(‘mageedu’)),(‘jerry’,password(‘jerry’));

> select * from users;
+—-+———+—————————————————————————–+
| id | name  |                                 password                                  |
+—-+——–+——————————————————————————+
|  1 | tom   |      *9A94EE7D14C10908118B62D2DA88E6932E11E438 |
|  2 | jerry   |      *09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0 |
+—-+——-+——————————————————————————-+

#mkdir /ftproot/

#useradd -d /ftproot/vuser vuser

#mkdir /ftproot/vuser/pub

#vim /etc/pam.d/vsftpd.vusers

auth required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 

#vim /etc/vsftpd/vsftpd.conf

pam_service_name=vsftpd.vusers
guest_enable=YES
guest_username=vuser
# systemctl restart vsftpd

#chmod a-w /ftproot/vuser/

# systemctl restart vsftpd

# cd /ftproot/vuser/

# mkdir upload

#chown vuser.vuser upload/

# cd /etc/vsftpd/

]# vim vsftpd.conf

加上user_config_dir=/etc/vsftpd/vusers_config/

# mkdir /etc/vsftpd/vusers_config/

# vim /etc/vsftpd/vusers_config/tom

anon_upload_enable=YES

# vim /etc/vsftpd/vusers_config/jerry

anon_upload_enable=YES
anon_mkdir_write_enable=YES

#systemctl restart vsftpd.service

测试机:

    # ftp 172.16.254.142

            tom:只可以上传、下载。

            jerry:可上传可添加或删除文件及目录

原创文章,作者:忠神通,如若转载,请注明出处:http://www.178linux.com/77731

(0)
上一篇 2017-06-07 16:26
下一篇 2017-06-07 21:09

相关推荐

  • 马哥教育网络班21期+第1周课程练习

    (一)计算机的基础认识       1. 冯诺依曼体系:          运算器(ALU Arithmetic Logical Unit):完成算数和逻辑运算。          控制器(CU Control Unit):发出各…

    Linux干货 2016-07-07
  • fdisk命令

    fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。

    2017-12-05
  • Linux下的I/O重定向与管道

    一、I/O设备     Linux中,对系统进行操作时,就需要I/O设备与系统产生交互,同时会产生三种数据,标准输入(0)、标准输出(1)、标准错误(2)。其中标准输入(stdin)默认接受来自键盘的输入,标准输出(stdout)和标准错误(stderr)默认向终端窗口输出,改变默认输出和出入的位置,就是I/O重定向。 二、输出重定向到文…

    Linux干货 2016-08-04
  • N22-妙手-第二周博客作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示     mkdir: 创建目录         使用方法:mkdir [OPTION]… DIRECTORY…   &n…

    Linux干货 2016-08-29
  • 第十一周:OPENSSL和DNS

    详见我的51cto博客:http://afterdawn.blog.51cto.com/

    Linux干货 2016-12-09
  • Shell脚本编程基础之一

      Linux为高效管理系统,提供了CLI命令行接口,供用户在命令提示符下输入命令,它有很多bash shell基础特,根据这些特性能够很灵活的使用命令,也支持使同时输入多个命令执行,命令之间用冒号分隔;但是要完成复杂多次重复性的操作,非常不便,系统管理工作变得很是繁忙,很难轻松完成工作任务;不过Linux的shell支持脚本编程,通过编写纯文本格…

    Linux干货 2016-08-15