第十三周作业

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

相关推荐

  • N26-第十二周

    1、请描述一次完整的http请求处理过程;        1、建立或处理链接:接收请求或拒绝请求        2、接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程;接收请求的方式通常是并发访问响应模型        3、处理请…

    2017-05-14
  • 基于LNMP网站平台,测试增加memcached缓存系统后网站访问效果

    LNMP安装教程链接:22-love cat 17周博客作业第2部分-构建一个LVS-DR模型的高性能集群 memcached 安装及测试效果 一、概念     memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态…

    Linux干货 2016-08-22
  • 8.5文本处理工具

    取本机ip地址 利用head命令取行首两行,tail命令取行尾一行, ifconfig |head -2 |tail -1   利用tr -s命令替换空格为“:”,并合并重复的“:”。利用cut -d:-f3命令,保留以“:”为分割符的第三部分   ifconfig |head -2 |tail -1 |tr -s "…

    Linux干货 2016-08-08
  • 从“黑掉Github”学Web安全开发

    Egor Homakov(Twitter: @homakov 个人网站: EgorHomakov.com)是一个Web安全的布道士,他这两天把github给黑了,并给github报了5个安全方面的bug,他在他的这篇blog——《How I hacked Github again》(墙)说明了这5个安全bug以及他把github…

    Linux干货 2016-08-15
  • grep的基本用法详解

     grep是linux上常用的一个文本处理工具之一。它有着强大的文本处理能力,学会它,可以让工作更有效率。 一、初识grep   grep: Global search Regular Experssion and Print out line   从名字上也可以直观的了解到它是基于正则表达式进行全局搜索,并把结果打印到屏幕上来…

    系统运维 2015-05-25
  • linux密码的破解与保护

    找回root口令:   遇到密码丢失的情况,如果只是普通用户的密码丢失,那么可以让管理员重新设定密码。但是如果管理员用户的密码丢失,那该如何解决?   在 Linux环境中root 密码忘记还是可以救回来的!只要能够进入并且挂载 / , 然后重新设定一下root的密码,就救回来啦!这是因为开机流程中,若强制进入runlevel 1 时, …

    Linux干货 2016-09-22

评论列表(1条)

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

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