第十三周作业

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

相关推荐

  • N25期–第十五周作业

    1、 总结sed和awk的详细用法; 2、删除/boot/grub/grub.conf文件中所有行的行首的空白字符; # sed ‘s@^[[:space:]]\+@@’ /boot/grub/grub.conf 3、删除/etc/fstab文件中所有以#开头,后跟至少一个空白字符的行的行首的#和空白字符; # sed ‘s@^#[[:space:]]*@@…

    Linux干货 2017-05-08
  • Linux命令中特殊符号的用法

    Linux命令中特殊符号的用法 在马哥教育学习了将近一周的Linux运维,由最初对Linux系统的一无所知,到了解了Linux的发展历程,学习了一些基本命令,惊叹于Linux的强大功能。下面根据我学到的,介绍一下关于Linux命令中特殊符号的用法。 $的用法 1.$()或’’引用命令执行的结果 例如:如果我们想要创建一个以当前日期命名的目录,可以执行 #mk…

    2017-07-15
  • Systemd——CentOS7的init

    Systemd:     POST –> Boot Sequeue(BIOS) –> Bootloader(MBR) –> kernel(ramdisk) –> rootfs –> /sbin/init init:   &nbsp…

    Linux干货 2016-09-20
  • 第一周

    1、描述计算机的组成与功能 计算器是由运算器,控制器,存储器,输入设备和输出设备五大部件组成;每一部件分别按要求执行特定的功能,具体功能如下: (1)运算器:完成各种算术运算和逻辑运算的装置,能进行加、减、乘、除等数学运算,也能作比较、判断、查找、逻辑运算等。 (2)控制器:控制器是计算机机指挥和控制其它各部分工作的中心,其工作过程和人的大脑指挥和控制人的各…

    Linux干货 2017-01-02
  • Bash Shell编程初学基础篇之二

    Bash Shell编程初学基础篇之二    时间如白驹过隙,一晃过去了几周,一切的计划都没有变化快。当你制定计划实施时,在这期间却会发生许多打乱我们计划的事情,但是我们还是要坚持下去,胜利是属于坚持到最后的人!实践出真理,中级基本结束了,需要回过头了好好总结一下了。心中总有好多话想找个同行唠唠;不废话了,估计大家都烦了!总有一天,你会成…

    Linux干货 2015-05-11
  • Linux启动流程

    内核级别: 1、POST开机加电自检 BIOS加载CMOS信息并进行开机自检,检测硬件设备是否正常并进行硬件设备初始化 2、Boot Sequence(BIOS):定义设备启动顺序 BIOS定义设备启动顺序,并读取启动设备数据加载硬盘上的第一个扇区MBR。 3、Boot Loader(MBR):bootloader功能实现 Boot Loader提供一个菜单…

    Linux干货 2016-11-23

评论列表(1条)

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

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