马哥教育网络21期+第十三周练习博客

    马哥教育网络21期+第十三周练习博客

1、建立samba共享,共享目录为/data,要求:(描述完整的过程)
1)共享名为shared,工作组为magedu;
在服务器上安装samba
]# yum install samba
创建共享目录/data
启动samba的nmb和smb的服务
]# service nmb start; service smb start
这里我使用了单独的磁盘分区进行samba的文件存储
将区分好的磁盘空间挂载至data这个目录下


2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;
增加用户
useradd -s /sbin/nologin -G develop gentoo
echo "gentoo" | passwd --stdin gentoo
useradd -s /sbin/nologin -G develop centos
echo "centos" | passwd --stdin centos
useradd -s /sbin/nologin  ubuntu
echo "ubuntu" | passwd --stdin ubuntu

创建develop组编辑/etc/group配置文件将gentoo和centos加入到develop组组中
[root@ns2 samba]# id gentoo
uid=501(gentoo) gid=501(gentoo) groups=501(gentoo),504(develop)
[root@ns2 samba]# id centos
uid=502(centos) gid=502(centos) groups=502(centos),504(develop)

3)添加samba用户gentoo,centos和ubuntu,密码均为“mageedu”;
[root@ns2 samba]# smbpasswd -a gentoo
New SMB password:
Retype new SMB password:
Added user gentoo.
[root@ns2 samba]# smbpasswd -a centos
New SMB password:
Retype new SMB password:
Added user centos.
[root@ns2 samba]# smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:
Added user ubuntu.
这里先进行测试查看在另外一台服务器上是否可以使用以上的三个用户进行访问
[root@localhost ~]# smbclient -L 172.16.0.122 -U centos
Enter centos's password: 
Domain=[WORKGROUP] 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)
    centos          Disk      Home Directories
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]

    Server               Comment
    ---------            -------
    NS2                  Samba Server Version 3.6.23-36.el6_8
    WIN-21CF1KE3RK9      ADMIN

    Workgroup            Master
    ---------            -------
    WORKGROUP            WIN-21CF1KE3RK9


4)此samba共享shared仅允许develop组具有写权限,其他用户只能以只读方式访问;
编写/etc/smb.conf配置文件
[shared]
commnet = WHK work
path = /data
valid users = gentoo,centos,ubuntu,@develop
read list = ubuntu
write list = @develop
writable = yes
printable = no
这里尝试登录
[root@localhost ~]# smbclient //172.16.0.122/data -U centos
Enter centos's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
[root@localhost ~]# smbclient //172.16.0.122/shared -U centos
Enter centos's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]
smb: \> 
smb: \> 
smb: \> ls
  .                                   D        0  Sat Sep 24 19:56:02 2016
  ..                                 DR        0  Sat Sep 24 19:22:08 2016
  lost+found                          D        0  Sat Sep 24 19:56:02 2016

    40330 blocks of size 524288. 37938 blocks available
这里出现了一个问题在使用develop组中的用户想写入文件发现没有权限,这里需要提醒此服务当中使用的交集模式,默认使用权限最小的方式进行修改文件问属性
[root@localhost ~]# smbclient //172.16.0.122/shared -U centos
Enter centos's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]
smb: \> 
smb: \> 
smb: \> 
smb: \> 
smb: \> mkdir wanghongkai
smb: \> 
smb: \> 
smb: \> ls
  .                                   D        0  Sat Sep 24 20:41:55 2016
  ..                                 DR        0  Sat Sep 24 19:22:07 2016
  lost+found                          D        0  Sat Sep 24 19:56:02 2016
  wanghongkai                         D        0  Sat Sep 24 20:41:55 2016

        40330 blocks of size 524288. 37938 blocks available



5)此samba共享服务仅允许来自于172.16.0.0/16网络的主机访问; 
这里samba的共享服务仅允许来自于特定的网段进行主机访问,那么就需要在全局配置中进行定义[glob]
workgroup = WORKGROUP
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


2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)
安装所需要的软件
]# yum -y install  mysql-server mysql-devel pam_mysql

1)基于虚拟用户的访问形式;

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

3)禁锢所有的用户于其家目录当中;
chroot_local_user=YES
4)限制最大并发连接数为200:;
5)匿名用户的最大传输速率512KB/s
6)虚拟用户的账号存储在mysql数据库当中。
7)数据库通过NFS进行共享。
在服务器上启动nfs服务
]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Stopping RPC idmapd:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]

为共享数据库的提供特定的文件路径
在/etc/exports上共享nfs服务器端共享的文件系统
]# cat /etc/exports 
/mydata/data    172.16.0.136(rw)
将NFS的文件系统挂载至mnt目录上
]# mount -t nfs 172.16.0.136:/mydata/data/ /mnt
修改数据库的配置文件
[mysqld]
datadir=/mydata/data
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

编写vsftp的数据用户列表
mysql> CREATE DATABASE vsftpd;-->创建数据库
mysql>  grant select on vsftpd.* to vsftpd@'172.16.%.%' identified by 'www.magedu.com';-->允许172.16段的所有地址访问数据库
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)
 );
添加虚拟用户
mysql> insert into users(name,password) values('magedu1',password('magedu'));
Query OK, 1 row affected (0.00 sec)

mysql> insert into users(name,password) values('magedu2',password('magedu'));
Query OK, 1 row affected (0.00 sec)

mysql> insert into users(name,password) values('wostop',password('password01!'));
Query OK, 1 row affected (0.00 sec)

建立pam认证所需要的文件
]# cat /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
为虚拟用户建立系统用户
]# useradd -s /sbin/nologin -d /ftproot/ vuser
并修改权限
]#chmod go+rx /var/ftproot
编写/etc/vsftpd/vsftpd.conf
加入如下:
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.mysql-->启用mysql认证
max_clients=200
anon_max_rate=512
使用其他服务器进行测试:
[root@ns1 htdocs]]# ftp 172.16.0.122
Connected to 172.16.0.122 (172.16.0.122).
220 (vsFTPd 2.2.2)
Name (172.16.0.122:root): magedu1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls 
227 Entering Passive Mode (172,16,0,122,114,1).
150 Here comes the directory listing.
drwx------    2 500      500          4096 Sep 16 15:45 cd
226 Directory send OK.
ftp> mkdir wanghongkai 
257 "/wanghongkai" created
ftp> exit
221 Goodbye.

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

(0)
上一篇 2016-10-31 10:55
下一篇 2016-10-31 11:37

相关推荐

  • Week 1 计算机组成

    I. 引 Introduction     在学习计算机技术之前,了解计算机的组成是非常必要的。这不仅可以让你对硬件有一个大概的了解,而且会让你将来对基于硬件运行的软件有一个更为透彻的理解。只有理解了计算机是如何协调它的部件来工作的才方能理解人们为何这样设计操作系统和程序。 I. 计算机部件 The Essential…

    Linux干货 2016-06-11
  • N25-第6周

    vim:    模式化的编辑器        基本模式:            编辑模式,命令模式,            输入模式       &n…

    Linux干货 2017-02-13
  • Linux系统的终端类型

    Linux系统的终端类型    Linux系统的终端主要包括控制台终端、控制终端、串口终端、伪终端、虚拟终端。 1.  控制台终端(/dev/console)。    在Unix系统中,计算机显示器通常被称为控制台终端。Console与虚拟终端相关联,内核将信息送到控制台终端上(/dev/conso…

    Linux干货 2015-09-14
  • linux系统及简单使用

    简介:CentOS(Community Enterprise Operating System)社区企业操作系统,安全和稳定性较好,有优秀的社区支持。   Linux系统的原则: 1、由单一目的的较小的程序程序组成 2、一切皆文件 3、避免捕获用户接口 4、配置文件保存在文本中 5、链接程序完成复杂的功能   Linux系统安装: 英文安…

    Linux干货 2017-07-15
  • 8月5日作业

    课堂练习: 1、找出ifconfig命令结果中本机的所有IPv4地址 [root@localhost ~]# ifconfig | tr -s " " |head -2 | tail -1 |cut …

    Linux干货 2016-08-15
  • FHS文件系统介绍及各目录功能说明

    作者:M21-陆东贵 FHS文件系统介绍及各目录功能说明 FHS简介 Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾…

    Linux干货 2016-10-18

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-10 20:34

    赞,版风独特~~总结的也不错,加油~