RHCE中ftp,samba,dns,nfs,dhcp的配置

DHCP

dhcp: 动态主机配置协议。

daemon: dhcpd   配置文件: /etc/dhcp/dhcpd.conf

RHCE中ftp,samba,dns,nfs,dhcp的配置

安装:

RHCE中ftp,samba,dns,nfs,dhcp的配置

默认情况下dhcp配置文件里的内容是空的:

RHCE中ftp,samba,dns,nfs,dhcp的配置

为了方便我们的配置,我们可以使用一个模板:

RHCE中ftp,samba,dns,nfs,dhcp的配置

然后用模板里的内容替代当前配置文件里面的内容,以后直接修改就可以了:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

配置文件开头的这些都是全局性配置,比如分配给客户端的域名是什么,分配给客户端的dns服务器是哪个的。

记住:配置dhcp的那台机器的网卡必须要静态的IP。

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

我们要是想定义一个作用域的话,就subnet来定义,如上图,语法为:

subnet  网段 netmask   子网掩码 {
xxxxx

yyyyy
}

RHCE中ftp,samba,dns,nfs,dhcp的配置

里面的每行都要用;来结束。

重启服务 :

RHCE中ftp,samba,dns,nfs,dhcp的配置

现在dhcp就可以正常的工作了。注:如果服务启动不起来的话,那么你要查看ip地址是不是静态配置,如果还不行就检查一下语法:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

从上图我们可以看到dhcp已经能够分配地址了。

做mac地址绑定:

上图是做mac地址绑定的语法:

host 名字  {
hardware ethernet    xxx:xxx:xxx:xxx:xxx:xx

fixed-address ip地址

}

例子:

RHCE中ftp,samba,dns,nfs,dhcp的配置

为mac地址是

RHCE中ftp,samba,dns,nfs,dhcp的配置

分配一个ip地址: 192.168.204.107.

RHCE中ftp,samba,dns,nfs,dhcp的配置

如果我们有多个作用域的话,每个作用域都有不同的网段:

shared-network xxxx {
subnet xx1 {

}

subnet xx2 {

}
.......
}

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

如果我们的服务器上有多张网卡的话,但是我们不希望dhcp在所有的网卡上工作,也就是说我只允许dhcp可以通过eth0来自动分配ip,而不能通过eth1来分配ip:

要编辑/etc/sysconfig/dhcpd,原内容如下:

RHCE中ftp,samba,dns,nfs,dhcp的配置

可以改成:

RHCE中ftp,samba,dns,nfs,dhcp的配置

此时dhcp只会通过eth0对外提供服务。

DNS概览

。 使用 dig 验证 DNS 服务器的功能
查看dns的查询过程可以通过如下命令:

dig +trace  www.baidu.com

daemon: named

配置文件: /etc/named.conf,如果我们做了chroot的话,dns会把/var/named/chroot当做根。所以从我们这边看的话,配置文件就是/var/named/chroot/etc/named.conf

安装:

RHCE中ftp,samba,dns,nfs,dhcp的配置

因为我们安装了chroot,所以所有的文件都应该放在/var/named/chroot里面。

RHCE中ftp,samba,dns,nfs,dhcp的配置

我们在拷贝的时候,最好用-p选项把属性同时拷贝过去。

RHCE中ftp,samba,dns,nfs,dhcp的配置

现在看来dns的配置文件是:/var/named/chroot/etc/named.conf,我们现在来修改:

RHCE中ftp,samba,dns,nfs,dhcp的配置设置监听某个网卡的53.

RHCE中ftp,samba,dns,nfs,dhcp的配置允许谁可以查询,默认是自己才可以查询,其他机器都不可以。

RHCE中ftp,samba,dns,nfs,dhcp的配置

是否启用递归查询。

还可以加上一句:

RHCE中ftp,samba,dns,nfs,dhcp的配置(默认是没有的,可以在man里查找到)用来设置哪些主机(或者网段)可以递归查询。 

比如

RHCE中ftp,samba,dns,nfs,dhcp的配置

这仅允许192.168.0.0这个网段才可以递归查询,其他是不可以的。

全局选项到此结束。

RHCE中ftp,samba,dns,nfs,dhcp的配置

这个是日志。

RHCE中ftp,samba,dns,nfs,dhcp的配置

用zone来定义一个区,一个区是用来定义不同的域的。

比如dns可以解析example.com这个域,那么我们就要用一个区来定义example.com这个域。

定义的语法:

zone 域名 类型 {
type  master|hint|slave            ;;hint只能定义根域的时候使用

file   {  文件名; };           ;;   文件名没有路径,在named.conf里定义过了。

};

比如:

RHCE中ftp,samba,dns,nfs,dhcp的配置

我现在用一个区定义了一个域example.com。类型是master(即主服务器)

RHCE中ftp,samba,dns,nfs,dhcp的配置

在读取named.conf的时候,系统会把RHCE中ftp,samba,dns,nfs,dhcp的配置的内容加到named.conf里。

刚才定义的example.com域的配置文件时example.com.zone,路径在/var/named/chroot/var/named里面。

RHCE中ftp,samba,dns,nfs,dhcp的配置

此时是没有example.com.zone这个文件的,我们可以手工的写一个,也可以拷贝一个模板来修改。

RHCE中ftp,samba,dns,nfs,dhcp的配置

然后编辑:

RHCE中ftp,samba,dns,nfs,dhcp的配置

重启服务:

RHCE中ftp,samba,dns,nfs,dhcp的配置

我们需要修改/etc/resolv.conf把dns服务器地址设为自身:

RHCE中ftp,samba,dns,nfs,dhcp的配置

这时,我们的dns服务器可以正常工作了。

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

我们还可以做反向解析:

首先要定义一个域:

RHCE中ftp,samba,dns,nfs,dhcp的配置

然后生成并编辑example.com.arpa,我们也是拷贝模板得到:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

重启服务:

RHCE中ftp,samba,dns,nfs,dhcp的配置

 

仅缓存 DNS 服务器

。 安装本地缓存名称服务器/

在named.conf里面的options(也就是全局选项配置里面)加上一句话

RHCE中ftp,samba,dns,nfs,dhcp的配置

。 将 DNS 请求发送至 instructor.example.com

回去自己研究一下,dns主辅区传送、子域授权、viewer、acl、事务签名(TSIG)。

第十六章  通过 NFS 共享文件

NFS主要实现的是类unix之间的共享。

nfs默认已经安装了,配置文件是 /etc/exports,daemon: nfs

nfs是基于rpc这个服务的。

我们首先要把一些端口的端口号固定下来,编辑/etc/sysconfig/nfs

RHCE中ftp,samba,dns,nfs,dhcp的配置

再重启一下nfs,那么我们会发现,所有的端口都固定下来了:

RHCE中ftp,samba,dns,nfs,dhcp的配置

其次我们要在防火墙中打开这些端口:

RHCE中ftp,samba,dns,nfs,dhcp的配置

记住,在写防火墙的时候最好是插入,不然的话还是一样被拒绝的:

RHCE中ftp,samba,dns,nfs,dhcp的配置

保存防火墙:

RHCE中ftp,samba,dns,nfs,dhcp的配置

下面我们开始配置nfs,主要是编辑/etc/exports

语法:

目录名       范围(权限1,权限2,权限3,....)

比如我要把/xx这个目录共享出去,而且仅仅192.168.204.0这个网段可以写,192.168.100.0网段只能读:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

现在说明已经挂载成功了,而且服务器给192.168.204.0这个网段的主机都有写权限,下面我们来测试写,我只要往/opt这个目录里面写,就相当于往服务器里写了:
RHCE中ftp,samba,dns,nfs,dhcp的配置

我们突然发现,不能写?原因是在nfs服务器的配置文件里面有一个默认选项是root_squash,作用是,如果从其他机器用root访问的时候,在服务器这边会把root的身份转变成nfsnobody,在客户端感觉是用root往里写的,但是在服务器端来看,是nfsnobody这个用户在写,RHCE中ftp,samba,dns,nfs,dhcp的配置其他是不能写的,所以在客户端上用root往里写是不行的。

两种解决方案:

1. 给/xx其他人写权限:RHCE中ftp,samba,dns,nfs,dhcp的配置,然后在到客户端来测试:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

2. RHCE中ftp,samba,dns,nfs,dhcp的配置然后修改/etc/exports如下:RHCE中ftp,samba,dns,nfs,dhcp的配置意思是当在客户端上用root访问的时候,root的身份是不变的,在服务器上来看也是root访问的。测试如下:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

nfs只识别uid,而不识别用户名,比如在服务器上tom用户的uid为500,在客户端上bob的uid是500,当在客户端上bob创建一个文件的时候,客户端显示文件的所有者是bob,而在服务器端看到文件所有者却是tom。

我们可以通过nfs把ldap的用户的家目录共享出去,这样就可以实现了win下面的漫游用户这样的东西。

记住:我们讲的是nfsv3版本,只能根绝网段或者主机来限制,而不能根据用户名来限制,如果要想根据用户名限制的话,必须使用nfsv4+kerberos。

如果把/etc/export内容改成如下:

RHCE中ftp,samba,dns,nfs,dhcp的配置

那么192.168.204.0这个网段的主机是不能再访问nfs服务器了:

RHCE中ftp,samba,dns,nfs,dhcp的配置

  第十七章 通过 CIFS 共享文件

samba是用来实现windows和类unix之间的共享的,当然也可以实现类unix之间的共享。

samba的daemon有两个,smb、nmb   配置文件: /etc/samba/smb.conf

使用的端口包含: UDP: 137、138  TCP:139、445,大家在做的时候一定要在防火墙上把这四个端口打开。

安装:

RHCE中ftp,samba,dns,nfs,dhcp的配置

启动并设置开机自动启动:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

下面我们开始来配置samba,修改配置文件。

首先在smb.conf里前一段告诉我们如何设置selinux:

RHCE中ftp,samba,dns,nfs,dhcp的配置

大家可以认真的看一下,记住,如果我们要把某个目录共享出去的话,我们要把这个目录的上下文设置为samba_share_t。

首先是global全局配置,在这里面配置的任何东西都会影响这个samba服务。

RHCE中ftp,samba,dns,nfs,dhcp的配置

workgroup是windows的概念,而samba是用来和windows共享数据的,所以workgroup我们要设置和windows下的一样,一般是WORKGROUP:

RHCE中ftp,samba,dns,nfs,dhcp的配置

下面的server sting 设置的samba的注释信息 %v是个变量,是版本的意思。

RHCE中ftp,samba,dns,nfs,dhcp的配置

interface是用来设置samba监听哪个端口的,hosts allow 设置的是允许哪些主机可以访问samba服务,如果在hosts allow里面 出现了except的话,那么排除的就是明确拒绝的,比如:

RHCE中ftp,samba,dns,nfs,dhcp的配置

允许任何主机都可以访问samba,但是就不允许 192.168.204.1,他出现在hosts allow里的except,就是明确被拒绝的意思。

RHCE中ftp,samba,dns,nfs,dhcp的配置

security决定了samba的验证方式,有一下几种:

share : 当别人访问samba的时候,是不需要任何用户名和密码的,相当于windows的everyone。

user : 当别人访问samba共享目录的时候,必须要输入用户和密码。这个用户名和密码是samba的用户和密码,记住:这个用户必须是系统中存在的用户,但密码可以和系统密码不一样。我们可以使用smbpasswd这个命令把系统用户加入到samba用户中,比如:

RHCE中ftp,samba,dns,nfs,dhcp的配置

这样就把tom加入到了samba用户中了,此时的密码可以和tom登录系统所用的密码不一样。常见的几个命令   smbpasswd -d tom 禁用tom, smbpasswd -e tom 启用这个用户, smbpasswd -x tom 删除这个用户。

下面我们直接看如何共享一个目录,我们共享/xx这个目录:

首先要改变他的上下文:

RHCE中ftp,samba,dns,nfs,dhcp的配置

然后我们修改配置文件,直接到smb.conf的最后一行添加:

RHCE中ftp,samba,dns,nfs,dhcp的配置

(;和#都是注释)

下面我们到windows下来访问:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

当我们要创建一个文件的时候,发现创建不了,我们应该从三个方面来检查,首先查看配置文件中是否具有写权限,如果没有加上:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

还是不行,下面我就来检查一下文件系统的权限问题:

RHCE中ftp,samba,dns,nfs,dhcp的配置

当我们写的时候,使用tom身份,但实际上是往/xx里面写 ,但xx对其他人来说是没有写权限的,所以写不成功,chmod o+w /xx,然后再试:

RHCE中ftp,samba,dns,nfs,dhcp的配置

现在创建成功了。

现在是所有的用户都可以写,如果我希望tom可以写,其他用户不 可以写:

RHCE中ftp,samba,dns,nfs,dhcp的配置

首先要关闭写功能,writable=no,凡是在write list 里面出现的用户都是可以写的。

RHCE中ftp,samba,dns,nfs,dhcp的配置

先清空缓存,用bob登录,看是否能写:

RHCE中ftp,samba,dns,nfs,dhcp的配置

bob现在是不能写的,如果想让bob写,应该:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

现在就可以写了。

如果想让tom组中所有用户都可以写:

RHCE中ftp,samba,dns,nfs,dhcp的配置

现在bob已经不可以写了,但我们把bob加入到tom组里面去:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

browseable是设置隐藏共享的,默认是允许浏览的,如果改成no就可不可浏览了。

RHCE中ftp,samba,dns,nfs,dhcp的配置

现在就没有xxx这个共享目录了。

如果我们想让tom可以浏览,但bob不可以浏览的话:

我们要smb.conf的全局位置写上一句话:

RHCE中ftp,samba,dns,nfs,dhcp的配置

后面的%U是变量代表用户名,即,当tom访问samba共享的时候,他使用的配置 文件就不是smb.conf了,而是smb.conf.tom,下面我们生成一个smb.conf.tom

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

此时tom在登录的时候,使用的就是smb.conf.tom这个文件,也就是可以browseable了。

RHCE中ftp,samba,dns,nfs,dhcp的配置

bob还是浏览不到,但是tom呢

RHCE中ftp,samba,dns,nfs,dhcp的配置

当才所讲的一切都是有用户登录的情况,也就是security=user的情况,如果我们改成share的话,就不需要密码了。

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

登录整个服务的时候没有问题,但是登录到具体的目录的时候就不行了。

如果允许登录到xxx的话,那么我们也要修改配置文件:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

就可以了。

 

第十八章  通过 FTP 共享文件

vsftp : 非常安全ftp,应用非常广泛。

daemon: vsftpd 配置文件: /etc/vsftpd/vsftpd.conf

安装vsftpd:

RHCE中ftp,samba,dns,nfs,dhcp的配置

启动服务:

RHCE中ftp,samba,dns,nfs,dhcp的配置

ftp使用两个端口号:20和21,其中20是用来传输数据的,21是用来传输信令的。

首先在防火墙里打开两个端口:

RHCE中ftp,samba,dns,nfs,dhcp的配置

虽然这样可以让别人登录到我们的ftp服务器上,但是当别人执行ftp命令的时候会出现问题:

RHCE中ftp,samba,dns,nfs,dhcp的配置

大家会看到登录时正常的(我们使用ftp登录,密码是空),但是在里面执行ls的时候,会提示我们找不到路由,解决这个问题我们要修改防火墙/etc/sysconfig/iptables-config 

RHCE中ftp,samba,dns,nfs,dhcp的配置

重启防火墙,然后重新查看:

RHCE中ftp,samba,dns,nfs,dhcp的配置

现在就是正常的了。

下面我们开始查看vsftpd的配置文件:/etc/vsftpd/vsftpd.conf

RHCE中ftp,samba,dns,nfs,dhcp的配置允许匿名用户访问。

RHCE中ftp,samba,dns,nfs,dhcp的配置允许本地用户登录,但是你会发现本地用户登录不上去:

RHCE中ftp,samba,dns,nfs,dhcp的配置

这是因为selinux的布尔值在作怪,修改如下:

RHCE中ftp,samba,dns,nfs,dhcp的配置

再测试:

RHCE中ftp,samba,dns,nfs,dhcp的配置

现在就可以成功登录了。

RHCE中ftp,samba,dns,nfs,dhcp的配置

设置本地用户可写,写的文件默认的权限是什么。

RHCE中ftp,samba,dns,nfs,dhcp的配置

是否允许匿名用户可上传文件和是否可以创建目录,默认是不允许的。现在启用:

RHCE中ftp,samba,dns,nfs,dhcp的配置

我们来查看匿名用户是否真的可写:

记住:在上传文件的时候有两种模式,bin和acsii,根据你上传的文件类型然后选择不同的模式,如果模式没有选择的话,那么你上传的文件会出现乱码。

RHCE中ftp,samba,dns,nfs,dhcp的配置

当我们配置了一个服务,然后往里面写的时候,如果写不进去的话 ,我们应该从以下三个方面来检查:

1. 首先查看配置文件里面是否开启了写权限,如果开启了还不能写的话

2. 我们要查看文件系统是否具有写权限,特别是o位,如果文件系统具有写权限的话还不能写

3. 检查selinux。

 比如上面的例子,配置文件已经具有写权限了,但是还是不能写,那么我们就要查看一下文件系统。当匿名用户登录的时候,默认登录到了/var/ftp这个目录里的:

RHCE中ftp,samba,dns,nfs,dhcp的配置

这个目录对其他人来说是不能写的,所以ftp写不进去,记住:不能改变/var/ftp所有者,否则会报错,我们在/var/ftp里面创建一个目录xx,然后把所有者改成ftp:

RHCE中ftp,samba,dns,nfs,dhcp的配置

现在再来测试:

RHCE中ftp,samba,dns,nfs,dhcp的配置

现在还是不行,那么我们就要查看第三个方面,selinux:

RHCE中ftp,samba,dns,nfs,dhcp的配置

继续来测试:

RHCE中ftp,samba,dns,nfs,dhcp的配置

传输成功。

RHCE中ftp,samba,dns,nfs,dhcp的配置

这个选项如果启用的话,那么当你登录ftp后 ,从一个目录切换到另外的一个目录的话,会把目的目录下面的隐藏文件.message(如果有的话)里面的内容显示出来。

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

这两个选项的意思是:当某个用户上传文件之后,是否要改变这个文件的所有者,改变为谁。默认是没有启用的,在没有启用的情况下,ftp这个用户上传 一个文件后,所上传的这个文件所有者是ftp。

RHCE中ftp,samba,dns,nfs,dhcp的配置但如果我们改成如下:RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

这个选项是设置登录的欢迎词的:

RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

当本地用户登录ftp的时候,默认是登录到自己的家目录里的,他所看到的路径是一个完整的路径,他可以任意切换目录,这样对我们的系统不是很安全:

RHCE中ftp,samba,dns,nfs,dhcp的配置

为了系统的安全性,我们需要做chroot,即当普通用户登录的时候,也是进入家目录里面,但是这个用户却感觉是在/里面的。

RHCE中ftp,samba,dns,nfs,dhcp的配置用来启用chroot,

RHCE中ftp,samba,dns,nfs,dhcp的配置

分别是启用文件来管理chroot。

配置文件修改如下:

RHCE中ftp,samba,dns,nfs,dhcp的配置

凡是没有出现在/etc/vsftpd/chroot_list里面的用户,都做chroot。
RHCE中ftp,samba,dns,nfs,dhcp的配置

RHCE中ftp,samba,dns,nfs,dhcp的配置

记住:凡是出现在/etc/vsftpd/ftpuser和/etc/vsftpd/user_list里面的用户,都是被拒绝登录ftp的。

还有很多其他选项,大家自己去看一下man,比如再举个例子,我们来设置不让上传任何exe程序:

RHCE中ftp,samba,dns,nfs,dhcp的配置

在没有设置之前exe也是可以正常上传的,但如果我们设置了如下选项后:

RHCE中ftp,samba,dns,nfs,dhcp的配置

重启服务,然后测试如下:

RHCE中ftp,samba,dns,nfs,dhcp的配置

如上图,就看到了,被拒绝了!

上述只是举man里面的一个例子,其他大家自己根据自己的实际需要去设置。

相关新闻

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

                                                                                                                                    RHCE9学习指南连载,点击阅读