- 论坛徽章:
- 0
|
?
SUN服务器可能遇到的问题总结(二)
1) Q:用xmenager登陆虚拟机上的solaris不能进入图形界面
用xmenager登陆虚拟机上的solaris不能进入图形界面
输入密码回车后显示:
Unalbe to access home directory .click OK to start a failsafe session,or Cancel to restart login
注:solaris 10的显卡也没有安装,:(因为我找不到对应的显卡驱动,我试用过sunwxf86-vmware.tar.gz可是安装后找不到对应的显卡驱动显卡 XF86-VMWARE VMware virtual video adapter,后来看到高手说要用:xf86_drv_port_bin_420_1.tar.gz
可是我找不到下载的地址,上面提供的下载不了,希望高手帮帮忙
A:检查一下看你的用于登陆的用户的主目录权限设置是否正确,看看该目录的拥有者。
yd518-cj 兄显示中文为空白的问题,是缺少中文字体文件。
1、首先进入Solaris将/usr/openwin/lib/locale/zh/X11/fonts下的75dpi目录打包在传回本地,解压到某个文件夹下。
2、进入该文件夹,重命名fonts.alias为fonts.ali
3、将刚才解开的目录下的.Z压缩文件都解开
4、修改文件fonts.dir 将其中的类似.pcf.Z都改为.pcf
5、以Xmanager为例,进入Xconfig在所有的配置文件的font路径中加入该目录即可。
2) Q:s9下解压缩9_Recommended.tar.bz2一定要另外下bunzip2么
A:请你执行
# which bunzip2
你就能看到bunzip2在哪个目录下啦,S9是自带的。无需另外下载,应该在
/usr/bin/bunzip2。请核实
如果你是想安装这个s9的推荐安装patch包
#cd /cdrom/cdrom0/sun/patch/9
#unpack-patches (这个脚本会自动的解压recom包的)
还可以到 /opt/sun/bin/ 下面有unpack-patches脚本
3)Q:我的solaris8 下所有用户(包括root)下都没有.profile?
请问:我的solaris8 下所有用户(包括root)下都没有.profile?
我的man 也用不起来,
在/usr/share/man/下有东西
.profile 是隐藏文件
$ ls –al
/etc下应该是profile,前面不该有(.)。
你可以用/etc/skel里的local.profile做模版,为root还有用户建立自己的.profile文件。
贴一下我的.profile文件给你参考:
# more /etc/profile
#ident "@(#)profile 1.18 98/10/03 SMI" /* SVr4.0 1.3 */
#For test only, please do not move.
echo "I am /etc/profile....................."
# The profile that all logins get before using their own .profile.
trap "" 2 3
export LOGNAME PATH
if [ "$TERM" = "" ]
then
if /bin/i386
then
TERM=sun-color
else
TERM=sun
fi
export TERM
fi
# Login and -su shells get /etc/profile services.
# -rsh is given its environment in its .profile.
case "$0" in
-sh | -ksh | -jsh)
if [ ! -f .hushlogin ]
then
/usr/sbin/quota
# Allow the user to break the Message-Of-The-Day only.
trap "trap '' 2" 2
/bin/cat -s /etc/motd
trap "" 2
/bin/mail -E
case $? in
0)
echo "You have new mail."
;;
2)
echo "You have mail."
;;
esac
fi
esac
umask 022
trap 2 3
#
# more .profile
echo "I am /.profile................"
stty erase
#
# env
EDITOR=vi
HOME=/
HZ=100
LC_COLLATE=en_CA.ISO8859-1
LC_CTYPE=en_CA.ISO8859-1
LC_MESSAGES=C
LC_MONETARY=en_CA.ISO8859-1
LC_NUMERIC=en_CA.ISO8859-1
LC_TIME=en_CA.ISO8859-1
LOGNAME=root
MAIL=/var/mail/root
PATH=/usr/sbin:/usr/bin
SHELL=/sbin/sh
TERM=ansi
TZ=Canada/Eastern
_INIT_NET_STRATEGY=none
_INIT_PREV_LEVEL=S
_INIT_RUN_LEVEL=3
_INIT_RUN_NPREV=0
_INIT_UTS_ISA=sparc
_INIT_UTS_MACHINE=sun4m
_INIT_UTS_NODENAME=sun
_INIT_UTS_PLATFORM=SUNW,SPARCstation-5
_INIT_UTS_RELEASE=5.8
_INIT_UTS_SYSNAME=SunOS
_INIT_UTS_VERSION=Generic_108528-29
#
# set
EDITOR=vi
HOME=/
HZ=100
IFS=
LC_COLLATE=en_CA.ISO8859-1
LC_CTYPE=en_CA.ISO8859-1
LC_MESSAGES=C
LC_MONETARY=en_CA.ISO8859-1
LC_NUMERIC=en_CA.ISO8859-1
LC_TIME=en_CA.ISO8859-1
LOGNAME=root
MAIL=/var/mail/root
MAILCHECK=600
OPTIND=1
PATH=/usr/sbin:/usr/bin
PS1=#
PS2=>
SHELL=/sbin/sh
TERM=ansi
TZ=Canada/Eastern
_INIT_NET_STRATEGY=none
_INIT_PREV_LEVEL=S
_INIT_RUN_LEVEL=3
_INIT_RUN_NPREV=0
_INIT_UTS_ISA=sparc
_INIT_UTS_MACHINE=sun4m
_INIT_UTS_NODENAME=sun
_INIT_UTS_PLATFORM=SUNW,SPARCstation-5
_INIT_UTS_RELEASE=5.8
_INIT_UTS_SYSNAME=SunOS
_INIT_UTS_VERSION=Generic_108528-29
#
据我研究,$HOME/.profile,$HOME/.login和$HOME/.cshrc默认的情 况下,系统并不自动建立。在/etc下,默认有profile和.login两个文件,它们是system-wide的initialization files。不同用户的登陆默认shell不同,运行的初始化文件-initialization files也不同。
1、对/bin/sh用户,运行/etc/profile和$HOME/.profile(如果有的话)。
2、对/bin/ksh用户,也运行/etc/profile和$HOME/.profile(如果有的话)。
3、对/bin/csh用户,运行/etc/.login和$HOME/.cshrc还有$HOME/.login(如果有的话)。然后,每一次产生新的子shell,再运行$HOME/.cshrc一次。
/etc/skel是系统默认的存放初始化文件-initialization files的地方,当你用useradd创建新用户时,-k /etc/skel就等于告诉系统去哪里寻找初始化文件-initialization files。但是这3个文件的原名分别为local.cshrc,local.login,local.profile,系统只是简单的把他们复制到用户 $HOME下,需要你手动修改他们的名字为.cshrc,.login,.profile。
想知道自己到底在第几层shell里,可以运行#ptree | grep sh
至于MANPATH=/usr/share/man,我不清楚。我从未注意,也未动过。
4) Q: 文件许可权限
A: 去掉不用的suid文件
安全层面:本地
解决方法:
许多运行在solaris上的suid程序都只属于root,检查这些程序,有没有是属于其他用户的:
步骤:
1) 找出所有的suid程序
2) 创建备3) 份目录(如:/opt/backup/usr/local/bin)
4) 把这些suid程序备5) 份在以上目录里
6) 把这些程序用tar打成包(使find程序在备7) 份目录里找不8) 到这些程序)
9) 删掉备10) 份目录
11) 去掉所有的suid程序的s权位
12) 只保留一些必须的suid程序。如:passwd,13) su等
14) 再次执行一遍find程序,15) 看看输出情况
必须用到的一些命令:
find / -type f\( -perm -4000 \) |xargs ls -a
find / -type f\( -perm -4000 \) |xargs chmod -s
去掉不用的sgid程序
安全层面:本地
解决方法:
许多运行在solaris上的sgid程序都只属于root,检查这些程序,有没有是属于其他用户的:
1) 出所有的sgid程序
2) 创建备3) 份目录(如:/opt/backup/usr/local/bin)
4) 把这些sgid程序备5) 份在以上目录里
6) 把这些程序用tar打成包(使find程序在备7) 份目录里找不8) 到这些程序)
9) 删掉备10) 份目录
11) 去掉所有的sgid程序的s权位
12) 只保留一些必须的sgid程序。如:passwd,13) su等
14) 再次执行一遍find程序,15) 看看输出情况
必须用到的一些命令:
find / -type f\( -perm -2000 \) |xargs ls -a
find / -type f\( -perm -2000 \) |xargs chmod -s
删除一切/etc目录下的组用户可写的文件
安全层面:本地
解决方法:
检查/etc目录下所有的组可写文件:
find /etc -type f\( -perm 20 \) | xargs ls -las
不需要组的可写权限,修改如下:
find /etc -type f\( -perm 20 \) | xargs chmod g-w
移除/etc目录下一切对用户可写的文件
安全层面:本地
解决方法:
检查/etc目录下对用户可写文件:
find /etc -type f\( -perm 2 \) | xargs ls -las
不需要用户的可写权限,修改如下:
find /etc -type f\( -perm 2 \) | xargs chmod g-w
改变所有文件的rw-rw-rw权限为rw-r-r-
安全层面:本地
解决方法:
首先列出文件:
find / -type f -perm 666 |xargs ls -al > perm-666-before-change.txt
改变权限:
find / -type f -perm 666 |xargs chmod 644
find / -type f -perm 666 |xargs ls -al > perm-666-after-change.txt
改变文件的rwxrwx
安全层面:本地
解决方法:
首先列出文件:
find / -type f -perm 777 |xargs ls -al > perm-777-before-change.txt
改变权限:
find / -type f -perm 777 |xargs chmod 755
find / -type f -perm 777 |xargs ls -al > perm-777-after-change.txt
找出可写的目录
安全层面:
本地
解决方法:
find / -type d\( -perm 2 \)
改变你所需要的权限设置
确定所有应用服务的启动脚本的用户属主和用户组是root
(这些可以影响补丁的程序和出错信息)
安全层面:本地
解决方法:
检查启动脚本的文件属主:
find /etc -type f -print | grep rc | egrep -v "skel|tty|mail|snmp|Mail" | xargs ls -al > rc-files-before-change.txt
改变这些文件的文件属主:
find /etc -type f -print | grep rc | egrep -v "skel|tty|mail|snmp|Mail" | xargs chown
root:root
find /etc -type f -print | grep rc | egrep -v "skel|tty|mail|snmp|Mail" | xargs ls -al > rc-files-after-change.txt
ls -al /etc/ init. d > etc-init.d-before.change.txt
chown root:root /etc/ nit.d
ls -al /etc/init.d > etc-init.d-after-change.txt
经过这样的改变,所有的rcX.d里的脚本的文件属主都为root,所有的/etc/init.d目录里的脚本的文件属主文件组都是root了,为了防止特洛伊木马。
打开cron程序的记账
安全层面:本地
解决方法:
确定/etc/default/cron文件里有如下行:
CRONLOG=YES
检查utmp,utmpx的权限
安全层面:本地
解决方法:
检查/var/adm目录下的文件权限:
find /var/adm -type f\( -perm 2 \) | xargs ls -las
修改文件:
chmod 644 /var/adm/utmp
寻找没有用户关联的文件
安全层面:本地
解决方法:
find / -type f -nouser
如下步骤:
1) find / -type f -nouser > files-nouser-before-change
2) find / -type f -nouser | xargs chwon nobody:nobody
3) find / -type f -nouser > files-nouser-after-change
寻找没有组关联的文件
安全层面:本地
解决方法:
find / -type f -nogroup
如下步骤:
1) find / -type f -nogroup > files-nogroup-before-change
2) find / -type f -nogroup | xargs chgrp nobody
3) find / -type f -nogroup > files-nogroup-after-change
检查/var/cron的权限
安全层面:本地
解决方法:
如果/etc/cron文件的文件属主不是root,组不是sys,修改该文件的权限:
chmod 700 /var/cron && chown root /var/cron && chgrp sys /var/cron
5) Q: 请教:set -o vi 是什么意思?
A:set -o vi 总是见到出现在初始化脚本里面(.profile), ,哪位告诉一下这句是什么意思?
在.kshrc中输入:
set -o vi
即设置联机编辑器为vi
set +o vi 取消
.kshrc是ksh的run command,但不一定非得叫这个名字(这一点与csh不同)
6) Q: s9安装完后自带的sun volume manager的问题?
A: 在8里面需要单独安装,9自带
做镜像或RAID5可以参考:
http://chinaunix.net/jh/6/339263.html
7) Q: 如何测试一台外接磁带库呢
A: mt -f /dev/rmt/x status
其中/dev/rmt/x是你的磁带机设备名。如果是有多个驱动器或机械手的磁带库,要分别测试,随机文档中应该有测试方法。
Q: 如何用一条命令更改目录及其下得所有子目录和文件权限啊?
A: 我在solaris9用chmod 755 samba这个命令只能更改samba这个目录得权限,其下面得子目录和文件要再输入命令才能行!这样太麻烦了,请问怎么才能一次更改所有得权限啊?
The -R option can meet your needs
9) Q: 如何重新启动inetd ?
A: 修改了 /etc/inetd.conf 里的部分属性
现在想重新启动inetd,如何做?
我的os是solaris9
pkill -HUP inetd
pkill -HUP inetd
是重启
如果已经杀掉则,inet.d -s就可以了.
10) Q: 怎样用gcc替代cc让make程序默认编译器是gcc ?
$ls -l codec_dbkapi.c
-r--r--r-- 1 xinh staff 0 Jan 24 11:42 codec_dbkapi.c
$make codec_dbkapi
cc codec_dbkapi.c -o codec_dbkapi
/usr/ucb/cc: language optional software package not installed
make: *** [codec_dbkapi] Error 1
如何才可以让make默认编译器是gcc 呢??
机器上已经安装了gcc ,但是cc软件包没有,
btw ,没有超级用户权限
A: 修改makefile吧,把cc定义成gcc就行了 CC=gcc
10) Q: 请教关于sun网卡的问题
有一台sun v480
ifconfig -a
lo0: flags=1000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
ce0: flags=1000843 mtu 1500 index 2
inet 172.16.6.11 netmask ffffff00 broadcast 172.16.6.255
ether 0:3:ba:68:7:67
在不重起机器的前提下,想将它的另一块网卡(应该是ce1吧)配上ip,请问高手怎么办
A: #ifconfig ce1 plumb ;启用ce1
#ifconfig ce1 inet x.x.x.x netmask 0xffffff00 up ;起用ce1
这是临时的,下次重起机器后消失,如果要永久性修改,要同时修改hosts,netmasks,创建hostname.ce1即可.
?
11) Q:DNS解析不是和/etc/resolv.conf有关系吗?
原先resolv.conf里写nameserver xx.xxx.xx.xx,可我把这个文件删除掉,solaris怎么还能解析出地址呢
Q:原因如下:
(1)如果没有DNS解析了,而你的/etc/hosts里面包含那个域名,机子也可以识别那个域名。
(2)如果/etc/hosts里面没有哪个域名,而用nslookup也可以解析,那是因为域名解析系统默认自己机子作为dns服务器。如果你自己的机子上有运行DNS服务器,也会出现这种情况。
12)Q:solrais10 for x86 如何更改显示器刷新率?
A:用此命令:/usr/X11/bin/xorgconfig
13)Q:我的.profile 里只有一行:PATH=$PATH:/usr/local/bin:/usr/ccs/bin:/usr/j2se/bin;export PATH
在etc/profile里有:
#ident "@(#)profile 1.18 98/10/03 SMI" /* SVr4.0 1.3 */
# The profile that all logins get before using their own .profile.
trap "" 2 3
export LOGNAME PATH
if [ "$TERM" = "" ]
then
if /bin/i386
then
TERM=sun-color
else
TERM=sun
fi
export TERM
fi
# Login and -su shells get /etc/profile services.
# -rsh is given its environment in its .profile.
JAVA_HOME=/usr/j2se
export JAVA_HOME
case "$0" in
-sh | -ksh | -jsh)
if [ ! -f .hushlogin ]
then
/usr/sbin/quota
# Allow the user to break the Message-Of-The-Day only.
trap "trap '' 2" 2
/bin/cat -s /etc/motd
trap "" 2
/bin/mail -E
case $? in
0)
echo "You have new mail."
;;
2)
echo "You have mail."
;;
esac
fi
esac
umask 022
"profile" 48 lines, 741 characters
在env
bash-2.03# env
PWD=/etc
TZ=PRC
XFORCE_INTERNET=True
WINDOWID=83886089
LC_MESSAGES=C
DTSCREENSAVERLIST=StartDtscreenSwarm StartDtscreenQix StartDtscreenFlame StartDtscreenHop StartDtscreenImage StartDtscreenLife StartDtscreenRotor StartDtscreenPyro StartDtscreenWorm StartDtscreenBlank
dtstart_sessionlogfile=/dev/null
HOSTNAME=support
XMBINDDIR=/usr/dt/lib/bindings
DTUSERSESSION=root-192.168.1.212-0
DTDATABASESEARCHPATH=//.dt/types,/usr/dt/appconfig/types/%L,/usr/dt/appconfig/types/C
OPENWINHOME=/usr/openwin
MANPATH=/usr/dt/man:/usr/man:/usr/openwin/share/man
LC_TIME=en_US.ISO8859-1
USER=root
MACHTYPE=sparc-sun-solaris
AB_CARDCATALOG=/usr/dt/share/answerbooks/en_US.ISO8859-1/ab_cardcatalog
DTXSERVERLOCATION=remote
XFILESEARCHPATH=/usr/openwin/lib/locale/%L/%T/%N%S:/usr/openwin/lib/%T/%N%S
MAIL=/var/mail/root
OLDPWD=/
EDITOR=/usr/dt/bin/dtpad
LANG=en_US.ISO8859-1
JAVA_HOME=/usr/j2se
LC_NUMERIC=en_US.ISO8859-1
DISPLAY=192.168.1.212:0.0
LOGNAME=root
SHLVL=1
LC_CTYPE=en_US.ISO8859-1
XMICONSEARCHPATH=//.dt/icons/%B%M.pm://.dt/icons/%B%M.bm://.dt/icons/%B:/usr/dt/appconfig/icons/%L/%B%M.pm:/usr/dt/appconfig/icons/%L/%B%M.bm:/usr/dt/appconfig/icons/%L/%B:/usr/dt/appconfig/icons/C/%B%M.pm:/usr/dt/appconfig/icons/C/%B%M.bm:/usr/dt/appconfig/icons/C/%B
HELPPATH=/usr/openwin/lib/locale:/usr/openwin/lib/help
SESSION_SVR=support
XMICONBMSEARCHPATH=//.dt/icons/%B%M.bm://.dt/icons/%B%M.pm://.dt/icons/%B:/usr/dt/appconfig/icons/%L/%B%M.bm:/usr/dt/appconfig/icons/%L/%B%M.pm:/usr/dt/appconfig/icons/%L/%B:/usr/dt/appconfig/icons/C/%B%M.bm:/usr/dt/appconfig/icons/C/%B%M.pm:/usr/dt/appconfig/icons/C/%B
DTHELPSEARCHPATH=//.dt/help/root-192.168.1.212-0/%H://.dt/help/root-192.168.1.212-0/%H.sdl://.dt/help/root-192.168.1.212-0/%H.hv://.dt/help/%H://.dt/help/%H.sdl://.dt/help/%H.hv:/usr/dt/appconfig/help/%L/%H:/usr/dt/appconfig/help/%L/%H.sdl:/usr/dt/appconfig/help/%L/%H.hv:/usr/dt/appconfig/help/C/%H:/usr/dt/appconfig/help/C/%H.sdl:/usr/dt/appconfig/help/C/%H.hv
DTSOURCEPROFILE=true
DTAPPSEARCHPATH=//.dt/appmanager:/usr/dt/appconfig/appmanager/%L:/usr/dt/appconfig/appmanager/C
SHELL=/bin/sh
HOSTTYPE=sparc
OSTYPE=solaris
HOME=/
TERM=dtterm
PATH=/usr/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/bin:/usr/ucb:/usr/local/bin:/usr/ccs/bin:/usr/j2se/bin
LC_MONETARY=en_US.ISO8859-1
TERMINAL_EMULATOR=dtterm
LC_COLLATE=en_US.ISO8859-1
_=/usr/bin/env
请问env里的东西来在哪里?我要修改path在哪里修改呀?
A:是ROOT用户吗?是的话就在/etc/porfile
如果是其他用户的话就在用户的家目录下。$HOME/.profile
14)Q:以前的情况:
在U60主机上,插了一个SCSI卡,系统盘就接在上面.该硬盘的SCSI ID是0,设备名为c1t0d0,而光驱接在主机系统板自带的scsi口上.其scsi ID是6,其设备名为c0t6d0.安装的系统是solairs8,一直都运行正常.
现在的情况是:
需要把SCSI卡取走,那么我把硬盘接到主机系统板自带的scsi口上,然后用光驱引导系统进入维护模式,更改了/etc/vfstab文件,将c1t0d0都改为c0t0d0.保存后重启系统.
在OK提示符下输入
boot /pci@1f,4000/scsi@3/disk@0,0
然后系统开始从硬盘引导,但是系统在初始化的过程当中退出,无法进入系统,系统提示信息是:找不到c0t0d0s0的设备。
我用光盘启动到维护模式后,将系统盘c0t0d0s0 MOUNT到/a下,然后ls -l /a/etc/dsk,确实没有看到c0t0d0s0的设备文件,而只有c1t0d0s*和c0t6d0s*的设备。(然后我将/etc/vfstab文 件改回原来的值,并将系统盘接回到SCSI卡上之后,系统还是能正常进入)
我尝试在OK提示符下用boot -r启动系统,同样也解决不了问题,错误信息也是:找不到c0t0d0s0的设备。
请问各位如何让系统生成c0t0d0s*的设备?
A:手动
ln -s /devices/..你的具体的设备文件名 c0t0d0s0
15)Q:我执行了script,但是在 .sh_history文件中没有任何键盘记录啊?
如果使用 script -a filename的话,只是记录屏幕输入。
我现在要记录登陆用户的键盘操作,请问如何处理?
A:# script
Script started, file is typescript
# lsdjf
sh: lsdjf: command not found
# ls
acct exacct log messages.0 messages.2 passwd sm.bin streams typescript vold.log
aculog lastlog messages messages.1 messages.3 sa spellhist sulog utmpx wtmpx
# exit
Script done, file is typescript
# cd /
# ls
bin devices home lost+found net platform tmp vol
data etc kernel mbox nohup.out proc usr xfn
dev export lib mnt opt sbin var
# more typescript
typescript: No such file or directory
# find / -name typescript -print
/var/adm/typescript
# more /var/adm/typescript
Script started on Mon Jan 10 17:44:51 2005
# lsdjf
sh: lsdjf: command not found
# ls
acct exacct log messages.0 messages.2 passwd sm.bin streams typescript vold.log
aculog lastlog messages messages.1 messages.3 sa spellhist sulog utmpx wtmpx
# exit
script done on Mon Jan 10 17:44:58 2005
#
# script newscript
Script started, file is newscript
# ls
bin devices home lost+found net opt sbin var
data etc kernel mbox newscript platform tmp vol
dev export lib mnt nohup.out proc usr xfn
# exit
Script done, file is newscript
# cd /var/adm
# ls
acct exacct log messages.0 messages.2 passwd sm.bin streams typescript vold.log
aculog lastlog messages messages.1 messages.3 sa spellhist sulog utmpx wtmpx
# cd
# ls
ecqi jboss-3.2.6.tar jboss-4.0.1RC1.tar local.profile
j2sdk-1_4_2_06-solaris-sparc.sh jboss-4.0.1-src jboss4 nohup.out
j2sdk1.4.2_06 jboss-4.0.1-src.tar local.cshrc sol8_patch.txt
jboss-3.2.6 jboss-4.0.1RC1 local.login
# find / -name newscript -print
/newscript
# cd /
# more newscript
Script started on Mon Jan 10 17:47:58 2005
# ls
bin devices home lost+found net opt sbin var
data etc kernel mbox newscript platform tmp vol
dev export lib mnt nohup.out proc usr xfn
# exit
script done on Mon Jan 10 17:48:03 2005
#
16)Q:在两台机子之间rlogin,rsh都没有问题。测试通过。
但是rcp的时候出错。不知道是什么原因。
命令:rcp test.txt
[email=username@hostname:/export/home/aa]username@hostname:/export/home/aa[/email]
错误如下:
stty: : Invalid argument
A:如果缺省shell是C shell,那么不要在.cshrc中加入stty之类对终端操作的命令。
可以在.login中加入stty erase ^H
.cshrc中不要有stty命令,也不要向终端输出信息(例如:echo Welcome.)
17)Q:
大家好,今天要修改ftp的登陆权限,应该是往/etc/ftpusers里加入不想让其ftp的用户啊。可是我根本打不开这个文件。错误如下:请大家看看是怎么回事,谢谢!
# pwd
/etc
# ls -l ftp*
total 14
-rw-r--r-- 1 root sys 1249 Sep 28 17:37 ftpaccess
-rw-r--r-- 1 root sys 551 Sep 28 17:37 ftpconversions
-rw-r--r-- 1 root sys 104 Sep 28 17:37 ftpgroups
-rw-r--r-- 1 root sys 108 Sep 28 17:37 ftphosts
-rw-r--r-- 1 root sys 114 Sep 28 17:37 ftpservers
-rw-r--r-- 1 root sys 75 Sep 28 17:37 ftpusers
# more ftpusers
ftpusers: No such file or directory
# chown root:root ftpusers
chown: ftpusers: No such file or directory
#
A:
solaris 8 /etc/ftpusers
solaris 9 /etc/ftpd/ftpusers
不好意思。没有及时告诉大家问题的最后解决情况。
我发现我的是solaris 8
居然也是在/etc/ftpd下。
奇怪了。
1 Q: 我在solaris下想设置crontab,但是当我输入命令时,屏幕上跳出下面这个东东
# crontab -e
688
使我现在都无法对crontab进行设置,请问我该如何做才能设置我的crontab啊?
A: 1. make a crontab copy
crontab -l > /tmp/crontab.user
2. make changes
vi /tmp/crontab.user
3. update cron
crontab /tmp/crontab.user
4. verify
crontab –l
?
19) Q: 服务器v880
客户机blade 2000
客户机能够通过autofs自动mount到服务器的/A目录到本地的/B目录
现在的问题是/A目录中的其中一个子目录(新创建)在客户端上无法看到,该目录相应权限都没问题,就是刚创建的。本人对autofs了解的不够多,又比较 着急,请各位解释一下这个问题的原因并提出在不改变服务器的任何设置和服务的情况下,该如何解决这个问题?最好也不重启客户机。谢谢大家!
A: 1.先退出/B目录,等上几分钟系统将umount后,再进入,就可以看见了
2.或者在客户机上退出/B目录,再automount -t 60后,再进入
你的方法一没用,方法二我没有试
我已经解决这个问题了,和nis有关,我去/var/yp/maps中将相应的“auto_A”文件中添加上新建的子目录,如下:
A -rw,hard,nointr,suid,bg server:/share/A
然后make一下就好了。看来nis和autofs有很多关联,自己还得多看看书。。。。。。
谢谢!
20) Q: SMC中系统配置下面的Project是做什么用的?
A: 1.显示系统资源类型:
# dispadmin -l
CONFIGURED CLASSES
==================
SYS (System Class)
TS (Time Sharing)
FX (Fixed Priority)
IA (Interactive)
RT (Real Time)
2. 激活FSS类型,重启:
# dispadmin -d FSS
# dispadmin -l
CONFIGURED CLASSES
==================
SYS (System Class)
TS (Time Sharing)
FX (Fixed Priority)
IA (Interactive)
RT (Real Time)
FSS (Fair Share)
# reboot
3. 激活SRM,建立处理器组:
# pooladm -e
# poolcfg -dc 'create pset pset ( uint pset.min=0; uint pset.max=2)'
# poolcfg -dc info
...
pset pset
int pset.sys_id 1
boolean pset.default false
uint pset.min 0
uint pset.max 2
string pset.units population
uint pset.load 0
uint pset.size 0
string pset.comment
...
4. 建立资源池:
# poolcfg -dc 'create pool pool'
# poolcfg -dc info
...
pool pool
int pool.sys_id 1
boolean pool.active true
boolean pool.default false
int pool.importance 1
string pool.comment
pset pset_default
...
5.关联处理器组和资源池:
# poolcfg -dc 'associate pool pool (pset pset)'
# poolcfg -dc info
...
pool pool
int pool.sys_id 1
boolean pool.active true
boolean pool.default false
int pool.importance 1
string pool.comment
pset pset
...
6.迁移CPU到处理器组:
# poolcfg -dc 'transfer to pset pset (cpu 0)'
# poolcfg -dc info
...
pset pset
int pset.sys_id 1
boolean pset.default false
uint pset.min 0
uint pset.max 2
string pset.units population
uint pset.load 0
uint pset.size 1
string pset.comment
cpu
int cpu.sys_id 0
string cpu.comment
string cpu.status on-line
...
7. 建立project, 及project所用内存限额:
# vi /etc/project
...
project:10000:test project:name::rcap.max-rss=10000
# rcapadm -E
# rcapstat
id project nproc vm rss cap at avgat pg avgpg
10000 sunbj-project 0 0K 0K 10K 0K 0K 0K 0K
10000 sunbj-project 0 0K 0K 10K 0K 0K 0K 0K
10000 sunbj-project 0 0K 0K 10K 0K 0K 0K 0K
8. 每个project可设置多个task, 如ufsdump, netscape, ftp, ...
21) Q: DNS客户端的设置
A: 俩个文件
1、/etc/resolv.conf文件
没有就vi一个新文件
记录DNS服务器的地址和域名
关键字:
domainname
nameserver
# more /etc/resolv.conf
nameserver 192.168.2.1
2、/etc/nsswitch.conf文件
记录主机名的搜索顺序等信息
vi /etc/nsswitch.conf
将这个文件的hosts记录配置成hosts: files dns
?
22) Q: 要做WEB SERVER, VIEW SERVER,APP SERVER,DB SERVER
给用户配什么sun的服务器比较合适啊?急!谢谢!
A: 一点参考,已贴过n次的:
以Sun 1.2GHz UltraSPARC IV为例:
1.2GB USIV, 双内核双线程
其中每内核:
2个浮点处理器, 理论上
1.2Ghz * 2 == 2.4Mflop/s 即2.4百万次浮点运算
实际可测试:
for (i=0; i
2. 内存:2GB-576GB,修改内存及内存数据同步时间180-440ns,
建议每CPU至少配2GB内存,每CPU实际可对应32GB内存
理论系统带宽:2.4GB/s/CPU,
实测系统带宽: 1.9GB/s/CPU,
全系统持续带宽:9.6GB/s, 2-24CPU, 43GB/s, 72CPU
3.I/O,硬盘访问时间5-70ms, 网络最大100ms延迟。
每I/O板理论带宽2.4GB/s, 实测带宽840MB/s
每I/O板2个I/O控制器
每I/O每I/O控制器理论带宽1.2GB/s,实测带宽420MB/s
其中.
硬盘:9GB-300GB/个
I/O性能:
9 GB 7200转/分,141次I/Os每秒
18 GB 10000转/分,141次I/Os每秒
36 GB 15000转/分,178次I/Os每秒, 12-20MB/s
73 GB 10000转/分,122次I/Os每秒
146GB 10000转/分,130次I/Os每秒
180GB 10000转/分, 86次I/Os每秒
1个66MHz PCI总线, 插FC光纤硬盘,1个100MB/s FCAL光纤环提供I/O实测带宽94MB/s
1个66MHz PCI总线, 插FC光纤硬盘,2个100MB/s FCAL光纤环提供I/O实测带宽186MB/s
Internet网络客户:
每个56Kbps Modem, 需网络带宽0.0056MB/s
4.应用
数据库层:
联机事务处理常用2KB I/O,文件服务常用8KB I/O, 决策支持常用64KB I/O,典型每事务处理2-200行SQL,1 SQL操作对应3-9 I/Os操作,平均每次交易对应70KB/s,
(如300万次IBM TPCC世界记录:70KB/s/交易 * 3000000交易/60秒 = 2.1GB/s I/O,大概用了64个Power5 CPU, 6000多硬盘),
1CPU 对应60GB/s I/O,2MB内存对应1数据库用户,额外需相当于5-15%总数据库的内存为数据库cache,64MB内存对应于OS,例如:
Oracle数据库常规应用,1000并发用户,大量并发小规模随即数据读写,采用2KB I/O,约需:
每8CPU对应10000用户,
I/O带宽: 2KB/s * 1000并发用户 * 5I/Os/每次交易 = 10MB/s
需硬盘数: 5I/Os/每次交易 * 1000并发用户 / 100 I/Os/硬盘 = 50硬盘
一个硬盘不够,只能用50个硬盘组成卷,
IDE因为总线所支持硬盘数少,而不予考虑,
SCSI总线最多可支持16个设备,单条总线不够,而必须在PCI总线上多插SCSI卡,带多SCSI总线,
SCSI/FC带宽40MB/s 到320MB/s, 66MHz PCI带宽,均够用,
Oracle数据库决策系统,1000并发用户,大规模连续数据读写,采用64KB I/O,
约需:
所有CPU可能被一用户程序所消耗,多配CPU,
I/O带宽:64KB/s * 1000并发用户 * 5I/Os/每次交易 = 320MB/s
IDE因为总线带宽不够及所支持硬盘数少,而不予考虑,
SCSI总线最多可支持16个设备,单条总线不够,如不用320MB/s硬盘,则而必须在PCI总线上
多插SCSI卡,带多SCSI总线,
FC带宽无论1Gb/s或2Gb/s, 均不够用,必须在PCI总线上多插FC卡,带多FC环
无论PCI,或PCI-X, 或PCI-E,带宽都够用,
1个66MHz PCI总线, 带宽足够,但可能PCI槽位由于插多SCSI/FC卡而需另加一PCI总线。
如Sun Fire 25K TPC-H世界记录, 72CPU, 实际系统带宽57GB/s,
运行Oracle10g, 5TB数据,插71 FC卡连188T2B,3000多FC硬盘,用128KB 1/O,
理论I/O带宽43GB/s 实测18GB/s
NFS文件服务应用,1MHz CPU对应1 Mbps网络, 即每千兆网1 CPU,每64NFS用户对应128MB内存,
如为轻I/O应用,每硬盘对应2并发用户,8-9硬盘每SCSI总线,每百兆网对应40用户。
中间件层:
?。。。。。。。(如何规划,需高手补充)
Sun Fire v20z 双节点集群SPECjAppServer2002世界记录,
[email=690.13TOPS@DualNode]690.13TOPS@DualNode[/email]
2x 2.2 Ghz, AMD Opteron 248双节点。
一般2-4CPU机器够了,如Sun Fire V240/V440/V490
Web层:
在线用户数对应1点击每秒,多数页面点击文件大小
另外,对于一个应用程序,无论PC,还是小型机:
因为CPU到L1 cache 时间
24) Q: 请问 Solaris 10 下如何改变分辨率?谢谢!
A: kdmconfig
修改 /etc/X11/xorg.conf 搞定
b72以后kdmconfig也不行的,因为默认x是xorg,
直接在jds里右键菜单里设置就可以
25) Q: 如何在SUN下使用串口连接交换机?用什么命令呢?
A: tip hardwire
26) Q: 现在我的两台V880 Server的网址是192.168.101.xx 网段内的,因为工作需要,与10.71.0.x网段内一些设备连接在一起,请问我如何能设置以拒绝这些设备telnet或ftp我的V880。
A: 知何时,Solaris里有了IP包过滤,NAT地址变换,PAT端口地址变换。
例如包过滤:
% cd /etc/ipf
% ls -l
总数 4
-rw-r--r-- 1 root sys 134 1月 20日 10:15 ipf.conf
-rw-r--r-- 1 root sys 413 1月 20日 10:15 pfil.ap
在ipf.conf文件中加入:
如定义IP池:
table role = ipf type = tree number = 100 { 192.168.101.0/24, 10.71.0.0/16, !245.2.2.0/24 };
如定义规则:
block in from pool/100 to any
加载:
# ippool -f /etc/ipf/ippool.conf
其它,如禁止NFS:
block in on eri0 proto tcp/udp from any to any port = 2049
?
27) Q: 我装的是solaris10,开始看到hostname命令就试了一下,把主机名改了,以为只要用这一个 命令就把主机名搞定了,后来再进图形界面的时候,提示主机名有错误不能启动,后来才知道有几个文件里都记着主机名,要改成一致的。按照启动时给出的提示要 修改3个文件/etc/src.sh /etc/hosts /usesr/adm/inetd.sec,可是除了hosts那个文件找到了,其他两个系统提示的文件,到相应的目录下根本没找到啊,不知道怎么回事, 提示有问题么?
A: 可是我找过了三个文件里我还是只有hosts一个,那两个都没有啊!!
在找hostname.hme0 的时候,那个没找到,有一个hostname.elx10,不知道是干么的,打开是空的
我刚又查了一下版本,是5.10
引用一段Solaris 8 的教材:
/etc/hostname.xxn文件
/etc/hostname.xxn文件只包含用于配置网卡的一个项目。这个文件中的主机名必须在/etc/hosts 文件中存在使得主机名在系统引导时解析为IP地址。作为选择,这个文件可以包含一个IP地址。这个文件内容的一个例子是:
# cat /etc/hostname.hme0
host1
注意 - 建立一个空的/etc/hostname6.xxn文件使得Solaris操作环境自动产生一个用于IPv6网卡的IP地址。如果在安装Solaris操作环境时允许IPv6,那么也会出现这种情况。
/etc/hosts文件
/etc/hosts文件包含至少loop-back 和主机信息。例如:
# cat /etc/hosts
# Internet host table
127.0.0.1 localhost loghost
192.168.10.25 host1
localhost和loghost都被指向loop-back地址而网卡名,host1,被指向一个不同的IP地址。
重要文件和实用程序
下面的文件和命令在Solaris 8操作环境管理中扮演了关键的角色。
/etc/n o d e n a m e文件
每个Solaris操作环境有一个标准的名称,该名称由人们在提及一个系统时使用。你可以通过编辑/etc/n o d e n a m e并重新引导系统来改变这个标准名称。下面是一个系统的/etc/n o d e n a m e文件的例子:
# cat /etc/n o d e n a m e
host1
系统的主机名和它的网卡名称不必相同而且经常不同。如果这个标准名称不与一个网卡名称匹配,那么没有多播网卡被配置。
2 Q: host1上的用户A可否rlogin,上到host2?
可以的话,上去以后是什么身份,有什么权限?
/.rhosts和/etc/hosts.equiv,以及普通用户的$HOME/.rhosts是不是等价的?
A: /.rhosts 和 /etc/hosts.equiv 只要配一个就可以了.登陆后的权限是root.
$HOME/.rhosts 指仅一该用户的权限登陆.
/.rhosts 和 /etc/hosts.equiv 只要配一个就可以了.登陆后的权限是root
/etc/hosts.equiv 对root用户无效
1. rlogin 在远程机上注册
命令格式 : rlogin hostname -l username
2. rsh 在远程机上执行一个程序
命令格式 : rsh hostname -l username order
3. rcp 在远程系统之间拷贝文件
命令格式 : rcp host:filename filename
访问鉴别相关文件
当rlogin,rsh,rcp命令时,有几个文件对网络安全是很重要的.
1. /etc/passwd
如远程系统的口令文件有本拥护的登记项,否则必须使用 [-l] 选项以指明不同用户
2. $home/.rhosts
rlogin,rsh,rcp首先检查用户主目录下的.rhosts文件,如主机及用户被列在文件中,
则此用户为可信任主机,不需口令即可登录,如远程鉴别失败,则正常询问口令
3. /etc/.hosts.equiv
作用与.rhosts 文件类似,文件中列出用户对于本机为可信任用户,
不需口令即可登录(除超级用户)
29) Q: >>>/etc/.hosts.equiv
>>>作用与.rhosts 文件类似,文件中列出用户对于本机为可信任用户,
>>>不需口令即可登录(除超级用户)
应该是/etc/hosts.equiv 吧?
还有,为什么/etc/hosts.equiv 对root无效?
A: /etc/hosts.equiv是用来定义普通用户的信任设置,对root用户无效。这是为了安全因素,操作系统就是这么设计的。缺省在/下没有.rhosts文件。
30) Q: Solaris9 下如何安装make ---新手求助
A: # gzip –dv make-3.80-intel-local.gz
# pkgadd –d make-3.80-intel-local
另外还要做环境变量设置
安装好make等常用软件后,一般make等不在用户的默认路径里(一般在/usr/local/bin下),所以为了系统能够找到make等,就需要把make等包含到用户工作路径中。
1. 超级用户的PATH设置:
在/.profile文件中添加如下内容:
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/etc:/usr/local/bin:/usr/ccs/bin
export PATH
2. 普通用户的PATH设置:
对csh用户: 写在用户主目录下的.cshrc文件中
对sh用户:写在用户主目录下的.profile文件中
增加内容如下
setenv PATH /bin:/sbin:/usr/bin:/usr/sbin:/etc:/usr/local/bin:/usr/ccs/bin
31) Q: 请问如何察看主板的bios时间和版本
A: 进入OK状态,输入“.version”
32) Q: 2台450机器,1台A1000磁盘阵列。原来在2台450机器上可以看到磁盘阵列。由于某些原因需要对A1000进行重新制作,并连接。
在重新制作的过程中,曾将其中一台的NVRAM清回到默认设置。
现在遇到的问题是:可以通过RM6,对磁盘阵列进行设置,进行raid5的制作。但是在制作完成后,重新启动系统后。在Solaris下进行用format命令,无法看到磁盘阵列。
请大家帮助.......
A: 执行/usr/platform/`uname -i`/sbin/eeprom scsi-initiator-id 看一下scsi-initiator-id 是不是冲突了?
双机scsi连阵列,通常会碰到scsi id冲突的问题。以下是一些解决办法。希望能对你有所帮助
dfault时
ok printenv scsi-initiator-id = 7
当
(A host)---scsi-->(A/D 1000)(A/D 1000)
1)install solaris on A host
2)format (测试连通性)
3) if A1000
then install raid manager on A host
4) rm6 (用rm6去配置)
2)ok probe-scsi-all
/SBUS3.0/.....
Target 6
CDROM
/SBUS2.0/...
Target 5
unit 0 .....
unit 1 .....
power off (A host && A/D1000)
3)(A/D 1000)/sbus@3,0/SUNW,fas@3,8800000
2:7 encode-int " scsi-initiator-id" property
(若有TAPE,则应也改TAPE的" scsi-initiator-id" property
3:device-end
4:install-console
5:banner (Ctrl+c)
ok nvstore
ok setenv use-nvramrc? true
ok reset-all
ok setenv diag-siwtch? Flase
33 ) Q: solaris 10 修改网络配置
A:修改了这几个文件后,重启,网络没有被更改。
hostname.interface_name
hosts
defaultrouter
netmasks
n o d e n a m e
还需要更改/etc/inet/ipnodes。
?
?
34)Q:用kdmconfig找不到相关的vmware显卡型号,不知是为什么?
A:搞定,终于见到久违的CDE环境了。还是按照南非蜘蛛的方法,我强行改了了OWconfig文件,重启一下就可以了。
# vi /etc/openwin/server/etc/OWconfig
package="RESERVED-unassigned"
class="XSCREEN" name="SFWxf86.vmware"
ddxHandler="ddxSFWxf86.vmware.so.1"
ddxInitFunc="SFWxf86Init"
AdapterManufacturer="XF86-VMWARE"
AdapterModel="VMware virtual video adapter";
class="XSCREENCONFIG" name="vmware"
device="SFWxf86.vmware"
res="800x600"
defdepth="24"
size="17-inch (43cm)"
board="xf86/vmware.xqa"
monitor="mfreq/svga.vda"
dpix="58"
dpiy="58"
desktop="800x600"
DisplayChksum="0xcd2e6ec"
hz="56"
MonitorManufacturer="Super VGA"
MonitorModel="35.5 kHz (800x600 @ 56Hz and 1024x768 Interlaced)"
dcm="Adapter";
class="XDISPLAY" name="0"
coreKeyboard="IKBD"
corePointer="ps22b"
listOfScreens="vmware";
class="XINPUT" name="ps22b"
csize="0"
emulTimeout="25"
buttons="3"
strmod="vuid2ps2"
ddxInitFunc="ddxSUNWmouseProc"
ddxHandler="ddxSUNWmouse.so.1"
dev="/dev/kdmouse"
ptrfile="ps22b3be025.ptr"
MouseManufacturer="Built-in"
MouseModel="PS/2 Mouse (2 Button+ 25ms 3 Button Emulation)"
PtrChksum="0x45cafda9";
不过还是要多谢netbee兄弟,我按照你说的把文件cp过去后,用kdmconfig就可以看见那个东东了。这个东东差不多耗我一天里头,在网络逛了n久也没有找到答案,中间不得以还重新装了一次。
35)Q:求助,网络安装solaris的方法,家有两台机器.怎么装啊!
A:安装服务器:
假定
服务器IP 10.1.1.5 u5
ClientIP 10.1.1.10 u10
1。设IP
# vi /etc/hosts
...
10.1.1.5 u5
10.1.1.10 u10
# vi /etc/ethers
8:0:20:82:45:5 u5
8:0:20:82:45:10 u10
# vi /etc/netmasks
10.0.0.0 255.255.255.0
2。共享Solaris目录:
# share -F nfs -o ro,anon=0 /cdrom
3。设置Jumpstart文件
# mkdir config
# cd /export/config
# vi sysidcfg
terminal=dtterm
timeserver=localhost
network_interface=primary { protocol_ipv6=no
netmask=255.255.255.0
default_route=10.1.1.1 }
name_service=NONE
security_policy=NONE
timezone=PRC
system_locale=zh_CN.GB18030
root_password=xUtVzDka68roc
# vi rules
hostname u10 - profile finish.sh
...
# vi profile
install_type initial_install
system_type standalone
partitioning explicit
filesys c0t0d0s0 free /
filesys c0t0d0s1 512 swap
cluster SUNWCXal
# vi finish.sh
# disable Power automatically shutdown
touch /a/noautoshutdown
# create .cshrc for root
touch /a/.cshrc
echo "set path=(/bin /usr/bin /usr/sbin /sbin /usr/ucb /etc .) " >> /a/.cshrc
# permit remote login with root id
sed 's/CONSOLE=/#CONSOLE=/' /a/etc/default/login > /tmp/login.new
mv /tmp/login.new /a/etc/default/login
# ./check
Validating rules...
Validating profile profile...
The custom JumpStart configuration is ok.
# ls
check finish.sh profile rules rules.ok sysidcfg
4。加入安装client
# ./add_install_client -c u5:/config -p u5:configu10 sun4u
making /tftpboot
enabling tftp in /etc/inetd.conf
starting rarpd
starting bootparamd
updating /etc/bootparams
copying inetboot to /tftpboot
# share -F nfs -o ro,anon=0 /cdrom
# share -F nfs -o ro,anon=0 /config
# share
- /cdrom ro,anon=0 ""
- /config ro,anon=0 ""
5。引导安装client
OK boot net – install
一个小时后自动装完重启。
>
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/25705/showart_400621.html |
|