zoukankan      html  css  js  c++  java
  • 关于$ORACLE_HOME/bin/oracle文件属性

    平台:ORACLE LINUX5.6 + ORACLE11gR2

    数据库连接失败
    [oracle@njdyw bin]$ !sql
    sqlplus "/as sysdba"

    SQL*Plus: Release 11.2.0.2.0 Production on 星期二 11月 29 10:56:40 2011

    Copyright (c) 1982, 2010, Oracle. All rights reserved.

    已连接。
    SQL> startup
    ORA-01012: not logged on
    SQL> conn system/oracle
    ERROR:
    ORA-27140: attach to post/wait facility failed
    ORA-27300: OS system dependent operation:invalid_egid failed with status: 1
    ORA-27301: OS failure message: Operation not permitted
    ORA-27302: failure occurred at: skgpwinit6
    ORA-27303: additional information: startup egid = 54324 (asmadmin), current
    egid = 54321 (oinstall)


    警告: 您不再连接到 ORACLE。
    SQL>

    查看oracle文件权限,出现异常
    [oracle@njdyw bin]$ ll $ORACLE_HOME/bin/oracle
    -rwxr-x--x 1 oracle asmadmin 228943067 06-03 13:52 oracle

    更改oracle文件权限
    [oracle@njdyw bin]$ chmod 6751 $ORACLE_HOME/bin/oracle
    [oracle@njdyw bin]$ ll oracle
    -rwsr-s--x 1 oracle asmadmin 228943067 06-03 13:52 oracle

    登录正常
    [oracle@njdyw bin]$ !sql
    sqlplus "/as sysdba"
    SQL*Plus: Release 11.2.0.2.0 Production on 星期二 11月 29 10:55:23 2011
    Copyright (c) 1982, 2010, Oracle. All rights reserved.

    连接到:
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    With the Partitioning, Automatic Storage Management, OLAP, Data Mining
    and Real Application Testing options

    SQL>conn system/oracle
    已连接

    总结:

    在安装仅oracle software之后,
    $ORACLE_HOME/bin/oracle文件属性权限为751(-rwxr-x--x)

    在用安装ASM建库(DBCA)时,此文件属性会自动被修改为6751(-rwsr-s--x)

    关于上面两个权限区别如下:

    linux的chmod命令使用详解
    使用方式 : chmod [-cfvR] [--help] [--version] mode file...
    说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。
    把计 :
    mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
    + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
    -c : 若该档案权限确实已经更改,才显示其更改动作
    -f : 若该档案权限无法被更改也不要显示错误讯息
    -v : 显示权限变更的详细资料
    -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
    --help : 显示辅助说明
    --version : 显示版本
    范例 :将档案 file1.txt 设为所有人皆可读取 :
    chmod ugo+r file1.txt
    将档案 file1.txt 设为所有人皆可读取 :
    chmod a+r file1.txt
    将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
    chmod ug+w,o-w file1.txt file2.txt
    将 ex1.py 设定为只有该档案拥有者可以执行 :
    chmod u+x ex1.py
    将目前目录下的所有档案与子目录皆设为任何人可读取 :
    chmod -R a+r *
    此外chmod也可以用数字来表示权限如 chmod 777 file
    语法为:chmod abc file
    其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
    r=4,w=2,x=1
    若要rwx属性则4+2+1=7;
    若要rw-属性则4+2=6;
    若要r-x属性则4+1=7。
    范例:
    chmod a=rwx file

    chmod 777 file
    效果相同
    chmod ug=rwx,o=x file

    chmod 771 file
    效果相同
    若用chmod 4755 filename可使此程式具有root的权限
    指令名称 : chown
    使用权限 : root
    使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...
    说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
    把计 :
    user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本
    范例 :
    将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
    chown jessie:users file1.txt
    将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
    chmod -R lamport:users *
    -rw------- (600) -- 只有属主有读写权限。
    -rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。
    -rwx------ (700) -- 只有属主有读、写、执行权限。
    -rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
    -rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
    -rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。
    -rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。
    以下是对目录的两个普通设定:

    drwx------ (700) - 只有属主可在目录中读、写。
    drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容
    suid的代表数字是4,比如4755的结果是-rwsr-xr-x
    sgid的代表数字是2,比如6755的结果是-rwsr-sr-x
    sticky位代表数字是1,比如7755的结果是-rwsr-sr-t
    ---------------------------------------------------------------------


    设置suid/guid的作用:

    suid意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权限。于是,如果根用户的某一个脚本设置了这样的权限,那么其他普通用户在执行它的期间也同样具有根用户的权限。同样的原则也适用于guid,执行相应脚本的用户将具有该文件所属用户组中用户的权限。

    为什么要使用suid/guid
    为什么要使用这种类型的脚本?这里有一个很好的例子。我管理着几个大型的数据库系统,而对它们进行备份需要有系统管理权限。我写了几个脚本,并设置了它们的guid,这样我指定的一些用户只要执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份登录,以免不小心破坏了数据库服务器。通过执行这些脚本,他们可以完成数据库备份及其他管理任务,但是在这些脚本运行结束之后,他们就又回复到他们作为普通用户的权限。有相当一些UNIX命令也设置了suid和guid。如果想找出这些命令,可以进入/bin或/sbin目录,执行下面的命令:
    $ ls -l | grep '^...s'
    上面的命令是用来查找suid文件的;
    $ ls -l | grep '^...s..s'
    上面的命令是用来查找suid和guid的。

    现在我们明白了什么是suid,可是如何设置它呢?下面就来介绍这个问题。如果希望设置suid,那么就将相应的权限位之前的那一位设置为4;如果希望设置guid,那么就将相应的权限位之前的那一位设置为2;如果希望两者都置位,那么将相应的权限位之前的那一位设置为4+2。

    一旦设置了这一位,一个s将出现在x的位置上。记住:在设置suid或guid的同时,相应的执行权限位必须要被设置。例如,如果希望设置guid,那么必须要让该用户组具有执行权限。
    如果想要对文件login设置suid,它当前所具有的权限为rwx rw- r-- (741),需要在使用chmod命令时在该权限数字的前面加上一个4,即chmod 4741,这将使该文件的权限变为rws rw- r--。
    $ chmod 4741 logit

    设置suid/guid的例子
    chmod 4755 rws r-x r- x 文文件被设置了suid,文件属主具有读、写和执行的权限,所有其
    他用户具有读和执行的权限
    chmod 6711 rws --s --s 文文件被设置了suid和guid,文件属主具有读、写和执行的权限,
    所有其他用户具有执行的权限
    chmod 4764 rws rw- r- - 文文件被设置了suid,文件属主具有读、写和执行的权限,同组用
    户具有读和执行的权限,其他用户具有读权限

    还可以使用符号方式来设置suid/guid。如果某个文件具有这样的权限: rwx r-x r- x,那么
    可以这样设置其suid:
    chmod u+s <filename>
    于是该文件的权限将变为: rws r-x r-x

  • 相关阅读:
    ini_set /ini_get函数功能-----PHP
    【转】那个什么都懂的家伙
    word 2007为不同页插入不同页眉页脚
    August 26th 2017 Week 34th Saturday
    【2017-11-08】Linux与openCV:opencv版本查看及库文件位置等
    August 25th 2017 Week 34th Friday
    August 24th 2017 Week 34th Thursday
    August 23rd 2017 Week 34th Wednesday
    August 22nd 2017 Week 34th Tuesday
    August 21st 2017 Week 34th Monday
  • 原文地址:https://www.cnblogs.com/andy6/p/6028053.html
Copyright © 2011-2022 走看看