马哥教育网络班21期+第13周课程练习

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

# groupadd develop
# useradd -G develop gentoo
# useradd -G develop centos
# useradd ubuntu
# echo "ubuntu" | passwd --stdin ubuntu
# yum install samba
# vim /etc/samba/samba.conf
[global]
        workgroup = magedu
        hosts allow = 172.16.
[shared]
        comment = TEST
        path = /data
        guest ok = no
        valid users = gentoo,centos,ubuntu
        writable = yes
        write list = +develop
# mkdir /data; chown :develop /data
# smbpasswd -a centos
# smbpasswd -a gentoo
# smbpasswd -a ubuntu
# service nmb start; service smb start

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

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

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

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

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

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

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

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

准备工作

node1:192.168.90.2
# mkdir /data
# vim /etc/exports
/data  192.168.90.3(rw)
# service nfs start
node2:192.168.90.3
# mkdir /mydata
# showmount -e 192.168.90.2
# vim /etc/fstab
192.168.90.2:/data  /mydata  nfs  defaults  0  0
# chown -R mysql.mysql /mydata

安装MySQL、vsftpd和pam_mysql

# yum install -y vsftpd pam_mysql
以二进制格式安装MySQL,关键一步指明datadir
# scripts/mysql_install_db --user=mysql --datadir=/mydata
# vim /etc/my.cnf
[mysqld]
datadir=/mydata
skip_name_resolve=ON

创建虚拟用户账户

准备数据库及相关表

mysql> CREATE DATABASE vsftpd;

mysql> GRANT SELECT ON vsftpd.* TO vsftpd@192.168.90.% IDENTIFIED BY '000000';
mysql> FLUSH PRIVILEGES;

mysql> use vsftpd;
mysql> CREATE TABLE users (
    -> id INT AUTO_INCREMENT NOT NULL,
    -> name CHAR(20) BINARY NOT NULL,
    -> password CHAR(48) BINARY NOT NULL,
    -> PRIMARY KEY(id)
    -> );

添加测试用虚拟用户,此处使用PASSWARD函数加密后存储

mysql> INSERT INTO users(name,password) VALUES('tom',password('000000'));

配置vsftpd

创建pam认证所需文件

# vim /etc/pam.d/vsftpd.mysql//-->文件名可任意
auth required /lib64/security/pam_mysql.so user=vsftpd passwd=000000 host=192.168.90.3 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2//-->用于认证用户
account required /lib64/security/pam_mysql.so user=vsftpd passwd=000000 host=192.168.90.3 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2//-->用于检查用户时效性
//-->相关详细配置参数可参照pam_mysql安装后生成文件/usr/share/doc/pam_mysql-0.7/README,man即可。

修改vsftpd的配置文件,使其适应认证

建立虚拟用户映射的系统用户及对应的目录
# useradd -s /sbin/nologin -d /ftproot vuser
# chmod go+rx /ftproot

请确保/etc/vsftpd.conf中已经启用了以下选项
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
anno_max_rate=512000
max_clients=200

而后添加以下选项
guest_enable=YES
guest_username=vuser

并确保pam_service_name选项的值如下所示
pam_service_name=vsftpd.mysql

启动vsftpd服务并进行验证。

Note:针对不同类型的用户应分别进行配置!此处仅仅演示简单的配置过程。

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

(0)
JeasonJeason
上一篇 2016-10-24
下一篇 2016-10-24

相关推荐

  • ifcfg, ip, ss,配置文件 (Blog 7)

    Linux主机接入网络:
    IP/MASK
    GATEWAY
    DNS

    Linux干货 2017-11-27
  • rpm包管理

    rpm包管理 由于 RPM 是透过预先编译打包成为 RPM 文件格式后,再加以安装的一种方式,还能够进行数据库的记载。 所以 RPM 有以下的优点: RPM 内含已经编译过的程序与配置文件等数据,可以让用户免除重新编译的困扰; RPM 在被安装前,会先检查系统的硬盘容量、操作系统版本等,可避免档案被错误安装; RPM 档案本身提供软件版本信息、相依属性软件名…

    Linux干货 2016-08-21
  • Linux网络管理之网络配置管理和子网划分

    配置网卡信息 获取网卡的信息 dmesg | grep -i eth 获取网卡芯片信息 lspci | grep -i eth 查询IP信息 ifconfig显示IP信息    -a:显示包括未激活状态的网卡信息 重启网卡服务(每次配置完ip需要手动重启此服务) CentOS6: servcie network restart CentO…

    Linux干货 2016-09-07
  • ACL权限管理练习

    ACL简介;
    权限管理练习

    2017-09-11
  • 终端类型

        终端是什么?终端不仅仅是显示器,还包括与之配套的键盘。在linux中表现为一个字符设备。Linux与用户交互时,直接向终端设备发送数据,数据就会被发送到屏幕上,用户通过键盘写的数据,就是向这个字符设备写数据,数据会同步显示到显示器上,回车后数据才会被linux执行命令。 终端类型 1串行口终端  &n…

    Linux干货 2016-10-17
  • 计算机;GPL等开源协议;Linux 哲学思想的炼成;MBR & GPT—fazion in magedu 20.July

    入门Linux的基础知识 fazionlan blog in 178Linux.July 22nd. 第一台计算机 1946第一台计算机ENIAC(electronic numerical integrator and calculator)在美国滨州大学诞生,是美国奥伯丁武器试验场为了满足计算弹道而研制的 冯诺依曼体系结构:1946年数学家提出运算器、控制…

    Linux干货 2016-07-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-24 23:03

    需求完成了,最好附一些说明性的示例,能清楚的知道那些参数作用于那个服务之中的那个用户之类的