Homework Week-13 samba、vsftp文件共享

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

vim /etc/samba/smb.conf
    全局配置
          workgroup=magedu
          hosts allow=172.16.0.0/16
     [shared]
          path=/data
          read only=yes
          write list=@develop
          browseable=yes
groupadd develop
useradd gentoo
useradd centos
useradd ubuntu
echo gentoo | passwd --stdin gentoo
echo centos  | passwd --stdin centos
echo ubuntu | passwd --stdin ubuntu
usermod -aG develop gentoo 
usermod -aG develop centos
smbpasswd -a centos     #添加samba用户并设置密码
smbpasswd -a gentoo
smbpasswd -a ubuntu
setfacl -m g:develop:rwx /data/
testparm
systemctl start smb.service

2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)

  1)基于虚拟用户的访问形式;

  2)匿名用户只允许下载,不允许上传;

  3)禁锢所有的用户于其家目录当中;

  4)限制最大并发连接数为200:;

  5)匿名用户的最大传输速率512KB/s

  6)虚拟用户的账号存储在mysql数据库当中。

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

yum -y groupinstall "Development Tools" "Server Platform Development"     #安装开发环境
yum -y install mariadb_server mariadb-devel openssl-devel pam-devel
systemctl start mariadb.service
mysql
>SHOW DATABASE;
>exit;
systemctl enable mariadb.service
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
systemctl stop vsftpd.service
cd /etc/vsftpd/
mv vsftpd.conf{,.test}
cp vsftpd.conf.bak vsftpd.conf
mysql
>CREATE DATABASE vsftpd;
>use vsftpd;
>CREATE TABLE users(
->id int AUTO_INCREMENT NOT NULL PRIMARY KEY,
->name char(30) NOT NULL,
->password char(48) binary NOT NULL);
>INSERT INTO users(name,password) VALUES('tom',password('123'));
>INSERT INTO users(name,password) VALUES('jerry',password('123'));
>SELECT * FROM users;
>GRANT select ON vsftpd.* TO vsftpd@localhost IDENTIFIED BY '123';
>GRANT select ON vsftpd.* TO vsftpd@'127.0.0.1' IDENTIFIED BY '123';
>FLUSH PRIVILEGES;
>exit;
vim vsftpd.conf
     pam_service_name=vsftpd
vim vsftpd.mysql     #在/etc/pam.d/下创建配置文件
     auth required pam_mysql.so usr=vsftpd passwd=123 host=localhost db=vsftpd 
     table=users usercolumn=name passwdcolumn=password crypt=2
     
     account required pam_mysql.so usr=vsftpd passwd=123 host=localhost db=vsftpd 
     table=users usercolumn=name passwdcolumn=password crypt=2
useradd -s /sbin/nologin -d /ftproot vuser
chmod go+rx /ftproot/
vim /etc/vsftpd/vsftpd.conf
     pam_service_name=vsftpd.mysql
     guest_enable=YES
     guest_username=vuser
     chroot_local_user=YES
systemctl start vsftpd.service

原创文章,作者:N22_Elephant,如若转载,请注明出处:http://www.178linux.com/54526

(0)
N22_ElephantN22_Elephant
上一篇 2016-12-05 17:03
下一篇 2016-12-05 17:03

相关推荐

  • Linux Basics-重定向与管道:第一部分

    Linux Basics-重定向与管道:第一部分 概述 本教程将介绍 Linux 中重定向标准 IO 流的基本技术。学习: 什么是重定向与标准 IO 流:标准输入、标准输出和标准错误 各种流和管道的实际应用   前提条件 你应该了解 Linux 基本知识以及拥有一个正常工作的 Linux 系统,在本文说明的实例中,我采用是CentOS 7 内核版本…

    Linux干货 2016-10-29
  • linux 必须掌握的60个命令

    Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统, 就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200…

    2017-09-05
  • 计算机扫盲闲谈

    什么是计算机?计算机是干什么的?什么又是操作系统?来上车,坐好了,听老司机给你娓娓道来。(大神勿喷)

    2018-03-26
  • M20 – 1- 第三周博客(2):Linux用户、组

    一、Linux用户组详解 Linux系统中的每个用户都有一个用户组,系统能对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于和他同名的用户组,这个用户组在创建用户时同时创建。用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就对/etc/group文件的更新。 用户组(group)就是具…

    Linux干货 2016-08-05
  • Linux 第五天: (08月01日) 练习和作业

    Linux 第五天: (08月01日) 练习和作业         创建用户gentoo, 附加组为bin和root, 默认shell为/bin/csh, 注释信息为"Gentoo Distribution" useradd -G bin,root -c "Gentoo Distribut…

    Linux干货 2016-08-08
  • 文件搜索工具—— find locate

           文件查找                  在文件系统上查找符合条件的文件;    &nbsp…

    Linux干货 2016-08-22