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. (1)opengl-nehe 4种框架

    http://www.yakergong.net/nehe/ 这个网站还是opengl方面比较权威的,作者叫nehe 这东西估计是要先装个ndk,然后才能运行代码 先睡觉! 以下内容参考自http:/ ...

  2. hdu1715

    http://acm.hdu.edu.cn/showproblem.php?pid=1715 模板大数: #include <stdio.h> #include <string.h& ...

  3. Eclipse调试Java的十个技巧

      先提三点 不要使用System.out.println()作为调试工具 启用所有组件的详细的日志记录级别 使用一个日志分析器来阅读日志   1.条件断点 想象一下我们平时如何添加断点,通常的做法是 ...

  4. VC高手们的博客

    http://www.cnblogs.com/killmyday/tag/Debug/ (关于符号调试等内容比较多)

  5. FMX的综合评价

    Cliff: 我个人觉得FMX值得学,因为可以做Mac软件,可以做Windows下的DirectUI,可以开发iOS/Android,而且是可视化开发,可利用RTL一切函数,包括可使用所有非可视控件. ...

  6. Clearing Floats清除浮动--clearfix的不同方法的使用概述

    清除浮动早已是一个前端开发人员必学的一课.毫无疑问,多年来,我们已经接触过多种清除浮动的方法,现在“clearfix methods”越来越被大家熟知.在深入剖析“clearfix”的多种用法之前,我 ...

  7. Bridging signals---hdu1950(最长上升子序列复杂度n*log(n) )

     题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1950 一直只知道有除n*n的算法之外的求LIS,但是没学过,也没见过,今天终于学了一下,dp[i]表 ...

  8. Java:IO流之字符流Reader、Writer详解

    java.io包中:字符流   字符流的两个抽象基类:   Reader         Writer   文件的读取:Reader抽象类(java.io包中) 直接子类的构造方法: FileRead ...

  9. iOS:授权用户定位NSLocationManager的使用

    请求用户批准定位: 在iOS8,要想获得用户的位置,必须经过用户批准授权 开发者可以在Info.plist中添加两个配置项 –NSLocationAlwaysUsageDescription –NSL ...

  10. Linux内核通杀提权漏洞CVE-2016-5195 - 内核升级方法

    如题,对于脏牛(Dirty COW)漏洞的修复方式已经在上篇文章中有介绍过如何验证,这里对如何升级内核给出修复建议. (注意:为避免不必要的生产风险的发生,请审核自己的实际环境而决定采用什么方法进行升 ...