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
下一篇 2017-06-07

相关推荐

  • 创建用户、用户组

    创建用户、用户组                  1解释Linux的安全模型   2解释用户帐号和组群帐号的目的   3用户和组管理命令   4理解并设置文件权限 5默认权限 6特殊权限 …

    Linux干货 2016-08-08
  • 第二周博客作业

    1.linux上的文件管理类命令都用哪些,其常用的使用方法及其相关示例演示。 常用命令有:cp, mv, rm 复制命令:cp cp [OPTION]… [-T] SOURCE DEST                 cp [OPTION]… SOURC…

    Linux干货 2016-06-23
  • 马哥教育网络班20期+第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -R /etc/skel /home/tuser1 # chmod -R go-x /home/tuser1 2、编辑/etc/gro…

    Linux干货 2016-06-29
  • 学习宣言

    如果自己都不愿意动,没有人能帮助我成功!

    Linux干货 2016-12-26
  • linux 进程及作业管理

     1、Process: 运行中的程序的一个副本,是被载入内存的一个指令集合 进程ID(Process ID,PID)号码被用来标记各个进程 UID、GID、和SELinux语境决定对文件系统的存取和访问权限, 通常从执行进程的用户来继承 存在生命周期 Uninterruptible sleep: 不可中断的睡眠 Interruptible slee…

    Linux干货 2017-08-28
  • Nginx 功能概述与基础应用!

           本篇博客主要有三个部分组成,目的在于让大家了解ningx的主要功用及作为web server的基础配置;通过本篇博客能够让您对nginx理解更加深入,以便于更好的使用它!                  …

    2017-05-14