这个需求是我在一份比赛题上看见的,实现方式很简单,首先将samba的认证方式改为share,之后在需要启用用户身份验证的共享里加上下面这条语句即可。
guest ok = no
这个需求是我在一份比赛题上看见的,实现方式很简单,首先将samba的认证方式改为share,之后在需要启用用户身份验证的共享里加上下面这条语句即可。
guest ok = no
NTP服务简介:
NTP(网络时间协议)服务器,是用来保证网络中各个主机的时间的保持同步的,其时间来源一般是原子时钟,也可以是Internet上的其他NTP服务器。
安装软件包:
yum install -y ntp
配置服务:
打开配置文件
vim /etc/ntp.conf
转到第18行,可以看到如下语句,这条语句是用来定义允许访问NTP服务器的主机的,如果不配置则默认任何主机都可以访问。
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
这里我将其修改成只允许192.168.1.0网段的用户访问。
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
转到第22行,可以看到下面四行内容。
server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst
这是用来定义NTP服务器的时间来源的,默认这四个服务器因为天朝特殊的网络环境所有访问起来有点吃力,我们可以将其改为天朝自己的网络时间服务器。如果是在局域网下的话NTP是访问不了外网的,我们可以指定其与自己进行时间同步,将上方四行注释掉,并在其后加入一行新的。
#server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server 127.127.1.0 #我是新加的,聚光灯往这儿打!
不要问我上边的IP地址为什么是127.127.1.0,我也不知道~~~照做就是啦,否则的话NTP是没办法正常工作的。
保存并退出后在保证防火墙与selinux均关闭的情况下启动NTP服务。
service ntpd start
测试服务:
参考此篇文章。
同步成功后会有类似如下提示:
[root@localhost ~]# ntpdate 192.168.2.11 2 Oct 20:00:30 ntpdate[1538]: adjust time server 192.168.1.11 offset -0.000002 sec
CentOS 6下配置时间与网络同步的方法非常非常简单,就两步而已~
安装软件包:
yum install -y ntpdate
配置网络时间同步服务器:
ntpdate 接网络时间服务器的地址
超级作用域用来解决DHCP单个作用域中IP地址不足的情况,同时也方便了对多个作用域的同时管理。而且超级作用域可以实现DHCP服务器只有1个IP地址却可以分发多个网段的IP的功能(不使用超级作用域的话要么给DHCP服务器增加多块网卡,要么通过DHCP中继的方式来分发不同网段的IP)。
超级作用域的配置很简单,将多个标准作用域合在一起就可以啦~
查看dhcpd的配置文档。
vim /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
转到第90行(因软件版本号差异,实际行号可能不同,可以通过搜索关键字来查找)
90 shared-network 224-29 { 91 subnet 10.17.224.0 netmask 255.255.255.0 { 92 option routers rtr-224.example.org; 93 } 94 subnet 10.0.29.0 netmask 255.255.255.0 { 95 option routers rtr-29.example.org; 96 } 97 pool { 98 allow members of "foo"; 99 range 10.17.224.10 10.17.224.250; 100 } 101 pool { 102 deny members of "foo"; 103 range 10.0.29.10 10.0.29.230; 104 } 105 }
上面就是超级作用域的配置模板,仔细观察一下可以发现其实就是将多个标准作用域使用shared-network给套了起来。
超级作用域配置格式:
shared-network 超级作用域的名称{ 参数... 标准作用域1{ 选项... 参数... } 标准作用域2{ 选项... 参数... } ... }
明白了其配置方法后,我们就可以轻松组建超级作用域了。
下面是我配置的一个例子:
vim /etc/dhcp/dhcpd.conf
1 shared-network mydhcpdomain { 2 default-lease-time 172800; 3 max-lease-time 259200; 4 option domain-name-servers 114.114.114.114; 5 option domain-name "dns.ibadboy.net"; 6 subnet 192.168.1.0 netmask 255.255.255.0 { 7 range 192.168.1.210 192.168.1.210; 8 option routers 192.168.1.254; 9 } 10 subnet 192.168.2.0 netmask 255.255.255.0 { 11 range 192.168.2.210 192.168.2.210; 12 option routers 192.168.2.254; 13 } 14 subnet 192.168.3.0 netmask 255.255.255.0 { 15 range 192.168.3.210 192.168.3.210; 16 option routers 192.168.3.254; 17 } 18 }
使用三台PC测试,若每台PC都可正常获取IP且获取到的IP的网段都不同,则本实验成功。
vsfptd中虚拟用户使用的是匿名用户的权限控制选项,在下面列出的选项中挑选你需要的,加在虚拟用户的个性配置文件中即可。
anon_upload_enable=YES #可上传 anon_mkdir_write_enable=YES #可创建和删除文件夹 anon_other_write_enable=YES #可文件改名和删除文件 download_enable=NO #不可以下载
出现这种情况是因为在配置虚拟用户登录时启用了用户个性配置文件,而没有为系统用户创建个性配置文件,所以他们统统会进入到匿名用户的默认目录中,也就是/var/ftp目录中(前提是你没修改匿名用户的默认FTP目录的话)。
解决方法自然是为系统用户也分别创建个性配置文件并在其中指明其家目录。
然而这样做了之后你会发现,虽然这次可以登录到家目录了但依然无法查看、上传及下载文件。我分析原因可能是因为配置了guest_enable=YES,所以本地用户被自动映射到了guest的用户上,这样就对用户自身的家目录失去了操作权限。
想解决这个问题,就赋予其家目录777的权限,或是使用ACL权限只赋予guest所对应的用户对目录有操作权限(暂时没有找到其他好的解决办法,如果你知道,那么请告诉我~)。
这个错误其实是提示你账户认证失败,那么就从有关账户认证的方面来排查错误。
查看日志。
tail /var/log/secure
下面是关于vsftpd账号登录失败的日志信息
Sep 21 07:50:44 localhost vsftpd[2154]: pam_userdb(vsftpd:auth): user_lookup: could not open database `/etc/vsftpd/user.db': No such file or directory Sep 21 07:50:44 localhost vsftpd[2154]: pam_unix(vsftpd:auth): check pass; user unknown Sep 21 07:50:44 localhost vsftpd[2154]: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=user1 rhost=192.168.1.252 Sep 21 07:50:44 localhost vsftpd[2154]: pam_succeed_if(vsftpd:auth): error retrieving information about user user1
注意到这一行:
Sep 21 07:50:44 localhost vsftpd[2154]: pam_userdb(vsftpd:auth): user_lookup: could not open database `/etc/vsftpd/user.db': No such file or directory
提示说,找不到用户认证数据库文件,但是事实上这个文件是存在的,最后经过漫长的百度搜索后发现,原来是在pam的vsftpd的配置文件中填的数据库地址是不可以带.db后缀的,因为pam会自动加上.db,如果手动加了一个那么最后的后缀就变为了.db.db了,当然会提示说找不到配置文件啦!
vim /etc/pam.d/vsftpd
安装提供这个命令的软件包即可。
yum install -y db4 db4-utils
在配置文件中增加如下一行即可(默认是没有的),此选项的意义是允许匿名用户具有其他权限,也就是除了上传文件、创建文件夹之外的其他权限。
anon_other_write_enable=YES
如果当前已通过客户端连接了ftp服务器,那么修改完后可能不会立即生效,重新连接下即可。
本文中的实验拓扑:
基础配置就不贴出来了,大家照着拓扑配一下就好~
注意:R2的回环地址使用重发布直连的方式加入OSPF路由表中,R3的回环地址不要宣告到OSPF路由表中!!!否则实验无法进行!!!
做完基础配置后在R3上查看路由表
Stub区域(末梢区域)
简述:
该区域的ABR不允许传播Type 5 LSA的路由信息。换成人话就是:Stub区域的路由器不能接受本AS外部的路由,作为补偿,ABR会发一个默认路由给Stub区域的所有路由器,告诉他们,你们不需要知道AS外部的路由信息,统统把数据包转发给我就妥妥的了。
配置方法:
R1:
router ospf 1 area 1 stub
R3:
router ospf 1 area 1 stub
查看R3的路由表,发现此时OE2路由已经消失了,被一条默认路由取代了,实验完成。
注意事项:
区域中有一台路由器配置为Stub后,其他所有路由器都要配置成Stub,否则无法建立邻居关系。
Totally Stub区域(完全末梢区域)
简述:
通过上面关于Stub区域的配置,可以发现,其实不只是来自外部的AS区域可以省略掉,连来自OSPF内其他区域的路由也可省略掉,让其全部通过ABR转发,当然这样做的前提是本区域不与除主干区域之外的其他区域相连。
配置方法:
R1:
router ospf 1 area 1 stub no-summary
R3:
router ospf 1 area 1 stub
查看R3的路由表,此时OE2类型和OIA类型的路由已经消失(不要和我较真说那条默认路由也是OIA类型的),被一条默认路由所取代,实验完成。
注意事项:
配置为Totally Stub区域的所有路由器都要配置stup,只有ASBR需要配置:stub no-summary。
NSSA区域
简述:
如果区域中存在一个ASBR,通过此路由器产生的路由条目需要在整个OSPF域内传播,而此区域又不想接收来自其他ASBR产生的路由,那么就可以将其配置为NSSA区域。
配置方法:
R1:
router ospf 1 area 1 nssa default-information-originate //NSSA区域不会自动生成指向ABR的默认路由,需要手工下发。
R3:
redistribute connected subnets router ospf 1 area 1 nssa
查看R1的路由表,此时成功学习到了从R3那里被重发布进OSPF的路由,类型是ON2。
查看R2的路由表,R2学习到的从R3引入的外部路由是一条OE2类型的,为什么不是和R1的表里一样是ON2类型呢?
查看R2的OSPF数据库,可以发现,3.3.3.0这条路由是从R1上通过LSA5学习到的,并不是从R3上学习到的。这是因为NSSA区域的边界ABR会将LSA7转成LSA5,传播到其他区域。这时,ABR也成为了ASBR,因为它也引入了LSA5。其它区域路由器看到LSA5的通告路由器是ABR。
查看R3的路由表,OE2类型的路由已经全部消失,取而代之的是一条ON2类型的指向ABR的默认路由。
注意事项:
NSSA区域的ABR上必须要在NSSA区域中发布一条指向自己的路由,否则会导致连通问题。
Totally NSSA区域
简介:
与Totally Stub区域一样,在不需要学习OSPF区域间路由时就可以把NSSA区域配置成Totally NSSA。
配置方法:
R1:
router ospf 1 area 1 nssa no-summary //配置为Totally NSSA区域后会自动下发默认路由,不需要再手工下发。
神州数码设备需手工下发默认路由,使用如下命令。
area 1 nssa default-information-originate no-summary
R3:
redistribute connected subnets router ospf 1 area 1 nssa
查看R3的路由表,发现OIA路由已经消失了,R1和R2的路由表同上一个实验。
注意事项:
Totally NSSA区域不需要手工分发默认路由,与Totally Stub区域一样,只要在ABR上配置nssa no-summary就可以,区域内其余的路由器只需要配置nssa。
路由策略:
通过修改路由协议的属性而达到干预路由表的内容的目的,路由策略在路由发现时起作用。
策略路由:
通过为指定的数据包指定下一条使其不按路由表中已有的转发条目转发,策略路由在路由转发时起作用,不会影响和改变路由表中的任何内容。
1、路由环路的避免措施不一样,IBGP强制规定ibgp speaker不允许把从一个IBGP邻居学习到的前缀传递给其它IBGP邻居,因此IBGP要求逻辑全连接。EBGP没有这样的要求,EBGP对路由环路的避免是通过AS_PATH属性来实现的。
2、使用的BGP属性不同,例如IBGP可以传递LOCAL_PREF(本地优先属性),而EBGP不行。
3、IBGP有同步的要求,而EBGP没有同步的要求
4、IBGP不需要IBGP邻居之间有物理连接,只需要逻辑连接即可,而EBGP下一般情况下都要求EBGP邻居之间存在物理连接。
由EBGP邻居学来的信息肯定会传给另外的EBGP邻居。
由EBGP邻居学来的信息肯定会传给IBGP邻居。
由IBGP邻居学来的信息不会再传给另外的IBGP邻居。
由IBGP邻居学来的信息:
如果同步关了,会传给EBGP邻居 如果同步开了,先查找自己的IGP。
如果IGP里面有这个网络,就把这个网络传给EBGP;如果IGP里面没有这个网络,就不会 传给EBGP邻居
以前一直好奇,在Linux权限中为什么有的时候会出现四位?比如0777,后来查阅资料才明白,原来前面的0代表suid和guid的权限。
suid和guid简介:
suid意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权限。
guid则表示执行相应脚本的用户将具有该文件所属用户组中用户的权限。
简单的举一个例子,当一个程序设置了suid的时候,如果一个本身没有权限访问/etc/passwd的用户执行了这个程序,则会获得此程序的所有者的权限,而如果此程序的所有者对/etc/passwd文件有访问权限,则执行此程序的所有用户都可以访问此文件。
是不是不大明白呀,下面再举个例子:
-rwxr-xr-x 1 root root 12 09-02 15:21 my_test.sh
上面的my_test.sh文件权限是所属用户(root)是7,如果设置了suid,那么其他任何用户的权限都是7,如果设置了guid,那么任何用户的权限都是5。
设置suid和guid:
设置suid就是把0变为4,设置guid就把0变为2,如果都设置那就是6了
chmod 4777 my_test.sh #只设置suid
chmod 2777 my_test.sh #只设置guid
chmod 6777 my_test.sh #同时设置suid和guid