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:09
下一篇 2016-10-24 09:11

相关推荐

  • bash脚本编程

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell;分别统计这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -i loginSum=0; declare -i nologinSum=0; for x in `cat /etc/passwd|cut -d: -f 7` do if [ “/sb…

    Linux干货 2017-10-31
  • 20 shell脚本编程1

    20 shell脚本编程1 一、杂项知识整理 1、脚本文件格式:     #!/bin/bash     (注释信息:)     #description:say hello     #vesion:…

    Linux干货 2016-08-11
  • LINUX课堂笔记(第一周)

    2018.03.05 LINUX: 切换虚拟终端:CTRL+ALT+F[1-6] 查看当前得终端设备命令:tty 查看内存: cat /proc/meminfo free -h 查看分区: cat /proc/partitions lsblk 查看CPU: lscpu cat /proc/cpuinfo 查看版本 cat /etc/centos-releas…

    Linux干货 2018-03-15
  • Linux基础之—用户和组管理

    导言:   我们在使用计算机资源时为了资源的合理规划和利用,同时为了实现更好的管理,需要在计算机里有一个使用资源的凭证,这个凭证就是用户,下面就来介绍Linux用户和组管理。 1.资源分派:     资源的分派可以分为三个步骤,分别是    (1)认证(Authertication)   &nbsp…

    Linux干货 2016-08-04
  • 第七周:文件系统、raid、lvm和shell脚本练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@wlm ~]# fdisk /dev/sdb    #将/dev/sdb进行分区操作 D…

    Linux干货 2016-11-07
  • ​iptables简单介绍

    iptables简单介绍 什么是防火墙? 防火墙是工作在主机或网络边缘,能够对其所匹配到的报文根据事先定义好的规则作出相应处理的组件,可以是软件,也可以是硬件,还能软硬结合实现。 UNIX/Linux中对防火墙的实现 早期在openBSD中通过内核中的ipfw实现简单的数据报过滤功能、后来在Linux 2.2内核中使用ipchains来取代,意为链、后来在L…

    Linux干货 2016-03-31

评论列表(1条)

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

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