2009-6-10  10:43:58  Lee  BABY BLUE  数据库不能登录,按道理在prestat用户下面直接可以sqlplus wisgrpt/wisgrpt登录的啊

2009-6-10  10:46:27  BABY BLUE  Lee  prestat和oracle用户的属组一致吗

2009-6-10  10:46:47  Lee  BABY BLUE  不完全一致啊

2009-6-10  10:47:12  Lee  BABY BLUE  但是oracle那边的几个文件都是777的呢

2009-6-10  10:47:27  BABY BLUE  Lee  倒 很有可能就是你的777出了问题

2009-6-10  10:47:46  Lee  BABY BLUE  ?

2009-6-10  10:47:47  BABY BLUE  Lee  你看别的机器上可以登的 /opt/oracle/product/11g/db1/bin/oracle 这个文件的权限是什么

2009-6-10  10:48:17  BABY BLUE  Lee  因为有一些权限是可以继承的 有s S这样的标识的,777没有这样的功能

2009-6-10  10:49:59  Lee  BABY BLUE  -rwsr-s–x 1 oracle oinstall 195893005 2009-03-17 17:54 oracle*

-rwxrwxrwx 1 oracle dba 195893005 2009-06-05 18:10 oracle*

2009-6-10  10:50:05  Lee  BABY BLUE  上面的那个是好的

2009-6-10  10:50:11  Lee  BABY BLUE  下面的那个是有问题的

2009-6-10  10:50:27  BABY BLUE  Lee  你改一下吧

2009-6-10  10:50:41  Lee  BABY BLUE  改成什么啊?

2009-6-10  10:50:50  BABY BLUE  Lee  改成这个权限啊 -rwsr-s–x,chmod 6751

见过几次别人使用chmod 777,有时候还喜欢带一个“- R”,认为这样万事大吉。于是手起手落,所有用户都具备对该文件(或目录)的rwx权限了,岂不快哉?

而即便撇开安全方面的考虑,chmod 777也不是万能的。

Unix中有一些文件(虽然为数不多),设置了suid或sgid权限,以一个s/S标识出现用user权限或group权限三元组的第三位。典型的文件如/usr/bin/passwd。

[host1:panyh:/home/panyh] ls -l /usr/bin/passwd

-r-sr-xr-x   1 root     security      27484 Feb 12 2007  /usr/bin/passwd

可以看到该文件设置了suid权限,这样普通用户执行passwd命令时可以代表root用户(文件所有者),继承root用户的权限执行,而达到修改/etc/passwd文件的目的。

sgid权限类似,对于设置了sgid权限的文件,文件执行者可以代表文件属组的用户执行。

而小s和大S(可不是那对台湾姐妹)区别如下:

[host1:panyh:/home/panyh] touch per.1

[host1:panyh:/home/panyh] ls -l per.1

-rw-r–r–   1 panyh  dba               0 Jun 10 21:08 per.1

[host1:panyh:/home/panyh] chmod u+s per.1

[host1:panyh:/home/panyh] ls -l per.1

-rwSr–r–   1 panyh  dba               0 Jun 10 21:08 per.1

[host1:panyh:/home/panyh] chmod u+x per.1

[host1:panyh:/home/panyh] ls -l per.1

-rwsr–r–   1 panyh  dba               0 Jun 10 21:08 per.1

如果s覆盖了x权限,标识为s,如果并不覆盖x权限,标识为S。

而对于$ORACLE_HOME/bin目录下的文件,有如下具有特殊权限的文件(不同版本可能存在差异)

-rwsr-xr-x   1 oraprod  dba        15357574 Jul 31 2008  oidldapd

-rwsr-s–x   1 oraprod  dba        75886157 Jul 31 2008  oracle

-rwsr-s–x   1 oraprod  dba        75886157 Jul 31 2008  oracleO

请注意保持这些文件正确的权限设置,否则很有可能出现DBA组下的用户不能以操作系统认证方式登录的情况,出现ORA-12547/ORA-27140等错误。

总之记住了,chmod 777,没那么好用。