N21沉舟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网络的主机访问; 

[root@nod1 ~]#yum install samba -y
#新增用户和组
######################################
    [root@nod1 ~]#groupadd develop
    [root@nod1 ~]# useradd -G develop gentoo
    [root@nod1 ~]# useradd -G develop centos
    [root@nod1 ~]# useradd ubuntu
    [root@nod1 ~]# echo "gentoo"| --stain passwd gentoo
    -bash: --stain: command not found
    [root@nod1 ~]# echo "gentoo"|  passwd --stdin gentoo
    更改用户 gentoo 的密码 。
    passwd: 所有的身份验证令牌已经成功更新。
    [root@nod1 ~]# echo "centos"|  passwd --stdin centos
    更改用户 centos 的密码 。
    passwd: 所有的身份验证令牌已经成功更新。
    [root@nod1 ~]# echo "ubuntu"|  passwd --stdin ubuntu
    更改用户 ubuntu 的密码 。
    passwd: 所有的身份验证令牌已经成功更新。
    
#增加samba用户,新增的samba用户必须是系统中已经存在的
####################################
    [root@nod1 ~]# smbpasswd -a gentoo
    New SMB password:
    Retype new SMB password:
    Added user gentoo.
    [root@nod1 ~]# smbpasswd -a centos
    New SMB password:
    Retype new SMB password:
    Added user centos.
    [root@nod1 ~]# smbpasswd -a ubuntu
    New SMB password:
    Retype new SMB password:
    Added user ubuntu.
    
#编辑配置文件
#######################################
    [root@nod1 ~]# vim /etc/samba/smb.conf
    [global]
    workgroup = MYGROUP
    server string = Samba Server Version %v
    security = user
    passdb backend = tdbsam
    load printers = yes
    cups options = raw
           hosts allow = 172.16.0.
    [shared]
    comment = my samba
    path = /data
    public = no
    valid users = gentoo,centos,ubuntu,@develop
    read list = ubuntu
    write list = @develop
    writable = yes
    printable = no 
#启动服务 
#########################################
    [root@nod1 ~]# service nmb start
    启动 NMB 服务:                                            [确定]
    [root@nod1 ~]# service smb start
    启动 SMB 服务:                                            [确定]
##连接samba共享存储:
    smbclient //172.16.100.5/shared -U centos

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

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

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

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

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

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

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

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

一、安装所需要程序
    ##安装mysql和pam_mysql
    # yum -y install  mysql-server mysql-devel pam_mysql

二、创建虚拟用户账号
    1.准备数据库及相关表
    首先请确保mysql服务已经正常启动。而后,按需要建立存储虚拟用户的数据库即可,这里将其创建为vsftpd数据库。
    mysql> create database vsftpd;
    mysql> grant select on vsftpd.* to centos@localhost identified by 'centos';
    mysql> grant select on vsftpd.* to centos@127.0.0.1 identified by 'centos';
    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)
     );
    2、添加测试的虚拟用户
    根据需要添加所需要的用户,需要说明的是,这里将其密码为了安全起见应该使用PASSWORD函数加密后存储。
    mysql> insert into users(name,password) values('centos',password('centos'));
    mysql> insert into users(name,password) values('gentoo',password('gentoo'));
三、配置vsftpd
1.建立pam认证所需文件
    #vi /etc/pam.d/vsftpd.mysql
    添加如下两行
    auth required /lib/security/pam_mysql.so user=centos passwd=centos  host=localhost db=vsftpd table=users usercolumn=centos passwdcolumn=centos crypt=2
    account required /lib/security/pam_mysql.so user=centos  passwd=centos  host=localhost db=vsftpd table=users usercolumn=gentoo passwdcolumn=gentoo crypt=2
    。
#建立虚拟用户映射的系统用户及对应的目录
    # useradd -s /sbin/nologin -d /var/ftproot vuser
    # chmod go+rx /var/ftproot
2.修改vsftpd的配置文件,使其适应mysql认证
    anonymous_enable=UES
    local_enable=YES
    write_enable=NO
    anon_upload_enable=NO
    anon_mkdir_write_enable=NO
    anon_other_write_enable=NO
    chroot_local_user=YES    将用户禁锢在自己的家目录中
    guest_enable=YES
    guest_username=vuser    指明虚拟用户映射到的系统用户
    listen=YES
    pasv_min_port=30000
    pasv_max_port=30999
    pam_service_name=vsftpd.mysql  指明使用/etc/pam.d/vsftpd.mysql 来认证

原创文章,作者:N21-沉舟,如若转载,请注明出处:http://www.178linux.com/52563

赞 (0)
N21-沉舟N21-沉舟
上一篇 2016-10-24 09:10
下一篇 2016-10-24 09:10

相关推荐

  • AB测试命令

    [root@chuangyuegou ~]# ab -n 10000 -c 49 http://192.168.0.99/index.html This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd,…

    Linux干货 2016-12-05
  • 文件系统管理&raid&脚本编程之参数、算数运算练习

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; (1) ~]# fdisk /dev/sdb Welcome to…

    Linux干货 2016-11-08
  • pxe和dhcp服务——引导安装操作系统

    BootStraping:系统提供(OS Provision) pxe –> preboot excution environment, Intel cobbler –> Cobbler is a network install server.  Cobbler supports PXE, ISO virtual…

    Linux干货 2016-11-05
  • shell中的位置参数变量

    要了解位置变量,首先要知道什么是变量?  变量就是让某一个特定的字符串来代表不固定的内容,简单理解就是用一个简单的“字眼”来替代另一个比较复杂或者容易变动的数据。 而什么又是位置变量呢?  位置变量就是bash将传递给脚本的参数,按照位置不同,保存在不同的位置变量中,以便于脚本调用这些变量。 位置参数变量: $1, $2, ……

    Linux干货 2016-08-12
  • sed文本处理器

    文本处理三剑客之一

    Linux干货 2017-12-10
  • 磁盘管理—MBR分区与GPT分区总结

    描述: 1,什么是磁盘分区   磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区(Partition),不同类的目录与文件可以存储进不同的分区。 2,硬盘结构及参数   3D参数(Disk Geometry):CHS(Cylinder/Head/Sector)  &nb…

    Linux干货 2016-08-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-25 12:32

    1、注意审题清楚。
    2. 关键步骤不可省略