Oracle RAC 集群中,对于各种资源的管理,也存在所有者与权限的问题。crs_getperm与crs_setperm则是这样的一对命令,主要用于查看与修改集群中resource的owner,group以及权限等,下面通过具体的演示来获得其使用方法。

  1. 1、查看当前集群中的资源
  2. #下面的查询可知,当前集群环境中存在两个service
  3. oracle@bo2dbp:~> crs_stat -ls | grep srv
  4. ora....O4A.srv oracle         oinstall                 rwxrwxr--
  5. ora....0g1.srv oracle         oinstall                 rwxrwxr--
  6. #获得service的全称
  7. oracle@bo2dbp:~> crs_stat -p | grep srv
  8. NAME=ora.GOBO4.GOBO4_SRV.GOBO4A.srv
  9. NAME=ora.ora10g.hr_ora10g.ora10g1.srv
  10. DESCRIPTION=ora.ora10g.hr_ora10g.ora10g1.srv
  11. #下面通过crs_getperm获得资源的所有者即权限
  12. oracle@bo2dbp:~> crs_getperm ora.ora10g.hr_ora10g.ora10g1.srv
  13. Name: ora.ora10g.hr_ora10g.ora10g1.srv
  14. owner:oracle:rwx,pgrp:oinstall:rwx,other::r--,
  15. #上面owner即为所有者,pgrp表示所有者,other则为其他用户,每个后面跟的都是其对应的权限
  16. 2、crs_getperm与crs_setperm的用法
  17. oracle@bo2dbp:~> crs_getperm -h
  18. Usage: crs_getperm resource_name [-u user|-g group] [-q]
  19. #crs_getperm用法较为简单,后面接资源名,可选的为用户或组
  20. oracle@bo2dbp:~> crs_setperm -h  #此命令稍微较crs_getperm复杂
  21. Usage: crs_setperm resource_name -u aclstring [-q]
  22. crs_setperm resource_name -x aclstring [-q]
  23. crs_setperm resource_name -o user_name [-q]
  24. crs_setperm resource_name -g group_name [-q]
  25. -u  Update the acl string
  26. -x  Delete the acl string
  27. -o  Change the owner of the resource
  28. -g  Change the primary group of the resource
  29. aclstring is one of the following:
  30. user:<username>:rwx
  31. group:<groupname>:r-x   #当心这里的group用法,如果直接使用group修改权限会收到错误提示
  32. other::r--
  33. 3、演示使用crs_setperm
  34. oracle@bo2dbp:~> su
  35. Password:
  36. #下面分别修改资源hr_ora10g的资源所有者和所属组,将其全部改为roo权限
  37. bo2dbp:/users/oracle # crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -o root
  38. bo2dbp:/users/oracle # crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -g root
  39. #查看修改之后,该资源的属主与属组已经发生变化
  40. bo2dbp:/users/oracle # crs_getperm ora.ora10g.hr_ora10g.ora10g1.srv
  41. Name: ora.ora10g.hr_ora10g.ora10g1.srv
  42. owner:root:rwx,pgrp:root:rwx,other::r--,
  43. #修改属组的权限,将其改为读,执行
  44. bo2dbp:/users/oracle # crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u pgrp:root:r-x
  45. bo2dbp:/users/oracle # crs_getperm ora.ora10g.hr_ora10g.ora10g1.srv
  46. Name: ora.ora10g.hr_ora10g.ora10g1.srv
  47. owner:root:rwx,pgrp:root:r-x,other::r--,
  48. #使用同样的方式将其修改回去。
  49. bo2dbp:/users/oracle # crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -o oracle
  50. bo2dbp:/users/oracle # crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -g oinstall
  51. bo2dbp:/users/oracle # crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u pgrp:oinstall:rwx
  52. bo2dbp:/users/oracle # crs_getperm ora.ora10g.hr_ora10g.ora10g1.srv
  53. Name: ora.ora10g.hr_ora10g.ora10g1.srv
  54. owner:oracle:rwx,pgrp:oinstall:rwx,other::r--,
  55. bo2dbp:/users/oracle # su - oracle
  56. #所有者的权限不允许修改
  57. oracle@bo2dbp:~> crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u owner:oracle:r-x
  58. CRS-0248:  Acl operation failed
  59. oracle@bo2dbp:~> crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u owner:oracle:rw-
  60. CRS-0248:  Acl operation failed
  61. oracle@bo2dbp:~> crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u owner:oracle:-wx
  62. CRS-0248:  Acl operation failed
  63. #组权限可以修改
  64. oracle@bo2dbp:~> crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u pgrp:oinstall:r-x
  65. oracle@bo2dbp:~> crs_getperm ora.ora10g.hr_ora10g.ora10g1.srv
  66. Name: ora.ora10g.hr_ora10g.ora10g1.srv
  67. owner:oracle:rwx,pgrp:oinstall:r-x,other::r--,
  68. #other也可以修改
  69. oracle@bo2dbp:~> crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u other::rwx
  70. oracle@bo2dbp:~> crs_getperm ora.ora10g.hr_ora10g.ora10g1.srv
  71. Name: ora.ora10g.hr_ora10g.ora10g1.srv
  72. owner:oracle:rwx,pgrp:oinstall:r-x,other::rwx,
  73. #Author: Robinson
  74. #Blog: http://blog.csdn.net/robinson_0612
  75. #根据下面的查看结果可知,已经发生了变化,建议将其改为最初的状态
  76. oracle@bo2dbp:~> crs_stat -ls |grep srv
  77. ora....O4A.srv oracle         oinstall                 rwxrwxr--
  78. ora....0g1.srv oracle         oinstall                 rwxr-xrwx
  79. 转:http://blog.csdn.net/leshami/article/details/8219242

使用crs_setperm修改RAC资源的所有者及权限的更多相关文章

  1. Linux下批量修改文件及文件夹所有者及权限

    Linux下批量修改文件及文件夹所有者及权限需要使用到两个命令,chmod以及chown 例:对/opt/Oracle/目录下的所有文件与子目录执行相同的权限变更: chmod -R 700 /opt ...

  2. Ubuntu下如何修改文件或者文件夹的权限

    Ubuntu下如何修改文件或者文件夹的权限------chmod的亲身测试   具体原理如下: Linux系统下如何修改文档及文件夹(含子文件夹)权限,我们来看一下.              一 介 ...

  3. 【ARM-Linux开发】Linux下更改目录下所有文件的所有者及其权限

    [ARM-Linux开发]Linux下更改目录下所有文件的所有者及其权限 chown 更换所有者: chmod 改变权限: 想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,要使用参 ...

  4. C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限

    C#修改文件或文件夹的权限,为指定用户.用户组添加完全控制权限 public void SetFileRole(string foldPath) { DirectorySecurity fsec = ...

  5. windows环境vagrant修改静态资源文件,centos虚拟机中nginx的web环境下不生效

    最近上手krpano,本地修改了krpano.html文件或者xml文件,在虚拟机环境打开文件是修改过来了,在nginx中就是不生效. 修改nginx.conf中http{}中的 sendfile  ...

  6. idea 修改静态资源不需要重启的办法

    快捷键Ctrl + Alt + S打开设置面板,勾选Build project automatically选项: 快捷键Ctrl + Shift + A查找registry命令: 在查找到的regis ...

  7. Spring Boot 修改静态资源一定要重启项目才会生效吗?未必!

    回顾热部署 Spring Boot 中的热部署相信大家都用过吧,只需要添加 spring-boot-devtools 依赖就可以轻松实现热部署.Spring Boot 中热部署最最关键的原理就是两个不 ...

  8. laravel7 H-ui模板ajax修改(资源路由)

    1:列表首页设置点击事件,并将id传至后台,查询数据 <td class="f-14"><a title="编辑" href="ja ...

  9. java修改文件所有者及其权限

    1.设置所有者 管理文件所有者 Files.getOwner()和Files.setOwner()方法 要使用UserPrincipal来管理文件的所有者 (1)更改文件的所有者 import jav ...

随机推荐

  1. 传说中的WCF(8):玩转消息协定

    Message翻译成中文,相信各位不陌生,是啊,就是消息,在WCF中也有消息这玩意儿,不知道你怎么去理解它.反正俺的理解,就像我们互发短信一个道理,通讯的双方就是服务器与客户端,说白了吧,就是二者之间 ...

  2. Good Bye 2014 D. New Year Santa Network 图论+期望

    D. New Year Santa Network   New Year is coming in Tree World! In this world, as the name implies, th ...

  3. 不容错过的iOS 8的导航交互

    你曾注意过Safari移动客户端里美轮美奂的导航栏缩放效果么,以及那些tab bar是如何消失的吗? 在iOS 8中,苹果让这种类型的交互变得非常容易,虽然在WWDC上演示了缩放导航栏效果,不过后来他 ...

  4. TPaintBox的前世今生

    TPaintBox是一个图形控件,继承于TGraphicControl,并且只有聊聊几个函数和属性,主要就是Canvas和Paint函数,都在这里了: TPaintBox = class(TGraph ...

  5. Struts2笔记——struts常用标签

    使用struts标签前,首先要配置struts2架构,然后导入标签库,jsp插入如下语句: <%@taglib uri="/struts-tags" prefix=" ...

  6. 从WeUI学习到的知识点

    WeUI是微信Web服务开发的UI套件, 目前包含12个模块 (Button, Cell, Toast, Dialog, Progress, Msg, Article, ActionSheet, Ic ...

  7. java post 请求

    新公司的分词为post调用方式,以前还没用过post,这次上网查了下,比较简单,但还是写篇博客记录下,代码为网上找的,非原创. package com.chuntent.tool; import ja ...

  8. 【USACO】【section1.1】Your Ride Is Here

    以前的账号忘记了,只能从头了. 入门题不解释,就是sumg和sumc初始值置1不能置0.开始享用一个循环计算出sumg和sumc,其实两个数组最大程度为6,节省不了什么时间. /*ID:Moment1 ...

  9. AbsListView.OnScrollListener 使用注意事项

    这个类没什么特别的,但是使用的时候我确出错了 abstract void onScroll(AbsListView view, int firstVisibleItem, int visibleIte ...

  10. ISO 8601

    ISO 8601 國際標準化組織的国际标准ISO 8601是日期和时间的表示方法,全称为<数据存储和交换形式·信息交换·日期和时间的表示方法>.目前是第三版ISO8601:2004以替代第 ...