感谢支持
我们一直在努力

Linux入门教程:Linux安全基础 SMIT入门

简介: 本文将介绍 SMIT 工具以及如何使用它。系统管理界面工具(System Management Interface Tool,SMIT)是一种交互式的应用程序,它几乎可以用来简化 AIX? 系统管理中各方面的工作。在学习完本文后,您将会把 SMIT 作为 AIX 系统管理员最好的工具。

SMIT 是什么?

系统管理界面工具(通常称为 SMIT)是 AIX? 中附带的一种交互式工具。几乎任何系统管理任务都可以通过使用 SMIT 屏幕来完成,通常采用层次的方式对这些屏幕进行逻辑分组,以便能够方便地进行导航。可以使用与各种功能相关联的快捷路径 直接转到相关的屏幕。

SMIT 中最重要的特性之一是,您可以准确地查看它在执行相关命令之前或之后执行了哪些命令。SMIT 并没有对操作系统使用任何特殊的挂钩。它所执行的所有操作都是通过标准的 AIX 命令和 Korn Shell 函数完成。尤其是当您需要为重复性任务实现自动化时,这种特性非常有价值,您可以使用 SMIT 创建合适的命令行序列,然后在自己的脚本中使用这些命令。

基本用法

SMIT 是基本操作系统中的一部分,/usr/bin/smit 命令位于 bos.sysmgt.smit 文件集。有两种版本的 SMIT:全屏幕文本模式版本和图形 X Windows? 客户端。如果设置了 DISPLAY 变量,那么 AIX 将自动运行 GUI 版本。要使用文本模式版本,甚至在设置了 DISPLAY 变量的情况下,那么可以运行 smitty 命令,或运行 smit -a

如果启动 SMIT 时没有指定快捷路径,那么将显示主菜单。在所有的 SMIT 屏幕中,都可以使用箭头键在所显示的选项中向上或向下移动。回车键用来选择当前高亮显示的项目。要返回一个级别,可以按 F3Esc + 3

四种屏幕类型


SMIT 使用四种类型的屏幕来进行交互并为用户显示相关信息:菜单、对话框、选择器和命令状态屏幕。


菜单


菜单 屏幕显示了任务列表,只能选择其中一项。如果 SMIT 启动时没有指定快捷路径,那么将显示主菜单(有关文本模式版本的内容,请参见清单 1)。


清单 1. SMIT 文本模式版本中显示的主系统管理屏幕




                               System Management

Move cursor to desired item and press Enter.

Software Installation and Maintenance
Software License Management
Devices
System Storage Management (Physical & Logical Storage)
Security & Users
Communications Applications and Services
Print Spooling
Problem Determination
Performance & Resource Scheduling
System Environments
Processes & Subsystems
Applications
Installation Assistant
Using SMIT (information only)

F1=Help F2=Refresh F3=Cancel F8=Image
F9=Shell F10=Exit Enter=Do



图 1 显示了该工具 GUI 版本 SMIT 的主菜单。


图 1. SMIT GUI 版本中显示的主系统管理屏幕
SMIT GUI 版本中显示的主系统管理屏幕

对话框


对话框 屏幕由特定任务的选择而产生。不同的符号表示每个字段可以接受的信息条目的类型。您在这些字段中输入的数据将用来生成 SMIT 所执行的命令。


清单 2. SMIT 对话框屏幕具体来说,即 Change/Show Characteristics of a User 屏幕




               Change / Show Characteristics of a User

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[TOP] [Entry Fields]
* User NAME root
User ID [0] #
ADMINISTRATIVE USER? true +
Primary GROUP [system] +
Group SET [system,bin,sys,securi> +
ADMINISTRATIVE GROUPS [] +
ROLES [] +
Another user can SU TO USER? true +
SU GROUPS [ALL] +
HOME directory [/]
Initial PROGRAM [/usr/bin/ksh]
User INFORMATION [palatino root]
EXPIRATION date (MMDDhhmmyy) [0]
[MORE…37]

F1=Help F2=Refresh F3=Cancel F4=List
F5=Reset F6=Command F7=Edit F8=Image
F9=Shell F10=Exit Enter=Do

选择器


选择 屏幕需要用户选择一个目标,通常是将在后续对话框屏幕中使用的设备。选择器通常作为弹出式 窗口出现,重叠在前一个屏幕的文本之上。


清单 3. SMIT 选择屏幕,要求选择单个逻辑卷




LOGICAL VOLUME name                            

Move cursor to desired item and press Enter. Use arrow keys to scroll.

[TOP]
fslv00 jfs 64 128 2 open/syncd /ora-dat
fslv01 jfs 64 128 2 open/syncd /u06
fslv02 jfs 64 128 2 open/syncd /u07
lv07 jfs 11 22 2 open/syncd /SUL_ora
paging05 paging 32 32 1 open/syncd N/A
fslv05 jfs 320 640 4 open/syncd /u08
fslv06 jfs 24 48 2 open/syncd /w01
fslv07 jfs 16 32 4 open/syncd /local/a
lv11 jfs2 128 128 1 open/syncd /mkcd/mk
fslv09 jfs 128 256 2 open/syncd /u02
[MORE…51]

F1=Help F2=Refresh F3=Cancel
Esc+8=Image Esc+0=Exit Enter=Do
/=Find n=Find Next

命令状态


命令状态 屏幕显示 SMIT 所执行的命令的输出。屏幕最上面的内容表示了当前状态(RunningOKFailed),并且还显示了是否向 STDOUT 或 STDERR 写入了任何数据。


清单 4. SMIT 命令状态屏幕,显示了列出文件集包含的文件的输出





COMMAND STATUS

Command: OK stdout: yes stderr: no

Before command completion, additional instructions may appear below.

File Fileset Type
——————————————————————
/usr/bin/smit bos.sysmgt.smit File

F1=Help F2=Refresh F3=Cancel Esc+6=Command
Esc+8=Image Esc+9=Shell Esc+0=Exit /=Find
n=Find Next

导航


因为 SMIT 功能的层次结构的本质,所以很容易向下逐层展开到 希望执行的任务。如果您发现从菜单中选择了错误的项目,可以按 F3(或 Esc + 3)返回到前一个屏幕。


快捷路径


SMIT 中的每个菜单和对话框屏幕都具有相应的快捷路径,它可以用来直接转到该屏幕。要确定特定屏幕的快捷路径,可以导航至该屏幕,然后按下 F8Esc + 8。弹出的窗口中将列出快捷路径,并将当前屏幕的内容 写入 SMIT 日志文件。


清单 5. SMIT 选择屏幕,要求选择单个逻辑卷




             PRINT SCREEN                 

Press Enter to save the screen image
in the log file.
Press Cancel to return to the application.

Current fast path:
“mkuser”

F1=Help F2=Refresh F3=Cancel
Esc+8=Image Esc+0=Exit Enter=Do



快捷方法


SMIT 提供了一些键命令,可用来快速地在冗长的、滚动的输出屏幕中进行导航。尽管这些键盘输入在命令状态屏幕中最有用处,但它们可以在所有的屏幕中使用(请参见表 1)。


表 1. 用于导航的键盘命令























键盘输入 操作
向下箭头 向下滚动一行
向上箭头 向上滚动一行
Control + V (或 PageDown) 向下滚动一页
Escape + V (或 PageUp) 向上滚动一页
Escape + > (或 End) 跳至输出或清单的末尾
Escape + < (或 Home) 跳至输出或清单的开头

日志记录


每个 SMIT 会话都会在两个文件中记录相关条目:smit.log 和 smit.script。这些文件将会写入到 HOME 环境变量指定的目录,而不是在 /etc/passwd 中指定的该用户的实际 home 目录。


SMIT 不会覆盖现有的日志文件,如果这些文件已经存在,并且可以由当前用户进行写入,它通常会尝试在这些文件后追加信息。如果 SMIT 不能写入这些文件,它会显示一则警告消息,然后继续执行相应的功能而不再进行日志记录。


请注意,尽管任何用户都可以运行 SMIT 可执行文件,但是它完成所需任务时执行的许多 AIX 命令需要 root 或其他受限的权限。如果未授权的用户试图完成其中的任务,那么任务将会失败。因为 SMIT 通常由 root 运行,所以应该对 SMIT 日志文件进行监视和清理,以确保它们不会变得过大并占用 / 文件系统中所有的可用空间。


smit.log


smit.log 文件包含关于使用 SMIT 执行的操作的详细信息。对于每个 SMIT 会话,它将记录 SMIT 启动的日期和时间、访问的每个菜单屏幕的记录(以及该屏幕的快捷路径)、SMIT 执行的所有命令和这些命令的输出。


在确定对系统进行了哪些更改以及这些更改的具体发生时间时,对 smit.log 进行监视非常有用。然而,该日志文件将不会反映任何直接通过运行系统命令所进行的更改。


smit.script


smit.script 文件包含 SMIT 执行任务时实际运行的 AIX 命令。该文件以 Korn Shell 语法书写,所以它可以作为命令序列本身 执行,这样做可以重复原来由 SMIT 执行的所有任务。


smit.script 的常见用法之一是,复制跨系统的大量的任务。如果使用 SMIT 实现对一个系统的所有更改,那么可以将 smit.script 复制到其他的系统,并且加以执行,这样可以实现所有系统的更改,而无需编写任何代码。

使用 SMIT 脚本的一个示例


现在,让我们将 SMIT 应用于一个实际的 AIX 示例。假设您需要为 10 个或 100 个 AIX 系统分别添加一个 4 GB的文件系统。您可以手动地完成这项操作,但是最后可能会感到非常厌倦,并且反复地进行输入增加了出现错误的可能。您可以将合适的命令组织在一起,并使用各种参数和标志,然后在每个系统中运行它们。或者,可以让 SMIT 为您编写这些命令。


在下面的示例中,使用 SMIT 创建一个 4 GB 的增强 JFS (JFS2) 文件系统,该文件系统在系统重启时自动装入到装入点 /fs01,并使用内联 JFS 日志。然后,将 SMIT 编写的脚本复制到其他的系统,并在其中运行该脚本以创建文件系统。


启动 SMIT 的第一步是使用命令:smit -s /tmp/mknewfs.ksh crjfs2std-s 标志告诉 SMIT 将其脚本输出写入到文件 /tmp/mknewfs.ksh,而不是缺省的文件 /smit.script。具体的操作将被记录到 /smit.log。通过指定快捷路径 crjfs2std,您可以直接转到 Add an Enhanced Journaled File System 对话框屏幕。在显示该屏幕(如清单 6 中所示)之前,您需要在其中选择一个卷组以创建新的文件系统。


清单 6. Add an Enhanced Journaled File System SMIT 对话框屏幕





Add an Enhanced Journaled File System

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[Entry Fields]
Volume group name datavg
SIZE of file system
Unit Size Gigabytes +
* Number of units [4] #
* MOUNT POINT [/fs01]
Mount AUTOMATICALLY at system restart? yes +
PERMISSIONS read/write +
Mount OPTIONS [] +
Block Size (bytes) 4096 +
Inline Log? yes +
Inline Log size (MBytes) [] #

F1=Help F2=Refresh F3=Cancel F4=List
F5=Reset F6=Command F7=Edit F8=Image
F9=Shell F10=Exit Enter=Do



在按 Enter 键使得 SMIT 执行清单 6 中的命令之前,清单 7 中的脚本将写入到文件 /tmp/mknewfs.ksh。


清单 7. /tmp/mknewfs.ksh




#
# [Sep 06 2006, 17:46:28]
#
x() {
LIST=
FLAG=0
for i in “$@”
do
case “$i” in
Megabytes) FLAG=1;;
Gigabytes) FLAG=2;;
512bytes) ;;
size=*) case “$FLAG” in
1) LIST=”$LIST \”$i\”M”
FLAG=0;;
2) LIST=”$LIST \”$i\”G”
FLAG=0;;
0) LIST=”$LIST \”$i\””
;;
esac
;;
*) LIST=”$LIST \”$i\””
;;
esac
done
eval crfs -v jfs2 $LIST
}
x -g’datavg’ ‘Gigabytes’ -a size=’4′ -m’/fs01′
-A”`locale yesstr | awk -F: ‘{print $1}’`”
-p’rw’ -a agblksize=’4096′ ‘-a logname=INLINE’


剩下来的工作是,将上面的脚本复制到其他的 AIX 系统,并运行它。可以通过许多方法来完成这项任务。最简单(尽管不是很安全)的方法是,根据这些系统进行循环,对该脚本执行 rcp 操作,然后使用 rsh 来执行它(请参见清单 8)。


清单 8. 对脚本执行 rcp 操作并使用 rsh 执行它




For host in host1 host2 … hostN; do rcp /tmp/mknewfs.ksh $host:/tmp/mknewfs.ksh ; rsh $host ksh /tmp/mknewfs.ksh ; done


这仅仅只是个示例,但它说明了,使用 SMIT 作为 AIX 管理员可以获得许多优点并节省大量的时间。

接下来的步骤


对于任何 AIX 管理员,SMIT 都是一种功能强大的工具。与大多数工具一样,熟练掌握其操作步骤的最好方法是使用它。尽管 SMIT 可以在活动的 系统中执行相应的操作,但是却没有提供撤销 功能,了解这一点非常重要。对于一些操作(但不是所有的操作),SMIT 会发出永久删除信息的警告,并且需要进行确认以便继续执行。


更安全的使用 SMIT 应用程序的方法是,使用 -x 标志调用它。当在命令行中指定了 -x 标志时,SMIT 表面上工作正常,但实际上却没有执行任何命令。相反,它会把在正常操作过程中将要执行的命令写入到 smit.script 文件。


SMIT 菜单和对话框屏幕中的许多选项和输入字段都提供了内置的帮助特性,可以使用箭头键高亮显示或选择该项目来加以访问,然后按 F1(或 Esc + 1)。这时将显示一个弹出 窗口对所选项目进行详细地解释。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux入门教程:Linux安全基础 SMIT入门
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏