cap.go 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /*
  2. Copyright 2015 The Kubernetes Authors.
  3. Licensed under the Apache License, Version 2.0 (the "License");
  4. you may not use this file except in compliance with the License.
  5. You may obtain a copy of the License at
  6. http://www.apache.org/licenses/LICENSE-2.0
  7. Unless required by applicable law or agreed to in writing, software
  8. distributed under the License is distributed on an "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. See the License for the specific language governing permissions and
  11. limitations under the License.
  12. */
  13. package rkt
  14. // TODO(yifan): Export this to higher level package.
  15. const (
  16. CAP_CHOWN = iota
  17. CAP_DAC_OVERRIDE
  18. CAP_DAC_READ_SEARCH
  19. CAP_FOWNER
  20. CAP_FSETID
  21. CAP_KILL
  22. CAP_SETGID
  23. CAP_SETUID
  24. CAP_SETPCAP
  25. CAP_LINUX_IMMUTABLE
  26. CAP_NET_BIND_SERVICE
  27. CAP_NET_BROADCAST
  28. CAP_NET_ADMIN
  29. CAP_NET_RAW
  30. CAP_IPC_LOCK
  31. CAP_IPC_OWNER
  32. CAP_SYS_MODULE
  33. CAP_SYS_RAWIO
  34. CAP_SYS_CHROOT
  35. CAP_SYS_PTRACE
  36. CAP_SYS_PACCT
  37. CAP_SYS_ADMIN
  38. CAP_SYS_BOOT
  39. CAP_SYS_NICE
  40. CAP_SYS_RESOURCE
  41. CAP_SYS_TIME
  42. CAP_SYS_TTY_CONFIG
  43. CAP_MKNOD
  44. CAP_LEASE
  45. CAP_AUDIT_WRITE
  46. CAP_AUDIT_CONTROL
  47. CAP_SETFCAP
  48. CAP_MAC_OVERRIDE
  49. CAP_MAC_ADMIN
  50. CAP_SYSLOG
  51. CAP_WAKE_ALARM
  52. CAP_BLOCK_SUSPEND
  53. CAP_AUDIT_READ
  54. )
  55. // TODO(yifan): Export this to higher level package.
  56. var capabilityList = map[int]string{
  57. CAP_CHOWN: "CAP_CHOWN",
  58. CAP_DAC_OVERRIDE: "CAP_DAC_OVERRIDE",
  59. CAP_DAC_READ_SEARCH: "CAP_DAC_READ_SEARCH",
  60. CAP_FOWNER: "CAP_FOWNER",
  61. CAP_FSETID: "CAP_FSETID",
  62. CAP_KILL: "CAP_KILL",
  63. CAP_SETGID: "CAP_SETGID",
  64. CAP_SETUID: "CAP_SETUID",
  65. CAP_SETPCAP: "CAP_SETPCAP",
  66. CAP_LINUX_IMMUTABLE: "CAP_LINUX_IMMUTABLE",
  67. CAP_NET_BIND_SERVICE: "CAP_NET_BIND_SERVICE",
  68. CAP_NET_BROADCAST: "CAP_NET_BROADCAST",
  69. CAP_NET_ADMIN: "CAP_NET_ADMIN",
  70. CAP_NET_RAW: "CAP_NET_RAW",
  71. CAP_IPC_LOCK: "CAP_IPC_LOCK",
  72. CAP_IPC_OWNER: "CAP_IPC_OWNER",
  73. CAP_SYS_MODULE: "CAP_SYS_MODULE",
  74. CAP_SYS_RAWIO: "CAP_SYS_RAWIO",
  75. CAP_SYS_CHROOT: "CAP_SYS_CHROOT",
  76. CAP_SYS_PTRACE: "CAP_SYS_PTRACE",
  77. CAP_SYS_PACCT: "CAP_SYS_PACCT",
  78. CAP_SYS_ADMIN: "CAP_SYS_ADMIN",
  79. CAP_SYS_BOOT: "CAP_SYS_BOOT",
  80. CAP_SYS_NICE: "CAP_SYS_NICE",
  81. CAP_SYS_RESOURCE: "CAP_SYS_RESOURCE",
  82. CAP_SYS_TIME: "CAP_SYS_TIME",
  83. CAP_SYS_TTY_CONFIG: "CAP_SYS_TTY_CONFIG",
  84. CAP_MKNOD: "CAP_MKNOD",
  85. CAP_LEASE: "CAP_LEASE",
  86. CAP_AUDIT_WRITE: "CAP_AUDIT_WRITE",
  87. CAP_AUDIT_CONTROL: "CAP_AUDIT_CONTROL",
  88. CAP_SETFCAP: "CAP_SETFCAP",
  89. CAP_MAC_OVERRIDE: "CAP_MAC_OVERRIDE",
  90. CAP_MAC_ADMIN: "CAP_MAC_ADMIN",
  91. CAP_SYSLOG: "CAP_SYSLOG",
  92. CAP_WAKE_ALARM: "CAP_WAKE_ALARM",
  93. CAP_BLOCK_SUSPEND: "CAP_BLOCK_SUSPEND",
  94. CAP_AUDIT_READ: "CAP_AUDIT_READ",
  95. }
  96. // allCapabilities returns the capability list with all capabilities.
  97. func allCapabilities() []string {
  98. var capabilities []string
  99. for _, cap := range capabilityList {
  100. capabilities = append(capabilities, cap)
  101. }
  102. return capabilities
  103. }