SUN工程师800问题经验荟萃

来源:互联网 发布:关键词重复过滤软件 编辑:程序博客网 时间:2024/05/16 08:24

http://space.itpub.net/?uid-73573-action-viewspace-itemid-293466

 

1.1 用户忘记root口令,如何解决?
在Solaris启动前,按<STOP+A>进入监控状态(OK状态),将Solaris引导光盘放入光驱中。
在OK状态下发命令从光盘引导系统
OK boot cdrom -s
#fsck -y /dev/rdsk/c0t0d0s0 (取决于根分区的设备)
# mount -F ufs /dev/dsk/c0t0d0s0 /mnt
#TERM=vt100; export TERM (如果直接用vi正常,就不要此句)
# vi /mnt/etc/shadow
将root后的第一个冒号和第二个冒号之间的字符删除,这样就将root用 户的口令删除了。 (建议操作前作个备份)
# umount /mnt
# reboot
1.2 使用ftp时无法以root用户登录系统
以root用户登录,编辑/etc/ftpusers文件,找到并标记root用户这一行,保存后退出,就可以在使用ftp时以root用户身份登录了。安全考虑,建议使用完后,取消root用户的ftp权限。  
1.3 使用telnet时无法用root用户登录系统
     以root用户登录,编辑/etc/default/login文件,找到并注释CONSOLE=/dev/console这一行,保存后退出,就可以在使用telnet时以root用户身份登录了。安全考虑,建议使用完后,取消root用户的telnet权限。
1.4 工作站异常关机后不能正常进入操作系统怎么办?
Solaris系统异常关机可能造成文件系统的损坏。在系统的重新引导过程中,系统将自动调用fsck命令对文件系统进行检查修复。系统引导完成后仍然需要执行fsck命令对文件系统进行检查。首先,取得超级用户权限,执行如下命令:
#fsck -y
1.5 如何安全的关闭工作站?
理想的关机方式应该是先停止应用,关闭数据库服务器,执行sync,再执行shutdown -y -g0 -i5关机。
1.6 如何修改Sun工作站的主机名?
修改主机名要修改三个文件:
/etc/hostname.hme0   // hme0 为网络接口名,因机器类型的不同,可能会有所不同。
/etc/hosts  
/etc/nodename
将三个文件中的原来的主机名改为要修改的主机名。重新启动工作站生效。
1.7 为远程LOGIN做超时退出设置
背景:为了安全设置键盘空闲时的超时,保证与所登陆的主机断开。
这篇文档阐述两个不同的静止超时:
1、登录阶段的静止超时,自动断开,终止登录:
【问题描述】
这是在你登录之前的Login:提示下。
在SHELL阶段的静止超时,即已经登录到系统中的静止超时,自动断开:
这是在你登录之后的Shell的提示符下。
使用范围:适用于简单的远程的登录(即telnet, rlogin),对Openwin和CDE的登录失效。
【解决方案】
登录阶段的静止超时设置:
修改/etc/default/login文件:
将# timeout = 300前的“#”号去掉。
# TIMEOUT sets the number of seconds (between 0 and 900) to wait before
# abandoning a login session.
#
#TIMEOUT=300
 超时的缺省值是300秒,即在提示你登录时,若在300秒内没有从键盘输入登录名(或密码)则自动将登录断开连接,终止登录。
2、在SHELL阶段的静止超时设置:
条件:仅适用于Korn和bash 的shell环境:/usr/bin/ksh, /usr/bin/bash。
TMOUT是控制korn和bash SHELL静止超时的环境变量。如果此值没有设置或值为0则没有静止超时控制;如果值大于0,则在此指定的时间内没有输入,则自动断开连接。
TMOUT在/etc/profile中为所有用户设置;在$HOME/.profile中为本用户设置。
1.8 Solaris中的logging功能的应用
在Solaris7及其以后版本的系统中有一种称为logging的功能。它不但易于安装和使用,并且对于数据安全非常有用。
UFS是存在于Sun工作站的几乎所有硬盘分区(swap等个别分区除外)上的一种标准的文件系统类型。而logging功能是UFS文件系统的一个挂接选项,它可以被设置在包括/在内的各个硬盘分区上。
Solaris的UFS logging通过使用系统中的空白数据块来工作。所有对文件系统数据(metadata,或称为元数据)的修改都被写在这些空白的区域。这些Metadata包括目录和inode信息,不包括文件中的数据本身。比如创建文件时,目录结构被修改并且系统为这个新文件分配一个新的inode。以上这些行为被写入做logging的空间中。一旦数据的修改行为被写入做logging的区域,系统就可以接着对文件系统做其它的操作了。在后台,存在于logging中的信息将被同步到文件系统中,并自动更新相应的目录和I节点,最终完成文件系统的操作。数据也陆续被写入硬盘。因此这种做logging并在后台写入数据,比通过随机的I/O访问直接对分布在硬盘上的各种管理信息进行修改的方式速度要快得多。用来做logging的空间的大小取决于文件系统的大小。每1GB磁盘分区空间的logging空间为1MB,最多不超过64MB。这部分logging空间被循环使用:当log空间即将装满时,暂停新的metadata数据写入,直至log空间被清空。当log中记录的关于文件系统的修改都被应用于文件系统后,那部分空间又重新可以作为log空间来存放新的metadata数据了。
通常对于UFS来说,如果操作系统在任何文件系统操作中崩溃,整个文件系统都需要用fsck命令做一致性检查。这个命令的执行可能需要几分钟的时间,因为它需要检测所有的metadata和文件的数据以确认文件系统的完整性:包括当前已经用的空间、未用的、inode的数量等,修复其中不一致的地方。出现比较大的问题时还需要人工干预。在做检查的过程中有可能会丢失文件,甚至目录。这决定于crash发生时,该操作进行到了哪种程度。如果采用logging功能,情况就完全不同。因为metadata的修改首先被写在log空间而不是文件系统中。如果系统崩溃,对文件系统一致性的检测可以仅仅限于log中记录的那部分,这样会更简单、更有效。系统检查logging的数据,以决定在上一次的文件系统中,哪种修改已经做过了,哪种修改即将做,哪种修改正在做, 做过的和即将做但还没有做的操作被系统从log中删掉, 而那些做了一部分的会被接着做完或完全取消掉。如果在log中记录了足够的数据来完成这一操作,该操作会被继续完成。否则,这种改变会被取消。熟悉数据库操作的用户会发现这和数据库软件中的事务处理过程非常相似。最终的结果是:文件系统能够最大限度地保持一致,不需要进行彻底的文件系统检测,整个文件系统检测过程只需要花几秒钟时间。从Solaris 7开始, mount命令和/etc/vfstab文件中也有了一个新的logging选项。
1.9 如何给SUN主机配置第二块网卡
1、 物理上将第二块网卡扩入主机相应槽位
2、 临时的网卡配置(重新启动后配置消失):
b) 启动机器以root身份登录操作系统
c) #ifconfig hme0 plumb                      *驱动hme0网口
#ifconfig hme0 IPaddress netmask netmask up  *配置IP地址和掩码
#route add destination gateway               *手工增加路由
3、 永久的网卡配置
(1)#vi  /etc/hosts               *增加新加网卡主机名和IP地址的对应关系
 (2)#vi  /etc/hostname.hme0       *创建该文件,文件内容为新加网卡的主机名
 (3)#vi  /etc/netmasks        *增加新的网段掩码,注意网段为未划分子网前的网段
 (4)#vi  /etc/rc2.d/S99routeadd     *创建该文件,内容为手工增加路由的一段

1.10 如何单独安装SUN系统信息收集包SUNWexplo
1、 请将附件的压缩包用bin模式传到主机某个目录下,然后cd到该目录下执行
#gunzip SUNWexplo.tar.gz
#tar xvf SUNWexplo.tar
#pkgadd -d . SUNWexplo
(以上三条命令为解开sun公司系统采集包SUNWexplo并安装,如果本主机已安装过该软件包则系统会有提示并忽略安装)
2、 执行如下命令采集信息
#cd /opt/SUNWexplo/bin
#./explorer
请耐心等待命令执行完毕,命令执行完毕之后会将信息输出到/opt/SUNWexplo/output下生成一个.gz的压缩文件
此压缩文件包含系统信息
1.11 常见文件的解压
一般而言,在solaris下,会有这么几种格式的软件:
1 .gz结尾的文件,我们用gunzip或者gzip -d来解压,再用tar来解压.
2 .tar结尾的文件,我们肯定知道用tar xvf的格式来解压.
3 .zip结尾的文件,我们用unzip,注意,这个只有在高版本的solaris下,才有.而且该文件格式以solaris的patch比较多.
4 .Z结尾的文件,我们一般用uncompress来解压(当然,每个人的习惯不一样.)
1.12 Solaris中的Shell和用户权限
Solaris可以支持三种正常的shell,Bourne Shell ( /bin/sh或/sbin/sh )、C Shell ( /bin/csh )和Korn Shell ( /bin/ksh )。使用这些作为登录shell时,用户的权限仅由文件的读、写、执行权限和ACL控制。这种控制方式比较简单,文件明确规定了主人、同组人和他们的权限,而所有其他人都用第三组权限。这很难划分比较细致的权限级别,在很多情况下这不能满足管理员的要求。
管理员可能希望设置某些特殊用户,某用户只管关机;某用户只能通过POP3使用邮件服务,该用户登录的唯一目的是改自己的口令;某个用户只能在家目录下创建文件(比如通过ftp下载文件),不能修改已有文件,不能浏览文件系统、不能删除文件……
所有这些都可以在登录shell上做文章。
一个关机用户
要关机,必须有关机权限。什么人有关机权限?root。但不能把root口令告诉普通用户,怎么办?创建一个特殊的超级用户,他的登录shell是一个定制的文件:一条关机命令。具体做法如下:
# vi /etc/passwd
shutdown:x:0:1:shutdown user:/:/bin/shutdown  添加一个用户
# vi /etc/shadow
shutdown::::::::
# vi /bin/shutdown
/usr/sbin/shutdown  -y  -g0  -i5
把别的用户logout,试着用shutdown用户登录。输入完用户名和口令后,系统就开始关机。
一个邮件用户,该用户登录时只能改口令
比如此用户为user1,添加完该用户后,修改他的登录shell,方法如下:
# vi /etc/passwd
user1:x:……..:/bin/passwd
试着从另外一台机器telnet过来,有什么现象?用户一登录上来,系统就让用户改口令。改完后,网络连接自动断掉。
一个用户只能在家目录下创建文件(比如通过ftp下载文件),不能修改已有文件,不能浏览文件系统、不能删除文件……
这种用户的实现可以借助于一种/usr/lib/rsh称为restricted shell的文件。这种shell其实是Bourne shell的一种变形。除了以下特点以外,它和Bourne shell完全相同:
使用此种shell的用户不能:
 改变自己的工作路径,因此只能呆在家目录下;
 不能修改PATH变量,所以一旦PATH被管理员设定后,用户只能执行指定目录下的命令;
 指明路径和命令时不能用“/”;
 不能重定向输出。
 这样,为了实现上面规定的功能,可以按下面的做法:
首先按一般方法( admintool )创建此用户,但登录shell写/usr/lib/rsh
修改其家目录下的.profile文件,最重要的是其中的PATH变量,例如:
PATH= . ; export PATH
3. # cp –p /usr/bin/ftp .
  # cp –p /usr/bin/telnet .
 # cp –p /usr/bin/ls .
 # cp –p /usr/bin/pwd .
 # cp –p /usr/bin/more .
 # cp –p /usr/bin/file .
拷贝一系列该用户需要使用的命令到其家目录下。但是切记不要包括rm 、vi等有可能使用户自己修改.profile的命令。
1.13 ifconfig工具 
ifconfig -a 列出所有物理和虚拟的接口定义,包括ip地址和子网掩码。 另外在系统运行期间我们还可以用ifconfig去定义ip地址和子网掩码(在hpux系统中这样的定义当系统重新启动后就不存在了,不知solaris是不是这样)。 让我们再来看Ultra 60 工作站的例子,这次首先假定dumbledore在/etc/inet/hosts中没有定义,那么 qfe0 在系统重新启动后就不再被使用。 现在第一步是去激活qfe0(加载驱动):ifconfig qfe0 plumb 
开始配置这种网络接口: 
ifconfig qfe0 191.133.23.10 netmask 255.255.255.0 up 
ifconfig -a 可以看到新的配置 
对于虚拟网络接口这个步骤是相同的: 
ifconfig hme0:1 plumb 
ifconfig hme0:1 191.133.23.10 netmask 255.255.255.0 up
1.14 路由 
可以将IP地址加入/etc/defaultrouter文件来设定默认路由(或者是标准网关)。如果在此文件中加入的是主机名,要确认/etc/inet/hosts文件中已经定义了此主机名。 等价的命令是: 
*删除所有当前路由:route flush 
*将1.2.3.4定义为默认路由:route add default 1.2.3.4 
*用netstat -r命令可以查看更改结果。 
如果机器上有两个以上可用的网络接口,Solaris会自动启用IP转发。 
要检查IP转发是否已经启用:ndd -get /dev/ip_forwarding 
启用IP转发:ndd -set /dev/ip_forwarding 1 
关闭IP转发:ndd -set /dev/ip_forwarding 0 
另一种关闭IP转发的方法是创建/etc/notrouter文件,例如touch /etc/notrouter
1.15 用CDROM通过网络安装操作系统
(A) SERVER端
# vi /etc/hosts
ip-address hostname_of_clients
# vi /etc/ethers
ethers_address hostname_of_clients
#share –F nfs –o ro,anon=0 /cdrom/cdrom0/s0
#/usr/lib/nfs/nfsd
#/usr/lib/nfs/mountd
#/cdrom/cdrom0/s0/add_install_client  hostname platform
(B) Client 端
   Ok boot net