第八章 系统管理与优化基础 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
8.1 获得根用户权限:su | |||||||||||||||||||||||||||||||||||||||||||||||||||||
8.2 磁盘空间:df,diskcheck, du | |||||||||||||||||||||||||||||||||||||||||||||||||||||
8.3 内存信息:free,系统监视器,vmstat,ulimit,kill | |||||||||||||||||||||||||||||||||||||||||||||||||||||
8.4 系统负载信息:ps,top,uptime,w,vmstat,pppsates,mailstats,mailq,statserial | |||||||||||||||||||||||||||||||||||||||||||||||||||||
8.5 管理帐号:useradd,passwd, groupadd,redhat-config-users | |||||||||||||||||||||||||||||||||||||||||||||||||||||
8.6 日志文件 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
8.7 控制台访问 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
8.1
获得根用户权限:su 一般只有根用户才能管理系统。su(substitute users)命令给你到根账号或系统上其它账号的访问权。直接以根用户登录不是个好习惯,通常以普通拥护登录,然后用su命令成为根用户来管理系统。
在缺省情况下,若调su命令没指定用户,则表示要获得根用户帐号的访问权。使用连字符号(-)表示在获得另外一个用户帐号的访问权时能够使用其环境变量。若输入了正确的口令,就成为根用户。若返回原来的shell,使用exit命令。 在以上操作中用到whoami指令,可以看出使用su后角色的转变。 还可以使用-s参数指定新的shell。使用-c参数去执行某些只有由根用户执行的任务(比如挂载一个闪存盘),这就很方便。关于su其他参数可以man su查阅。 在X11窗口环境下,若以普通用户执行需根用户权限的程序,会询问根用户口令,输入正确口令,就获得了根用户的权限。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
8.2
磁盘空间:df,
diskcheck, du
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
8.3获取内存信息:free,系统监视器,vmstat,ulimit,kill
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
8.4 获得系统进程:ps,top,uptime,w,vmstat,pppsates,mailstats,mailq,statserial
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
8.5
管理帐号:useradd,passwd,groupadd,redhat-config-users 作为一个管理员,一个主要的任务就是管理用户,如新帐号的建立,帐号的停用,限定每个帐号的磁盘空间、内存以及进程数。可以使用在X11窗口系统中的图形化软件,或在shell提示下输入指令来操作。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
8.6 日志文件 日志文件(Log files)是包含关于系统消息的文件,包括内核、服务、在系统上运行的应用程序等信息。不同的日志文件记载不同的信息。在分析系统故障、网络入侵等方面有重要的作用。某些日志文件被叫做 syslogd 的守护进程控制。被 syslogd 维护的日志消息列表可以在 /etc/syslog.conf 配置文件中找到。 多数日志文件位于 /var/log 目录中。某些程序如 httpd 和 samba 在 /var/log 中有单独的存放它们自己的日志文件的目录。 注意,日志文件目录中会有多个后面带有数字的文件。这些文件是在日志文件被循环时创建的。日志文件被循环使用,因此文件不会变得太大。 logrotate 软件包中包含一个能够自动根据 /etc/logrotate.conf 配置文件和 /etc/logrotate.d 目录中的配置文件来循环日志文件的 cron 任务。按照默认配置,日志每周都被循环,并被保留四周之久。 大多数日志文件使用纯文本格式,可以使用more、vi等来查看。大多数日志需根特权才能查看。 也可以使用日志查看器来查看。要启动这个应用程序,点击面板上的「主菜单」 => 「系统工具」 => 「系统日志」,或在 shell 提示下键入 redhat-logviewer 命令。
从下拉菜单中选择「编辑」 => 「首选项」。在「日志文件」标签中改变程序所要查找日志文件的位置。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
8.7 控制台访问
当普通用户(非根用户)在本地登录到计算机上,他们被授予两类特殊权限:
在控制台登录的用户都被允许运行通常只限于根用户的程序。例如在控制台使用 [Ctrl]-[Alt]-[Del]键组合来关闭并重启系统,包括在图形化界面菜单内的程序 halt、poweroff 和 reboot等。 8.7.1 禁用通过 Ctrl-Alt-Del 关机。 按照默认设置,/etc/inittab 文件指定你的系统可在控制台使用 [Ctrl]-[Alt]-[Del]键组合来关闭并重启系统。若想全面禁用之,需要把 /etc/inittab 文件中关于ca一行变成注释,在这一行开头加一个井号( # ):
若同时想让个别非根用户从控制台使用 [Ctrl]-[Alt]-[Del]来重启系统。可以在ca这一行添加-a 选项:
根据以上 shutdown.allow 文件的例子,whbian、bian、和 bwh 被允许使用 [Ctrl]-[Alt]-[Del]关闭系统。 关于 shutdown.allow 的详细信息,请参阅 shutdown的说明书(man)页。 8.7.2 禁用控制台程序访问 为了禁用用户对控制台程序的访问,你应该以根用户身份运行下面的命令:
要只想取消在控制台上使用命令:poweroff、halt、和 reboot,以根用户身份运行下面的命令:
8.7.3 禁用所有控制台访问 PAM pam_console.so 模块管理控制台文件的权限和验证。(关于配置 PAM 的详情,请参阅《Red Hat Linux 参考指南》。)如果你想禁用所有的控制台访问,包括程序和文件的访问,把所有 /etc/pam.d 目录中引用 pam_console.so 的句子都改为注释。以根用户使用下面的脚本就可以达到这一目的:
8.7.4 定义控制台 pam_console.so 模块使用 /etc/security/console.perms 文件来判定系统控制台上用户的权限。该文件的语法非常灵活;你可以编辑该文件。然而,默认文件中有一行看起来如下:
当用户登录后,他们会被连接到某种有名称的终端,要么是名称类似 :0 或 mymachine.example.com:1.0 的 X 服务器,要么是类似 /dev/ttyS0 或 /dev/pts/2的设备。默认设置中,本地虚拟控制台和本地 X 服务器被定义为本地,但若想把/dev/ttyS1上的串线终端也当作本地,你可以把上面一行改为:
8.7.5 使文件可从控制台访问 /etc/security/console.perms 文件中的某段包含以下几行:
如果有必要,你可以在这段里加入你自己编写的句子。请确定你添加的句中所指代的是正确的设备。譬如,你可以添加以下这一行:
(当然,请确定 /dev/scanner 的确是你的扫描仪设备,而不是你的硬盘驱动器。) 第二步是定义如何处置那些文件。在 /etc/security/console.perms 文件的最后一段寻找与以下类似的句子:
然后,添加和以下类似的一行:
当你在控制台登录后,你就会被给予 /dev/scanner 设备的所有权,其权限是 0600(仅可被你读写)。当你注销后,该设备就会被根用户所有,权限依旧是 0600(现在将只能被根用户读写)。 8.7.6 为其它应用程序启用控制台访问首先,只有在/sbin 或 /usr/sbin 中的应用程序才能在控制台上访问。
现在,当你运行 /usr/bin/foo 时,它就会调用 consolehelper ,该命令会借助 /usr/sbin/userhelper 来验证用户。要验证用户, consolehelper 会询问根用户的口令,然后使用根权限来运行 /usr/sbin/foo 。 在 PAM 配置文件中,应用程序可以配置使用 pam_timestamp 模块。按照默认设置,成功验证会被缓存五分钟。在这段时期内,在同一会话中使用 pam_timestamp 的应用程序会自动为该用户验证 — 用户不必再输入根口令。 该模块被包括在 pam 软件包中。要启用这项功能, etc/pam.d/ 中的 PAM 配置文件必须包括以下几行:
第一个以 auth 开头的行应该在任何 auth sufficient 行之后,以 session 开头的行应该在所有 session optional 行之后。 如果配置使用 pam_timestamp 的应用程序被成功地验证, 图标就会显示在面板的通知区域。验证过期后(默认为五分钟),该图标就会消失。用户可以通过点击图标并选择忘记验证选项来忘记缓存验证。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||