马哥教育网络第21期-第十三周课程练习

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网络的主机访问; 

[root@node3 samba]# yum -y install samba samba-client samba-common    //安装samba
[root@node3 samba]# vim /etc/samba/smb.conf    //编辑配置文件设置samba目录

[global]
	workgroup = MYGROUP
	server string = Samba Server Version %v
	
	netbios name = MYSERVER
	
;	interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 
	hosts allow = 172.16.0.0/16

	security = user    //user,share,domain
	passdb backend = tdbsam

[shared]
	comment = test
	path = /data        //真实路径
	browseable = yes
	writeable = no
	valid users = gentoo,centos,ubuntu,@develop
	write list = @develop
	read list = ubuntu	

[root@node3 ~]# mkdir /data
[root@node3 ~]# service smb start
[root@node3 ~]# smbclient -L //127.0.0.1
Enter root's password:    //直接按enter
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]

	Sharename       Type      Comment
	---------       ----      -------
	shared          Disk      test
	
[root@node3 ~]# groupadd develop        //添加samba路径和组
[root@node3 ~]# useradd -G develop gentoo
[root@node3 ~]# echo "gentoo" | passwd --stdin gentoo
[root@node3 ~]# useradd -G develop centos
[root@node3 ~]# echo "centos" | passwd --stdin centos
[root@node3 ~]# useradd ubuntu
[root@node3 ~]# echo "ubuntu" | passwd --stdin centos
[root@node3 ~]# smbpasswd -a gentoo
New SMB password:
Retype new SMB password:
Added user gentoo.
[root@node3 ~]# smbpasswd -a centos
New SMB password:
Retype new SMB password:
Added user centos.
[root@node3 ~]# smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:
Added user ubuntu.

[root@node3 ~]# service nmb start
[root@node3 ~]# service smb start
[root@node3 ~]# smbclient -L //127.0.0.1/data -U centos    //使用centos账户登陆samba
Enter centos's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]

	Sharename       Type      Comment
	---------       ----      -------
	IPC$            IPC       IPC Service (Samba Server Version 3.6.23-36.el6_8)
	shared          Disk      test
	centos          Disk      Home Directories
[root@node3 ~]# mount -t cifs //127.0.0.1/centos /mnt -o username=centos
Password: 
[root@node3 ~]# df
Filesystem         1K-blocks    Used Available Use% Mounted on
/dev/sda3           20106900 2620240  16458616  14% /
tmpfs                 510008       0    510008   0% /dev/shm
/dev/sda1             194241  149019     34982  81% /boot
//127.0.0.1/centos  20106900 2620240  16458616  14% /mnt

2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)
  1)基于虚拟用户的访问形式;
  2)匿名用户只允许下载,不允许上传;
  3)禁锢所有的用户于其家目录当中;
  4)限制最大并发连接数为200:;
  5)匿名用户的最大传输速率512KB/s
  6)虚拟用户的账号存储在mysql数据库当中。
  7)数据库通过NFS进行共享。
  
[root@node3 ~]# yum -y install vsftp mysql-server mysql-devel pam_mysql
[root@node3 ~]# vim /etc/exports     //为共享数据库提供共享文件系统
/data 192.168.1.116
[root@node3 ~]# service nfs start    //启动nfs
启动 NFS 服务: exportfs: No options for /data 192.168.1.116: suggest 192.168.1.116(sync) to avoid warning
                                                           [确定]
关掉 NFS 配额:                                            [确定]
启动 NFS mountd:                                          [确定]
启动 NFS 守护进程:                                        [确定]
正在启动 RPC idmapd:                                      [确定]
[root@node3 ~]# mount -t nfs 192.168.1.116:/data /mnt

[root@node3 ~]# vim /etc/my.cnf     //修改数据库存储位置
[mysqld]
datadir=/data
socket=/var/lib/mysql/mysql.sock
user=mysql

创建虚拟账户用户
[root@node3 ~]# service mysqld start
[root@node3 ~]# mysql
mysql> create database vsftp;
Query OK, 1 row affected (0.13 sec)
mysql> use vsftp
Database changed
mysql> grant select on vsftp.* to vsftp@'192.168.1.%' identified by 'www.magedu.com';
Query OK, 0 rows affected (0.00 sec)
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.12 sec)
mysql> insert into users(name,password) values('magedu',password('magedu'));
Query OK, 1 row affected (0.00 sec)

pam认证
[root@node3 ~]# vim /etc/pam.d/vsftpd.mysql
auth required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users 
usercolumn=name passwdcolumn=password crypt=2
account required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users 
usercolumn=name passwdcolumn=password crypt=2

[root@node3 ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak
[root@node3 ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES

pam_service_name=vsftpd.mysql
userlist_enable=YES
tcp_wrappers=YES
max_clients=200
anon_max_rate=512
[root@node3 ~]# service vsftpd start
[root@node3 ~]# ftp 192.168.1.116
Connected to 192.168.1.116 (192.168.1.116).
220 (vsFTPd 2.2.2)
Name (192.168.1.116:root): magedu
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> 

以上

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

(0)
N21_619463772N21_619463772
上一篇 2016-12-26
下一篇 2016-12-26

相关推荐

  • 使用fail2ban防止暴力破解ssh及vsftpd密码

    此文介绍一个linux下通过监控日志防止密码被暴力破解的软件-fail2ban。fail2ban支持常用的服务,如sshd, apache, qmail, proftpd, sasl, asterisk等的密码验证保护,当发现暴力破解的迹像时,可以通过iptables, tcp-wrapper, shorewall等方式阻止此IP的访问。 python安装 …

    Linux干货 2015-03-04
  • MongoDB

    Edit MongoDB 手册 MongoDB 手册 第一章 Introduction MongoDB入门学习目录(建议) Databases Collections Documents 第二章 部署安装 1. Import the MongoDB public key 2. Configure the package management system (…

    Linux干货 2017-04-08
  • 文本编辑工具Sed

                    Stream EDitor, 行编辑器         sed是一种流编辑器,它一次处理一行内容。处理时,一次性的先把文件读入内存中,并且开辟一块内存空间,该内存空间称为“模式空间”(pa…

    Linux干货 2016-08-10
  • 常见的文本处理工具及正则表达式的相关知识

    1.cat命令使用详解 cat [option]… [file]… -A equivalent=vET -b 非空行编号 -E 行为显示$ -n 显示所有行的行号 -s 行号并压缩连续空行为一行 -T 显示tab为^M 实例:显示a文件的行号及所有控制符 2.(1)head使用详解 head -n x 显示前x行 head -c x …

    Linux干货 2016-08-07
  • httpd的特性(初阶应用)

    httpd的特性   httpd常用配置/etc/httpd/conf/httpd.conf 1、修改监听的IP和PORT Listen [IP:]PORT (1)省略IP表示为0.0.0.0 (2)Listen指令可重复多次 Listen 8080 Listen 80 (3)先修改监听的socket,重启服务后方可生效 2、持久连续 KeepAl…

    2017-09-30
  • Python装饰器与面向切面编程

    新年好~ 那么,很久没有更新了,其实想想也没多少可以写的,因为Python的文档似乎很全面的说……能做的差不多只有翻译和整理了,英文过关的朋友不妨直接去doc.python.org这里查看相关资料 :) 转载请注明原作者和原文地址,多谢! 今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理…

    Linux干货 2015-03-12