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