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

相关推荐

  • linux用户管理

    linux用户:       linux用户大体分为两种:一是:管理员用户;二是普通用户,普通用户又可以分为系统用户和登录用户。因为linux是一个多用户多任务的系统,所以每一个要使用系统资源的用户,都要向管理员申请一个账号,使用这个账号登录到系统。每个用户都拥有一个自己的名字和密码,以登录到用户。 每个用户都有唯一的用户标识(…

    Linux干货 2016-08-04
  • N26 第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# cat /boot/grub/grub.conf | grep "^[[:space:]]" 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后…

    Linux干货 2017-01-26
  • FHS文件系统各目录功能

    / 根目录。 包含了几乎所的文件目录。相当于中央系统。进入的最简单方法是:cd /。 /boot 引导程序,内核等存放的目录。 这个目录,包括了在引导过程中所必需的文件,引导程序的相关文件(例如grub,lilo以及相应的配置文件以及Linux操作系统内核相关文件(例如vmlinuz等一般都存放在这里。在最开始的启动阶…

    Linux干货 2016-10-20
  • 第六周作业 bash编程学得好痛苦啊,啊啊啊~~需要挺住!

    请详细总结vim编辑器的使用并完成以下练习题 VIM很强大,但是万变不离其宗,最核心的三模式以下图表示: 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; :%s/^[[:blank:]]\+.*/\0#/g 2、复制/boot/grub/grub.conf至/…

    Linux干货 2016-12-19
  • Python

    Python中os和shutil模块
    csv文件和ini文件简介

    Linux干货 2017-10-30
  • 创建私有CA和申请证书流程

    创建私有CA和申请证书流程 由于很多时候做实验需要用到证书,就需要自己搭建一个私有CA来给自己颁发证书。同时通过整理创建CA和申请证书、吊销证书的过程加深自己的理解. PKI:Publilc Key Infrastructure 公钥基础设施:     签证机构:CA     注册机构:RA &nb…

    Linux干货 2016-12-01

评论列表(1条)

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

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