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<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
ce0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> 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