| Unix编程/应用问答中文版 ---1.系统管理配置问题 |
|
Unix编程/应用问答中文版 ---1.系统管理配置问题 |
| 作者:佚名 来源:不详 更新:2006-8-25 21:05:35 错误报告 我要投稿 |
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)
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |