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

评论列表(1条)

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

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