马哥教育网络班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

相关推荐

  • 关于大型网站技术演进的思考(四):存储的瓶颈(4)

    原文出处: 夏天的森林    如果数据库需要进行水平拆分,这其实是一件很开心的事情,因为它代表公司的业务正在迅猛的增长,对于开发人员而言那就是有不尽的项目可以做,虽然会感觉很忙,但是人过的充实,心里也踏实。 数据库水平拆分简单说来就是先将原数据库里的一张表在做垂直拆分出来放置在单独的数据库和单独的表里后更进一步的把本来是一个整体…

    2015-03-11
  • 第五周

    显示/boot/grub/grub.conf中以至少一个空白字符开头的行 egrep "^[[:space:]]+" /boot/grub/grub.conf 显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行 egrep "^#[[:…

    Linux干货 2016-09-19
  • 第三周作业

      1. who |cut -d ” ” -f1|uniq 2.who |head -1 3.cat /etc/passwd | cut -d: -f7|uniq -c |sort -n|tail -1|grep -o “/[[:alnum:]].*” 4. cat /etc/passwd |sort…

    2017-12-16
  • sed用户小结

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed [-nefri] ‘command’ 输入文本  …

    Linux干货 2016-08-12
  • yum安装 源码安装实例

     yum安装 源码安装实例 §·源码安装 http 2.2.29实例 1     1.下载源码包。 1     2.配置系统需要的编译环境。 2     3 ./configure ; make  ;…

    Linux干货 2016-08-24
  • Iptables基础

       Firewall:防火墙,工作于主机或网络的边缘处,对于进出本主机或网络的报文根据事先定义好的检查规则左匹配检测,对于能够被规则所匹配到的报文进行相应的处理的组件。   防火墙可分为:硬件防火墙,在硬件级别实现部分功能的防火墙;软件防火墙,应用软件处理逻辑运行于通用硬件平台之上的防火墙;主机防火墙,服务范围为当前主机;网络…

    2017-06-19

评论列表(1条)

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

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