您的位置:首页 > 文档 > 基础知识 >
 文章分类 

Unix编程/应用问答中文版 ---1.系统管理配置问题


创建:2005-10-26 03:50:04
作者:Unlinux
来自: http://www.Unlinux.com

作者:不祥 [文章出自: 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

转载自:http://www.unlinux.com/doc/base/20051026/713.html

评论】 【加入收藏夹】 【 】 【打印】 【关闭
 *  请尊重我们的劳动,转载请注明出自UnLinux.Com及作者名 * 

※ 相关链接
 ·UNIX入侵(第一章)  (2005-10-26 03:50:04)
 ·UNIX痛恨者手册  (2005-10-26 03:50:04)
 ·Unix优秀电子书籍下载  (2005-10-26 03:50:04)
 ·Unix编程/应用问答中文版 ---0.简介 Unix/C传奇问题  (2005-10-26 03:50:04)
 ·浅谈Unix系统管理  (2005-10-26 03:49:53)
 ·一些奇怪的unix指令名字的由来  (2005-10-26 01:30:40)
 ·改变UNIX终端颜色  (2005-10-26 00:49:46)
 ·Unix awk使用手册  (2005-10-26 00:49:45)
 ·Unix Shell 介绍  (2005-10-26 00:49:45)
 ·unix命令行如何发送附件  (2005-10-26 00:49:45)

Copyright © 2005 UnLinux.Com All Rights Reserved