马哥教育网络班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网络的主机访问;

安装Samba:yum install –y samba-*
启动Samba:service nmb start; service smb start
添加组develop :  groupadd develop
添加用户gentoo,centos和ubuntu: useradd -G develop gentoo, useradd -G develop centos, useradd ubuntu
添加samba用户gentoo,centos和ubuntu:
smbpasswd –a gentoo,smbpasswd –a centos,smbpasswd –a ubuntu
创建目录data : mkdir /data
编辑配置文件,配置共享shared
vim /etc/samba/smb.conf
[shared]
path = /data
guest ok = yes
writable = yes
valid users = 172.16.0.0/16
设置仅允许develop组具有写权限,其他用户只能以只读方式访问;
setfacl -m u::r /data ; setfacl -m o::r /data; setfacl –m g:develop:rw /data

2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)
 1)基于虚拟用户的访问形式;

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

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

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

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

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

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

一、  数据库nfs的共享
①   在192.168.194.129服务器上安装nfs服务,设置共享目录为nfshare
yum install nfs-utils-1.2.3-39.el6.x86_64.rpm
mkdir /nfshare
创建mysql用户,设置 /nfshare 的所属主,所属组为mysql
groupadd –g 505 mysql
useradd –g 505 –u 505 –s /sbin/nologin –M mysql
chown -R mysql.mysql /nfshare
配置nfs的共享配置文件/etc/exports,/nfshare共享给制定的服务器
/nfshare    192.168.194.128/255.255.255.0(no_root_squash,rw)
启动nfs
service nfs start
②   在192.168.194.128服务器上安装mysql,创建目录/mydata 用来挂载nfs共享目录。
yum –y install –y mysql mysql-server mysql-devel
创建mysql用户,设置 /mydata的所属主,所属组为mysql
groupadd –g 505 mysql
useradd –g 505 –u 505 –s /sbin/nologin –M mysql
chown -R mysql.mysql /mydata
挂载nfs共享目录
mount 192.168.194.129:/nfshare /mydata
修改mysql的配置文件,制定datadir的位置为/mydata
vim /etc/my.cnf
[mysqld]
datadir=/mydata
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/mydata/mysqld.pid
初始化mysql
mysql_install_db –datadir=/mydata
启动mysql
service mysqld start

二、  vsftp文件共享服务
① 在192.168.194.128服务器上
创建数据库
mysql> create database vsftpd;
创建数据库用户,授权对vsftpd数据库有查询权限
mysql> grant select on vsftpd.* to vsftpd@192.168.194.128 identified by 'magedu';

mysql> grant select on vsftpd.* to vsftpd@127.0.0.1 identified by 'magedu';

mysql> flush privileges;
在vsftpd数据库中创建表users
mysql> use vsftpd
Database changed
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));
Query OK, 0 rows affected (0.03 sec)

mysql> select * from users;
Empty set (0.00 sec)
插入虚拟用户名magedu1,密码magedu
mysql> insert into users(name,password) values('magedu1',password('magedu'));
Query OK, 1 row affected (0.00 sec)

mysql> select * from users;
+----+---------+-------------------------------------------+
| id | name| password  |
+----+---------+-------------------------------------------+
|  1 | magedu1 | *6B8CCC83799A26CD19D7AD9AEEADBCD30D8A8664 |
+----+---------+-------------------------------------------+
1   row in set (0.00 sec)

②安装开发环境
 yum -y  groupinstall  "Development Tools" "Server Platform Development"
安装vsftp: yum -y install vsftpd pam-devel openssl-devel
安装pam_mysql
tar xf pam_mysql-0.7RC1.tar.gz
./configure --with-mysql=/usr --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security
make &&  make install
ls /lib64/security 查看pm_msyql_so 模式是否安装成功


③   建立pam认证所需文件
vim /etc/pam.d/vsftpd.mysql
添加如下两行
auth required /lib64/security/pam_mysql.so user=vsftpd passwd=magedu host=192.168.194.128 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required /lib64/security/pam_mysql.so user=vsftpd passwd=magedu host=192.168.194.128 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

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

修改ftp配置
/etc/vsftpd/vsftpd.conf
添加配置
guest_enable=YES
guest_username=vuser
修改配置
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
pam_service_name=vsftpd.mysql
max_clients=200
anon_max_rate=512

重启ftp 服务
service vsftpd restart
在192.168.194.129服务器上测试
[root@oracletest /]# ftp 192.168.194.128
Connected to 192.168.194.128 (192.168.194.128).
220 (vsFTPd 2.2.2)
Name (192.168.194.128:root): magedu1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

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

(0)
hhaa0352hhaa0352
上一篇 2016-10-17
下一篇 2016-10-17

相关推荐

  • 第一周学习总结

    俗话说,好记性不如烂笔头,在当今移动互联网横行的时代,烂笔头就是网络,而笔记本就是各种平台。 作为一个IT人,有人突然问你计算机是啥,你可能不会像学文科的人一样给他说,就是电脑啊。这时候就是凸显IT知识技能的时候了,那么我下面就给您慢慢的道来。 在1946年美籍匈牙利人冯·诺依曼首次提出了自己的计算机体系理论,简称冯·诺依曼体系,主要是说计算机由五大基本部件…

    2017-12-14
  • 管中窥豹—linux命令

    命令行选项风格: 1、原始unix风格     a、命令行选项以连字符'-'开头,后跟单个字符表示选项,选项后面跟着取值,如:mysql -hlocalhost      b、选项不带取值的,可以组合在一起,如:sed -n -r 可以写成 sed -nr  …

    Linux干货 2016-10-30
  • ELK 日志分析实例

    网海过客www.chinasa.net ELK 日志分析实例一、ELK-web日志分析二、ELK-MySQL 慢查询日志分析三、ELK-SSH登陆日志分析四、ELK-vsftpd 日志分析 一、ELK-web日志分析 通过logstash grok正则将web日志过滤出来,输出到Elasticsearch 搜索引擎里,通过Kibana前端展示。  …

    Linux干货 2016-06-03
  • Linux运维学习历程-第一天-基础知识

    什么是Linux   Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 为什么学Linux…

    Linux干货 2016-08-03
  • HTTP协议

    HTTP协议   HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP协议工作于客户端-服务端架构之上。浏览器作为HT…

    Linux干货 2017-02-15
  • linux之netfilter与 iptables学习

    Linux之netfilter与iptables学习 一、为什么我们的主机需要防火墙 二、Linux下防火墙如何实现 三、四表五链学习 四、主机防火墙 五、网络防火墙 六、iptables命令学习 七、主机防火墙规则备份与恢复 ====================================== 一、为什么我们的主机需要防火墙?  &nbs…

    Linux干货 2016-06-23

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-25 13:04

    注意每一个细节,标注好每一个操作针对的是那一个问题