科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道连载:六脉神剑捍卫企业 Linux系统(二)

连载:六脉神剑捍卫企业 Linux系统(二)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

现代的Linux系统中,网络进程一般可以用以下两种方法中的任一种来启动:一是作为系统启动过程的一部分启动,二是由于响应传入的被通用的网络服务进程检测到的网络请求而启动。

作者:赛迪网 来源:赛迪网 2007年10月10日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

仔细观察此列表,容易发现用于cups、ntpd、portmap等服务的启动命令过程,因为启动命令过程的名称引起了其相关联的服务。然而,我们并不清楚哪一个命令过程与rpc.statd进程相关联。因此,可以使用grep来确定:

因而,我们需要禁用cups、nfslock、portmap命令过程,使在重新启动系统时它们不会执行。我们还要修改ntpd命令过程使其执行不同的ntpd服务。

系统的默认运行级别,即指出在系统启动时所启动的特定命令过程和服务集合的方法,是由包含initdefault关键字的命令行决定的,此关键字存在于/etc/inittab中。在一个Red Hat Enterprise Linux系统上,此行看起来会是如下的样子:

$ grep ':initdefault:' /etc/inittab
id:5:initdefault:

不同的Linux发行版本对于从2到6的运行级别赋予不同的逻辑含义,但其机制却是相同的,而无论这些服务运行在何种级别上。例如,在Ubuntu Linux 服务器上默认的运行级别是2级,如下所示:

$ grep 'initdefault:' /etc/inittab
id:2:initdefault:

一旦了解了系统的默认运行级别,就可以转向相关目录,移除与那些不想启动的服务相关联的符号连接。在此例中,这个目录就是/etc/rc5.d,因为我们这个Red Hat Enterprise Linux 系统默认运行在级别5上。

虽然这些仅是符号连接,但是清楚地了解你手动禁用了哪些服务却是个好主意,这就易于使其他系统管理员看出你对特定计算机的默认配置作了哪些改变。为了简化这一点,可以创建一个名DISABLED的目录并将符号连接移到此目录,而不是仅仅删除它们。

# mkdir DISABLED
# ls *nfslock *portmap *cups
S13portmap S14nfslock S55cups
# mv *nfslock *portmap *cups DISABLED

我们应该为其它的可能启动相同服务的运行级别重复这个过程。下面是一个找到完整列表的例子:

# cd /etc
# find {init,rc}.d -name "*nfslock*"
rc.d/init.d/nfslock
rc.d/rc0.d/K86nfslock
rc.d/rc5.d/K86nfslock
rc.d/rc5.d/DISABLED/S14nfslock
rc.d/rc2.d/K86nfslock
rc.d/rc1.d/K86nfslock
rc.d/rc3.d/K86nfslock
rc.d/rc5.d/S14nfslock
rc.d/rc4.d/K86nfslock
rc.d/rc5.d/S14nfslock
rc.d/rc6.d/K86nfslock

这显示出nfslock命令过程也正被调用在级别3和4上,这正是我们应该用相同的机制禁用的地方。你也可以运行同样的命令来确认cups和portmap命令过程所被调用的运行级别。

如果你也运行着一个象Red Hat Enterprise Linux一样的、提供一个运行级别配置工具的系统的话,你可能也要用这种工具来禁用系统的某些服务与不同的运行级别相关联的企图。既然这样,你就可以运行这个命令以禁用在所有运行级别上的指定服务。如下例所示:

# chkconfig nfslock off
# chkconfig cups off
# chkconfig portmap off

其它Linux发行版本,如Ubuntu和Debian,也提供了类似的工具如BootUp Manager(BUM)

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章