N26-博客作业-week13

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

# yum -y install samba# useradd gentoo# echo "gentoo" | passwd --stdin gentoo# useradd centos# echo "centos" | passwd --stdin centos# useradd ubuntu# echo "ubuntu" | passwd --stdin ubuntu# groupadd develop# usermod -G develop gentoo# usermod -G develop centos# smbpasswd -a gentooNew SMB password:Retype new SMB password:Added user gentoo.# smbpasswd -a centosNew SMB password:Retype new SMB password:Added user centos.# smbpasswd -a ubuntuNew SMB password:Retype new SMB password:Added user ubuntu.# vim /etc/samba/smb.conf[global]    workgroup = magedu    security = user    server string = Samba Server Version %v    netbios name = MYSERVER    hosts allow = 172.16.[shared]    comment = homework    public = no    path = /data    write list = @develop    read list = ubuntu    browseable = yes    # setfacl -m g:develop:rwx /data另外一台服务器# smbclient //x.x.x.x/shared -U centosEnter centos's password: Domain=[MAGEDU] OS=[Windows 6.1] Server=[Samba 4.4.4]smb: \> lcd /etcsmb: \> put resolv.conf putting file resolv.conf as \resolv.conf (9.6 kb/s) (average 9.6 kb/s)

2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)
  1)基于虚拟用户的访问形式;
  2)匿名用户只允许下载,不允许上传;
  3)禁锢所有的用户于其家目录当中;
  4)限制最大并发连接数为200:;
  5)匿名用户的最大传输速率512KB/s
  6)虚拟用户的账号存储在mysql数据库当中。
  7)数据库通过NFS进行共享。

NFS及vsftpd服务器:192.168.12.130
客户端:192.168.12.137

配置NFS共享
192.168.12.130:
    # mkdir -p /data/mydata
    # systemctl start nfs.service
    # vim /etx/exports
    /data/mydata 192.168.12.0/24(rw,no_root_squash,sync)

    # exportfs -r

192.168.12.137:
    # mkdir -p /web/html
    # mount -t nfs 192.168.12.130:/data/mydata /web/html
NFS配置完成

配置vsftpd服务器,基于虚拟用户访问,并将虚拟用户的账号存储于mysql中
192.168.12.130:
    安装mariadb.service mariadb-devel openssl-devel
    # yum -y install mariadb.service mariadb-devel openssl-devel
    编译安装pam-devel
    # tar -xf pam_mysql-0.7RC1.tar.gz
    # cd pam_mysql-0.7RC1
    # ./configure --with-mysql=/usr --with-openssl=/usr  --with-pam=/usr --with-pam-mods-dir=/lib64/security
    # make && make install
    
    配置数据库,建立vsftpd库及users表
    # systemctl start mariadb.service
    # mysql
    CREATE DATABASE vsftpd;
    USE vsftpd;
    CREATE TALBE users (
        id int AUTO_INCREMENT NOT NULL PRIMARY KEY
        name char(30) NOT NULL
        password char(48) NOT NULL );
    INSERT INTO users(name,password) VALUES ('tom',password('mageedu'));
    INSERT INTO users(name,password) VALUES ('jerry',password('mageedu.com'));
    GRANT SELECT ON vsftpd* TO vsftpd@'127.0.0.1' IDENTIFIED BY 'mageedu';
    FLUSH PRIVILEGES;
    
    迁移MariaDB的数据库默认数据存放目录,放到/data/mydata/目录中,形成NFS共享
    # cp -r /var/lib/mysql/ /data/mydata/
    # cd /data/mydata
    # chown -R mysql:mysql mysql/
    # vim /etc/my.cnf
    datadir=/data/mydata/mysql/
    # systemctl restart mariadb.service
    
    配置pam
    # vim /etc/pam.d/vsftpd.mysql
    auth required pam.mysql.so user=vsftpd passwd=mageedu host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password
    account required pam.mysql.so user=vsftpd passwd=mageedu host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password
    
    创建系统用户
    # mkdir /ftproot
    # useradd -s /sbin/nologin -d /ftproot vuser
    # chmod +rx -R /ftproot/
    
    配置vsftpd.conf
    # vim /etc/vsftpd/vsftpd.conf
    pam_service_name=vsftpd.mysql
    #允许匿名账户登录
    anonymous_enable=YES 
    #不允许匿名用户上传文件
    anon_upload_enable=NO 
    #禁锢本地账户的家目录
    chroot_local_user=YES 
    #最大允许的客户端连接数
    max_clients=200 
    #匿名用户的最大传输速率512KB/s
    local_max_rate=512000 
    #开启虚拟用户访问
    guest_enable=YES
    guest_username=vuser
    # systemctl start vsftpd.service

原创文章,作者:浙江-咲,如若转载,请注明出处:http://www.178linux.com/78080

(0)
浙江-咲浙江-咲
上一篇 2017-06-15 00:00
下一篇 2017-06-15 20:51

相关推荐

  • 马哥教育网络班22期+第6周课程练习 忍者乱太郎喻成

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#cp /etc/rc.d/rc.sysinit /tmp方法一 vim法在vim下用 : 进入命令行模式     %s/^&nbs…

    Linux干货 2016-10-24
  • 第四周练习与作业

    一、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符 复制文件至/tmp目录下: cp /etc/profile /tmp/ vim /tmp/profile 进入文件命令模式下,使用正则表达式  ;%s/^[[:blank:]]\+//g 二、复制/etc/rc.d/init.d/fu…

    2017-08-05
  • 终于成为马帮的成员了

    终于成为马帮的成员了

    Linux干货 2016-09-18
  • 计算机与操作系统,linux的发展史

    一台真正意义上的计算机都是由硬件与软件组成的。而根据冯诺依曼结构计算机由控制器、运算器、存储器、输入设备、输出设备五大部分组成。 硬件 控制器:(Controler) 控制程序的执行 运算器:(ALU,Arithmetic Logic Unit) 完成数据的加工处理 储存器:(Menory) 记忆程序和数据&…

    Linux干货 2016-10-26
  • Linux文件系统简介

    文件系统是Linux的十分基础的知识,同时也是学习Linux必不可少的知识。本文将简单的介绍一下Linux的文件系统,主要包括FHS文件层级结构、Linux的文件类型及对应的颜色标识、man帮助手册页以及命令编辑特性的快捷键的介绍。这仅仅是属于自己的一个总结,以后会对深入学习Linux有一定的帮助吧。 如有不对之处还请帮忙指出。 FHS文件层级结构 FHS(…

    Linux干货 2016-10-19
  • 马哥教育网络班20期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who |cut -d " " -f1 |sort -u 2、取出最后登录到当前系统的用户的相关信息。 [root@localhost ~]# who|tai…

    Linux干货 2016-06-29

评论列表(1条)

  • luoweiro
    luoweiro 2017-06-26 22:30

    实验过程很详细,希望两个项目能独立完成,后续再文件共享方面能熟练掌握,包括NFS等。