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

1、建立samba共享,共享目录为/data,要求:(描述完整的过程)

1)共享名为shared,工作组为magedu;

2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;

3)添加samba用户gentoo,centos和ubuntu,密码均为“mageedu”;

4)此samba共享shared仅允许develop组具有写权限,其他用户只能以只读方式访问;

5)此samba共享服务仅允许来自于172.16.0.0/16网络的主机访问;

# groupadd develop
# useradd -G develop gentoo
# useradd -G develop centos
# useradd ubuntu
# echo "ubuntu" | passwd --stdin ubuntu
# yum install samba
# vim /etc/samba/samba.conf
[global]
        workgroup = magedu
        hosts allow = 172.16.
[shared]
        comment = TEST
        path = /data
        guest ok = no
        valid users = gentoo,centos,ubuntu
        writable = yes
        write list = +develop
# mkdir /data; chown :develop /data
# smbpasswd -a centos
# smbpasswd -a gentoo
# smbpasswd -a ubuntu
# service nmb start; service smb start

2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)

1)基于虚拟用户的访问形式;

2)匿名用户只允许下载,不允许上传;

3)禁锢所有的用户于其家目录当中;

4)限制最大并发连接数为200;

5)匿名用户的最大传输速率512KB/s;

6)虚拟用户的账号存储在mysql数据库当中;

7)数据库通过NFS进行共享。

准备工作

node1:192.168.90.2
# mkdir /data
# vim /etc/exports
/data  192.168.90.3(rw)
# service nfs start
node2:192.168.90.3
# mkdir /mydata
# showmount -e 192.168.90.2
# vim /etc/fstab
192.168.90.2:/data  /mydata  nfs  defaults  0  0
# chown -R mysql.mysql /mydata

安装MySQL、vsftpd和pam_mysql

# yum install -y vsftpd pam_mysql
以二进制格式安装MySQL,关键一步指明datadir
# scripts/mysql_install_db --user=mysql --datadir=/mydata
# vim /etc/my.cnf
[mysqld]
datadir=/mydata
skip_name_resolve=ON

创建虚拟用户账户

准备数据库及相关表

mysql> CREATE DATABASE vsftpd;

mysql> GRANT SELECT ON vsftpd.* TO vsftpd@192.168.90.% IDENTIFIED BY '000000';
mysql> FLUSH PRIVILEGES;

mysql> use vsftpd;
mysql> CREATE TABLE users (
    -> id INT AUTO_INCREMENT NOT NULL,
    -> name CHAR(20) BINARY NOT NULL,
    -> password CHAR(48) BINARY NOT NULL,
    -> PRIMARY KEY(id)
    -> );

添加测试用虚拟用户,此处使用PASSWARD函数加密后存储

mysql> INSERT INTO users(name,password) VALUES('tom',password('000000'));

配置vsftpd

创建pam认证所需文件

# vim /etc/pam.d/vsftpd.mysql//-->文件名可任意
auth required /lib64/security/pam_mysql.so user=vsftpd passwd=000000 host=192.168.90.3 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2//-->用于认证用户
account required /lib64/security/pam_mysql.so user=vsftpd passwd=000000 host=192.168.90.3 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2//-->用于检查用户时效性
//-->相关详细配置参数可参照pam_mysql安装后生成文件/usr/share/doc/pam_mysql-0.7/README,man即可。

修改vsftpd的配置文件,使其适应认证

建立虚拟用户映射的系统用户及对应的目录
# useradd -s /sbin/nologin -d /ftproot vuser
# chmod go+rx /ftproot

请确保/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
anno_max_rate=512000
max_clients=200

而后添加以下选项
guest_enable=YES
guest_username=vuser

并确保pam_service_name选项的值如下所示
pam_service_name=vsftpd.mysql

启动vsftpd服务并进行验证。

Note:针对不同类型的用户应分别进行配置!此处仅仅演示简单的配置过程。

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

(0)
JeasonJeason
上一篇 2016-10-24
下一篇 2016-10-24

相关推荐

  • first

    计算机可分为硬件(CPU ,存储器 ,输入设备 ,输出设备),软件(操作系统 ) 两大部份; CPU:Central Processing Unit 中央处理器 ,内部由运算器,控制器,寄存器,缓存器组成 ; 存储器 :(RAM:Random Access Memory 随机存储器)进行数据 暂存,断电后其内信息会丢失,如内存 ;(ROM:Read Only…

    Linux干货 2016-12-05
  • zabbix部署(Linux上部署/监控端/被监控端)

    zabbix部署 一、监控系统的简单介绍 (1)cacti:存储数据能力强,报警性能差 (2)nagios:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的数据长度,储存在内存中。比如,连续采样数据存储,有连续三次不在合理范围内的数据就报警 (3)zabbix:结合上面两种工具的优点,又可以存储数据,又可以报警 二、zabbix特性 (1)数据采…

    Linux干货 2017-01-06
  • 三问:linux操作系统安全加固

    三问:linux操作系统安全加固 1.为什么要进行安全加固?     安全加固的重要性不言而喻。我这里把操作系统同马斯洛需求层次做了个类比,如有不恰当之处,还请指教。同人一样,操作系统也有自己的生理需求,对于人来说生理需求无非吃喝拉撒等,而对于操作系统来说它的生理需求又是什么了?我个人认为应该是底层硬件的配置,内核的驱…

    Linux干货 2017-03-30
  • 配置Nginx作为反向代理服务器

    配置Nginx作为反向代理服务器      一、nginx作为反向代理的工作模型: 1、nginx作为反向代理的工作模型       nginx工作在应用层,其能理解并可以提取出http请求报文中的首部信息中的请求方法、url、http协议版本等信息。   &…

    Linux干货 2016-10-29
  • Bind编译安装详解

    Bind编译安装详解 Bind是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台。现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服…

    Linux干货 2016-07-22
  • grep和正则表达式

    grep       作用:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文件逐行进行匹配检查;打印匹配到的行;       模式:由正则表达式的元字符及文本所编写出的过滤条件    语法:【选项】【文件】  &…

    2017-08-04

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-24 23:03

    需求完成了,最好附一些说明性的示例,能清楚的知道那些参数作用于那个服务之中的那个用户之类的