马哥教育网络班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 08:35
下一篇 2016-10-17 08:35

相关推荐

  • 实验:系统启动和内核管理

    实验:bootloader 破坏stage1: 备份:dd if=/dev/sda of=/app/mbr bs=1 count=512 破坏:dd if=/dev/zero of=/dev/sda bs=1 count=446;此时/boot/grub/下的文件没有任何改动; 表现:stage1破坏后系统会直接进行光盘引导 修复1:救援模式–&…

    Linux干货 2017-05-14
  • Linux Sysadmin–part3

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现 #!/bin/bash for i in `cut -d’:’ -f7 /etc/passwd`;do if [ $i == “/sbin/nologin…

    2017-09-19
  • Jmeter性能测试 入门

    Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率。 熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadRunner了。 【小坦克Jmeter教程】,将会覆盖Jmeter的各个功能,并且会通过丰富的实例,让读者快速掌握Jmeter的各种用法 。 本文将通过一个实际的…

    Linux干货 2015-03-06
  • N_28 linux基础知识

    1.计算机的组成
    2.linux的各发行版
    3.linux的哲学思想
    4.一些linux的基本命令
    5.帮助信息
    6.FHS

    2017-12-01
  • linux —————-目录配配置【FHS】

    linux 目录配配置【FHS】 /根目录的意义与内容 根目录是整个系统最重要的一个目录;根目录与开机、还原、系统修复等操作有关 FHS建议标准: 根目录所在的分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好 FHS定义的目录含义 /bin :系统存放执行文件的目录,但是bin比较特殊【bin放置的是在单用户维护模…

    Linux干货 2017-04-17
  • Linux系统分区管理

    管理分区     查看系统中的分区4种方式 [root@localhost ~]# ls /dev/sd* [来自内存] [root@localhost ~]# cat /proc/partitions [root@localhost ~]# lsblk /dev/sda  /dev/sda1  /dev/sda2  /dev/sda3 …

    Linux干货 2017-12-02

评论列表(1条)

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

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