作者:不祥 [文章出自: www.fanqiang.com]
1. 系统管理配置问题
1.1 如何给SUN工作站增加eeprom硬件口令保护
1.2 如何增加交换空间
1.3 为什么我不能在/home目录下创建子目录
1.4 如何改变一台主机的locale
1.5 Solaris 7自动注销
1.6 一个目录拥有setgid设置,怎么理解
1.7 非Sun Console上有无等价Stop-A的按键
1.8 如何让一个用户只能ftp而无法telnet
1.9
1.10 为什么Sun工作站非要输入boot命令才能启动
1.11 如何让Solaris识别新增加的硬件
1.12
--------------------------------------------------------------------------
1. 系统管理配置问题
1.1 如何给SUN工作站增加eeprom硬件口令保护
A: scz <scz@nsfocus.com>
man -s 1M eeprom了解细节,要求当前是root身份
# /usr/sbin/eeprom (显示当前eeprom配置)
# /usr/sbin/eeprom security-mode=full ( 可选的有command, full, none)
此时进入交互式设置口令过程,总共输入两次,如果两次口令输入不一致,则本次设
置作废。成功设置之后除了go命令之外的其他ok状态下命令均需要口令,包括boot命
令。
设置成command时,同样进入交互式口令输入过程。此时,除了boot和go命令之外的
其他ok状态下命令均需要口令。注意,如果仅仅输入boot命令,不需要口令,一旦
boot命令后面带了参数,比如boot cdrom -s,同样需要输入口令。
如果设置成none(缺省设置),表示去掉这种口令保护。
# /usr/sbin/eeprom security-password= (等号后面无其他字符,直接回车)
如果想改变前面设置的口令,用这条命令,同样是交互式输入过程。
# /usr/sbin/eeprom security-#badlogins=3 (缺省是0)
设置口令输入尝试次数。
警告:如果设置了eeprom硬件保护口令而又忘记,会带来很多麻烦,务必小心。
一个可行的设置办法是,安全模式设置到command而不是full,这样至少可以正常启
动系统。于是只要记得root口令或者还有其他机会获得root权限(缓冲区溢出?),就
可以通过设置安全模式为none而挽救回来。
但是如果设置成full模式却忘记了eeprom口令,我想首先应该打电话给SUN的技术支
持。如果出于某种理由你不想这样做,我不确认eeprom是否可以热插拔,先用一个无
口令保护的eeprom启动系统,然后热插拔换上那个有口令保护的eeprom,然后用root
权限抹去eeprom口令。
1.2 如何增加交换空间
A: WT <wt@server.domain.top>
你无法改变分区大小,但是可以增加/删除交换文件,效果类似交换分区。下列命令
在根目录下创建一个500MB的交换文件,名为swapfile
# mkfile 500m /swapfile
下列命令将使之生效
# swap -a /swapfile
现在你有了额外的500MB交换空间,为了每次重启后依旧有效,编辑/etc/vfstab文件
增加如下行
/swapfile - - swap - no -
# swap -l
这里"-l"意味着"list",显示所有交换空间。仔细阅读"swap"和"mkfile"的手册页。
1.3 为什么我不能在/home目录下创建子目录
Q: Solaris 7下,root身份,当我试图在/home目录下创建子目录时,系统拒绝,为
什么?
A: mohansundarraj
如果/etc/rc2.d/S74autofs脚本中automount(1M)守护进程已经mount了/home,就是
这种现象,而这还是缺省安装后的情形。可以
# /etc/init.d/autofs stop
# umount /home
然后你就可以用root身份在/home下创建子目录,增加文件了。为了永久取消autofs
特性,可以将/etc/rc2.d/S74autofs脚本改名,并注释掉/etc/auto_home、
/etc/auto_master两个文件中的入口点。
SPARC/Solaris的缺省用户主目录是/export/home,而不是/home。
1.4 如何改变一台主机的locale
Q: 一台SPARC/Solaris 8运行在US locale环境中,现在我们想让它运行在
IE(Ireland) locale环境中,以便可以使用欧洲日期格式,怎么办?
A: Sharad Ramachandran <estancio@hotmail.com>
运行sys-unconfig,在此之前请man -s 1M sys-unconfig,:-)
A: chad schrock <chad@radix.net>
天啊,为了拍死一只苍蝇,你要引爆原子弹吗?
只需要做如下操作,在你的.cshrc/.profile/.bashrc等启动脚本中设置$LANG环境变
量的值为en_UK,注销,重新登录即可。为了使这个设置全局有效,修改
/etc/default/init文件,LANG=en_UK,重启动。
--------------------------------------------------------------------------
# @(#)init.dfl 1.2 92/11/26
#
# This file is /etc/default/init. /etc/TIMEZONE is a symlink to this file.
# This file looks like a shell script, but it is not. To maintain
# compatibility with old versions of /etc/TIMEZONE, some shell constructs
# (i.e., export commands) are allowed in this file, but are ignored.
#
# Lines of this file should be of the form VAR=value, where VAR is one of
# TZ, LANG, or any of the LC_* environment variables.
#
TZ=GMT+8
LANG=zh.GBK
--------------------------------------------------------------------------
参看locale(1)和locale(5),了解更多关于locale的信息。运行"locale -a",查看
当前系统所支持的所有locale。
A: Sun Microsystems 2001-06-12
有三种方式改变locale。首先用"locale -a"命令确认系统中已安装的locale
1) 从CDE登录屏幕上修改locale
选择 options -> languages -> choose the new locale
注意,如果登录用户的初始化文件中有不同的locale设置,将优先于系统全局locale
设置。
2) 临时设置locale(shell相关的)
ksh : LANG=<locale>
sh : LANG=<locale>
export LANG
csh : setenv LANG <locale>
bash: export LANG=en_US(zh.GBK)
3) vi /etc/default/init
增加如下内容
LANG=<locale>
LC_ALL=<locale>
重启系统。
运行"locale"命令确认改变生效。
如果你希望使用的locale并未安装,参看如下文档安装locale
Solaris 8 : <<International Language Environments Guide>>
Solaris 7 : <<Solaris Internationalization Guide For Developers>>
Solaris 2.6: <<Solaris Internationalization Guide for Developers>>
D: scz <scz@nsfocus.com> 1998-08
SPARC/Solaris 2.5下,为了在vi中正确看到中文需要设置环境变量
sh
LANG=C;export LANG
LC_CTYPE=iso_8859_1;export LC_CTYPE
csh
setenv LANG zh
关于设置LANG这个环境变量涉及到/usr/lib/locale下的目录权限。
1.5 Solaris 7自动注销
Q: 怎样设置才能30秒后自动注销
A: shridhara
不幸的是,Solaris对此没有什么好的支持。如果正在使用telnet会话,或许可以考
虑"logout"变量,参看telnet的手册页。一个变通的办法,使用K-Shell,它支持
TMOUT变量,用于指定非活动时限(以秒为单位)。比如,如果一个shell会话3分钟内
不活动,则终止这个shell会话
$ TMOUT=180;export TMOUT
可以在用户的.profile文件中放置该行。缺点是你只能使用ksh。
D: scz <scz@nsfocus.com>
vi /etc/default/login
# TIMEOUT sets the number of seconds (between 0 and 900) to wait before
# abandoning a login session.
#
TIMEOUT=180
这里的超时设置针对登录过程,而不是登录成功后的shell会话超时设置。
1.6 一个目录拥有setgid设置,怎么理解
Q: 对一个目录做了setgid设置,可我并没有发现这和正常情况有什么区别
A: John Riddoch <jr@scms.rgu.ac.uk>
在这种目录下创建新文件时将采用setgid设置对应的属组,比如
$ ls -ld b
drwxrws--- 2 jr group 512 Mar 14 17:13 b/
$ touch b/a
$ ls -l b/a
-rw------- 1 jr group 0 Mar 14 17:13 b/a
$ id
uid=178(jr) gid=10(staff)
jr的缺省组是staff,而现在b/a文件属组是group。
D: 小四 <scz@nsfocus.com>
SPARC/Solaris 7下测试
如果目录拥有SGID设置,那么该目录下新创建的文件将继承该目录的属组,而不是创
建者所对应的GID。
[root@ /export/home/scz]> id
uid=0(root) gid=1(other) <-- 注意当前用户的属组
[root@ /export/home/scz]> mkdir groupsgid
[root@ /export/home/scz]> ls -ld groupsgid
drwxr-xr-x root other groupsgid/
[root@ /export/home/scz]> chown scz:users groupsgid
[root@ /export/home/scz]> chmod g+s groupsgid
[root@ /export/home/scz]> ls -ld groupsgid
drwxr-sr-x scz users groupsgid/ <-- 目录拥有SGID设置
[root@ /export/home/scz]> cd groupsgid/
[root@ /export/home/scz/groupsgid]> touch scz_0
[root@ /export/home/scz/groupsgid]> ls -l scz_0
-rw-r--r-- root users scz_0 <-- 注意属组变化
[root@ /export/home/scz/groupsgid]> chmod g-s ../groupsgid/
[root@ /export/home/scz/groupsgid]> ls -ld ../groupsgid/
drwxr-xr-x scz users ../groupsgid/
[root@ /export/home/scz/groupsgid]> touch scz_1
[root@ /export/home/scz/groupsgid]> ls -l scz_1
-rw-r--r-- root other scz_1 <-- 注意属组变化
[root@ /export/home/scz/groupsgid]>
1.7 非Sun Console上有无等价Stop-A的按键
A: neomilev
如果是便携机,尝试alt/break 或者 ctrl/break。如果是vt100终端,尝试F11 或者
break
1.8 如何让一个用户只能ftp而无法telnet
A: 小四 <cloudsky@263.net>
修改该用户在/etc/passwd中的shell为/bin/false,在/etc/shells文件中增加
/bin/false,此时,该用户只能ftp,telnet失败。
1.10 为什么Sun工作站非要输入boot命令才能启动
Q: 我有台Sun工作站,每次开机后停在ok状态下,需要手工输入boot命令才能启动,
现在想避免这种效果,怎么办
A: /usr/sbin/eeprom auto-boot?=true
/usr/sbin/eeprom auto-boot? <-- 查询
A: dengdai@SMTH
进入OBP状态
ok setenv auto-boot? true
ok setenv boot-device disk
反之
ok setenv auto-boot? false
1.11 如何让Solaris识别新增加的硬件
Q: 比如新增加了网卡、硬盘、光驱什么的,如何让Solaris意识到这种增加
A: spp(低音炮) & suxm <suxm@gnuchina.org>
有三种办法
a. Stop-A进入OBP状态,输入boot -r
b. sync(重复);reboot -- -r
c. touch /reconfigure;sync(重复);reboot
参看reboot(1M)、boot(1M)、eeprom(1M)、kernel(1M)、cfgadm(1M)、psradm(1M)手
册页
Q: 我新增加了一块硬盘,不想boot -r而立即生效,怎么办
A: 老大 <willxu@public.cs.hn.cn> 2001-12-04 16:51
直接将第二块硬盘接上去,然后顺序执行如下命令,不用重新启动机器
modunload -i 0
drvconfig(1M)
devlinks(1M)
disks(1M)
如果需要重新格式化、分区、创建文件系统,就继续执行
format(1M)
newfs(1M)&nbs