第十三周作业

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)
N26-西安-方老喵N26-西安-方老喵
上一篇 2017-04-04 10:24
下一篇 2017-04-04 15:18

相关推荐

  • CentOS6 网络管理之网卡配置及简单路由设置

    CentOS6中关于网络配置的命令有很多,本文将介绍几个平时最长用的几个命令,以及网卡IP地址的配置和简单路由配置。 1、经常使用的查看IP地址命令为 ifconfig,不跟参数的情况下默认查看所有已启用的网卡信息,如下图所示: 如果想查看具体某块网卡信息,则可以在ifconfig后面跟上网卡设备,如只查看eth0的信息则执行:ifconfig eht0 即…

    Linux干货 2016-09-05
  • 马哥教育网络班22期+第一周课程练习

    计算机的组成及其功能 计算机主要由五大部分组成:控制器、运算器、存储器、输入设备、输出设备,即CPU(控制器、运算器)、内存、I/O(输入/输出设备)。 控制器 是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器 对数据进行各种算术运算和逻辑运算,即对数据…

    Linux干货 2016-08-15
  • 2. 初识shell

        在Linux早期, 可以用来工作的只有shell. 那时, 系统管理员, 程序员和系统用户都坐在Linux命令行终端前, 输入文本命令, 查看文本输出. 而现在, 因为有了绚丽的图形化桌面环境, 在系统上找到shell提示符都变得困难起来. 接下来将会讨论提供命令行环境需要什么, 然后带你逐步了解可能会在各种L…

    Linux干货 2016-11-06
  • block(data block,directory block)、inode、块位图、inode位图和super block概念详解

    一.基本概念:      1.block:文件系统中存储数据的最小单元,ext3文件系统中,创建时默认4k,分为存储文件数据的data block和存储目录数据的directory block      2.inode:又称“索引节点”,每一个inode对应一个文件或目录,记录了…

    Linux干货 2016-03-04
  • 推荐-Nginx专题: upstream模块和缓存的简单使用

    Nginx专题: upstream模块和缓存的简单使用 nginx 负载均衡 Nginx专题: upstream模块和缓存的简单使用 前言: 实验拓扑 实验环境 Nginx_Upstream模块介绍 upstream使用方法 upstream使用示例 Nginx_Cache介绍 缓存静态资源 总结 前言: 本文接着上篇Nginx专题: 从编译安装到…

    Linux干货 2016-04-07
  • vim编辑器及练习题

    命令用法: vim [OPTION]… FILE…  +#: 打开文件后,直接让光标处于第#行的行首                   &nbs…

    Linux干货 2016-08-11

评论列表(1条)

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

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