第十三周作业

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

    1)安装samba软件包

]# yum install samba -y

    2)添加系统用户和组

]# groupadd develop
]# useradd gentoo -G develop
]# useradd centos -G develop
]# useradd ubuntu
]# for i in gentoo centos ubuntu;do echo "$i"|passwd --stdin $i;done
Changing password for user gentoo.
passwd: all authentication tokens updated successfully.
Changing password for user centos.
passwd: all authentication tokens updated successfully.
Changing password for user ubuntu.
passwd: all authentication tokens updated successfully.

     3)添加samba用户

]# smbpasswd -a gentoo
]# smbpasswd -a centos
]# smbpasswd -a ubuntu
]# pdbedit -L
gentoo:1000:
ubuntu:1002:
centos:1001:

     4)编辑samba配置文件,添加下面内容:

[shared]                                            #定义共享名称
        comment = magedu share                      #注释信息
        path = /data                                #本地的共享目录
        browseable = yes                            #是否能够被所有用户看到
        read only = yes                             #是否为只读
        write list = @develop                       #拥有写权限的用户或组
        hosts deny = 172.16.0.0/255.255.255.0       #拒绝指定网段的访问

     5)重载samba服务使配置生效

]# systemctl reload smb.service

     6)测试

]# smbclient //192.168.0.111/shared -U gentoo
Enter gentoo's password: 
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> put php.ini
putting file php.ini as \php.ini (5814.8 kb/s) (average 5814.9 kb/s)        #使用gentoo用户能够上传文件
]# smbclient //192.168.0.111/shared -U ubuntu
Enter ubuntu's password: 
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> put php.ini
NT_STATUS_ACCESS_DENIED opening remote file \php.ini                        #使用ubuntu用户上传文件失败

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

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

    1)安装mysql和需要用到的依赖包

]# yum groupinstall "Server Platform" "Server Platform Development" -y
]# yum install mariadb* openssl-devel pam-devel -y

     2)编译安装pam_mysql

]# 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

    3)在数据库中创建库与添加虚拟用户

]# mysql
MariaDB [(none)]> create database vsftpd;            #创建vsftpd库
MariaDB [(none)]> use vsftpd;
MariaDB [(none)]> create table users (               #创建虚拟用户表
    -> id int auto_increment not null primary key,
    -> name char(30) not null,
    -> password char(48) binary not null);
MariaDB [vsftpd]> insert into users(name,password) values ('tom',password('magedu'));            #插入两条虚拟用户信息
MariaDB [vsftpd]> insert into users(name,password) values ('jerry',password('magedu'));
MariaDB [vsftpd]> grant select on vsftp.* to 'vsftpd'@'localhost' identified by 'magedu';        #创建vsftpd用户并授权
MariaDB [vsftpd]> grant select on vsftp.* to 'vsftpd'@'127.0.0.1' identified by 'magedu';
MariaDB [vsftpd]> flush privileges;

     4)创建pam配置文件

]# vim /etc/pam.d/vsftpd.mysql
auto required pam_mysql.so user=vsftpd passwd=magedu host=localhost db=vsftpd table=users usercolumn=name pass
wdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=magedu host=localhost db=vsftpd table=users usercolumn=name p
asswdcolumn=password crypt=2

     5)创建系统虚拟用户和ftp上传目录

]# useradd -s /sbin/nologin -d /ftproot/ vuser        #创建系统虚拟用户
]# chmod -w /ftproot                                  #取消根目录的写权限(根目录下不具有写权限)
]# cd /ftproot/
]# mkdir ftpdir                                       #创建ftp上传目录并修改权限
]# chown vuser.vuser ftpdir

     6)修改vsftpd配置文件

]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES            #限制所有用户在其家目录中
anonymous_enable=YES             #允许匿名用户登录
local_enable=YES                 #允许启用本地用户
write_enable=YES                 #允许本地用户拥有写权限
pam_service_name=vsftpd.mysql    #使用vsftpd.mysql作为pam认证文件
guest_enable=YES                 #激活虚拟用户
guest_username=vuser             #mysql虚拟用户在系统中对应的用户
virtual_use_local_privs=YES      #虚拟用户与本地用户的权限相同
max_clients=200                  #最大并发连接数为200
anon_max_rate=512000             #匿名用户最大传输速率为512Kb

      7)重启vsftpd服务生效

]# systemctl restart vsftpd.service

    8)将ftp目录通过nfs进行共享

]# vim /etc/exports
/ftproot/ftpdir *(rw,sync)                #将ftp目录设置为nfs共享盘
]# systemctl restart rpcbind.service      #重启rpcbind和nfs服务使配置生效
]# systemctl restart nfs.service
]# showmount -e 192.168.0.113             #测试与nfs服务的通信
Export list for 192.168.0.113:
/ftproot/ftpdir *

原创文章,作者:N26-西安-方老喵,如若转载,请注明出处:http://www.178linux.com/72453

(0)
上一篇 2017-04-04 10:24
下一篇 2017-04-04 15:18

相关推荐

  • 第二周作业

    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关实例演示 理论上,linux一切皆文件,对于linux的管理命令均算是文件管理命令。 Linux文件类型常见的有:常规文件、目录文件、块设备文件、字符设备文件、符号链接文件、命名管道、套接字文件等。 -:常规文件 [root@iZ25c28fe7fZ ~]# ls -lh checkmount.s…

    Linux干货 2017-09-25
  • N25-第1周博客作业

    计算机概述及命令 一、计算机原理及其组成功能 计算机作为一个整体,由软件和硬件两大部分组成:  (1)计算机硬件系统。        计算机的硬件系统结构有哈佛结构和冯·诺伊曼结构两种。 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内…

    Linux干货 2016-12-03
  • linux用户,组及权限管理

      写在前面: 本博客详解命令如下: useradd, userdel,usermod, passwd,  chage, groupadd,  groupdel, groupmod, gpasswd ,newgrp, chsh, id, su,  chmod,  chowm,  chgrp, &nb…

    Linux干货 2015-12-19
  • linux 启动管理

    1、Linux系统启动流程:POST 加电自检 — BIOS(Boot Sequence)–>MBR(bootloader,446)(加载前512字节后的驱动程序,进入/boot目录,加载内核)–>Kernel–>initrd–>(系统根路径 /)(ROOTFS)/sbin/…

    Linux干货 2017-09-03
  • N25-第二周博客作业

    1. Linux上的文件管理类命令都有那些,其常用的使用方法及其相关示例演示. 文件管理工具有cp, mv, rm cp命令: 复制文件或文件夹 语法: cp [OPTION]… [-T] SOURCE DEST 单源复制cp [OPTION]… SOURCE… DIRECTORY 多源复制 常用选项:  &nb…

    Linux干货 2016-12-10
  • Storm集群安装详解

    storm有两种操作模式: 本地模式和远程模式。 本地模式:你可以在你的本地机器上开发测试你的topology, 一切都在你的本地机器上模拟出来;  远端模式:你提交的topology会在一个集群的机器上执行。 本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章…

    Linux干货 2015-04-04

评论列表(1条)

  • 马哥教育
    马哥教育 2017-04-10 16:20

    非常的好,请继续保持~~~加油!!