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

相关推荐

  • vsftpd虚拟用户搭建

    首选的FTP服务器搭建方式 安装vsftpd      yum install -y vsftpd      systemctl enable vsftpd     #设置开机启动      systemctl is-enabled vsf…

    Linux干货 2017-04-27
  • 破坏grub实验之二

    删除/etc/fstab和/boot和grub的stage1阶段 [root@localhost ~]# rm -rf /boot [root@localhost ~]# rm -rf /etc/fstab  [root@localhost ~]# …

    Linux干货 2016-09-28
  • 通过fast-cgi方式在三台主机部署phpwind并设置为https站点

    通常来说httpd用来处理静态的网页请求,动态的资源请求以前是通过CGI的方式进行处理的,但是CGI的方式的处理过程是这样:有动态资源请求,服务器会fork一个CGI进程进行资源处理,处理完成后这个进程会退出,当再有新的动态资源请求,又会fork一个进程,这样的效率是很低的。后来就有了通过加载php模块的方式,即:httpd服务器启动之后会自动加载php动态…

    2017-06-04
  • vsftpd

    练习:完成vsftpd配置 (1) 禁锢系统用户于家目录 [root@node3 ~]# yum -y install vsftpd [root@node3 ~]# vim /etc/vsftpd/vsftpd.conf chroot_local_user=YES &n…

    Linux干货 2016-10-16
  • 帮助和文件管理信息

    history命令: -c 清空命令历史 -d offset 删除历史中指定的第offset个命令 n 显示最近的n条历史 -a 追加本次会话新执行的命令历史列表至历史文件 -n 读历史文件中未读过的行到历史列表 -r 读历史文件附加到历史列表 -w 保存历史列表到指定的历史文件 -p 展开历史参数成多行,但不存在历史列表中 -s 展开历史参数马一行。附加在…

    Linux干货 2017-04-11
  • 基于ssl的mysql的主从复制

    实验环境: system:CentOS Linux release 7.2.1511 (Core) mariadb server:mariadb-server-5.5.44-2.el7.centos.x86_64 master server:10.1.51.20/16 slave serv…

    2016-11-22