马哥教育网络班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 09:10
下一篇 2016-10-24 09:10

相关推荐

  • Linux磁盘管理

    一、磁盘简介 机械硬盘的组成部件主要有:盘片、机械手臂、磁头与主轴马达;盘片又可以细分为扇区(Sector)和磁道(Track),所有盘片的同一个磁道称之为柱面(Cylinder) 目前主流的磁盘接口有SCSI、SATA、SAS、USB等 Linux一切皆文件,硬件设备也有对应的文件,linux访问设备,其实就是访问与其对应的文件系统接口 设备文件: &nb…

    Linux干货 2016-06-01
  • Linux磁盘和文件系统管理进阶(swap、磁盘配额、RAID、LVM、btrfs)

    概述:     上篇已经介绍了一些磁盘和文件系统管理的基础概念,对磁盘的硬件构造,文件系统的基础概念部分有了一个大致的了解。本篇就分享一些关于磁盘和文件系统管理的一些高级应用,具体包含:     1、swap交换分区的管理     2、挂载…

    Linux干货 2016-08-30
  • 马哥教育网络班20期+第5周课程练习

    1、显示/boot/grub/grub.conf中至少一个空白字符开头的行 [root@localhost ~]# grep "^[[:space:]]\+.*" /boot/grub2/grub.cfg 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; [root@…

    Linux干货 2016-08-15
  • 脚本编程之循环:for,while,until

    shell中的循环语句一般有: for   while   until 一、for     for 变量名 in 列表;do         循环体     d…

    Linux干货 2016-08-18
  • OpenStack私有云部署

    架构 实验环境 角色 主机名 网卡 系统环境 Controller Node controller.qween.com 管理接口eth0:192.168.22.128 外部接口eth1:192.168.36.130CentOS6.8Compute Nodecompute1.qween.com管理接口eth0:192.168.22.129 隧道接口eth1:1…

    2017-12-12
  • 分布式文件系统MogileFS

    1、分布式系统的目标:加强A、P,在C上进行妥协     BASE模型 CAP理论: C:Consistency(一致性)  任何一个读操作总是能够读取之前完成的写操作。 A:Availability(可用性) 每一次操作总是能够在确定的时间返回。 P: Partition Tolerance ( 分区容错性 )   在出现网络分区的情况下,仍然能够满足一致…

    2017-11-23

评论列表(1条)

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

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