Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.71 KB | None | 0 0
  1. Linux最优秀的地方之一就在于他的多用户多任务环境。而为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变的很重要了。
  2.  
  3. Linux一般将文件可存取的身份分为三个类别,分别是 owner/group/others,且三种身份各有 read/write/execute 等权限.
  4.  
  5.  
  6. ## Linux 文件权限概念
  7.  
  8. 使用 ls 查看一个文件时,会显示一个文件的信息
  9.  
  10. ```bash
  11. jiaqi➜ shamu-hrs-gateway : master ✔ : ᐅ ls -al
  12. 总用量 92
  13. drwxr-xr-x 7 jiaqi jiaqi 4096 9月 27 14:43 .
  14. drwxr-xr-x 8 jiaqi jiaqi 4096 7月 29 10:29 ..
  15. drwxr-xr-x 2 jiaqi jiaqi 4096 5月 27 15:42 bin
  16. -rw-r--r-- 1 jiaqi jiaqi 271 5月 27 15:42 docker-compose.yml
  17. -rw-r--r-- 1 jiaqi jiaqi 23527 9月 18 17:45 gateway.iml
  18. drwxr-xr-x 8 jiaqi jiaqi 4096 9月 27 16:49 .git
  19. -rw-r--r-- 1 jiaqi jiaqi 423 5月 27 15:42 .gitignore
  20. drwxr-xr-x 3 jiaqi jiaqi 4096 5月 27 15:42 .mvn
  21. -rwxr-xr-x 1 jiaqi jiaqi 9113 5月 27 15:42 mvnw
  22. -rw-r--r-- 1 jiaqi jiaqi 5810 5月 27 15:42 mvnw.cmd
  23. -rw-r--r-- 1 jiaqi jiaqi 5864 9月 18 17:43 pom.xml
  24. -rw-r--r-- 1 jiaqi jiaqi 2477 9月 6 09:11 README.md
  25. drwxr-xr-x 4 jiaqi jiaqi 4096 5月 27 15:42 src
  26. drwxr-xr-x 7 jiaqi jiaqi 4096 9月 27 14:43 target
  27. ```
  28.  
  29. 每一条信息都有 7 个 字段, 其意义如下:
  30. ```
  31. [ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ] [ 7 ]
  32. [ 权限 ][链接][拥有者][群组][文件大小][ 修改日期 ] [ 文件名 ]
  33. ```
  34.  
  35. 1. 第一个字段代表这个文件的类型与权限(permission):
  36.  
  37. + 第一个字符代表这个文件是“目录、文件或链接文件等等”:
  38. - 当为[ d ]则是目录,例如上表文件名为“.config”的那一行;
  39. - 当为[ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”那一行;
  40. - 若是[ l ]则表示为链接文件(link file);
  41. - 若是[ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);
  42. - 若是[ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备)。
  43. + 接下来的字符中,以三个为一组,且均为“rwx” 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
  44.  
  45. - 第一组为“文件拥有者可具备的权限”,以“initial-setup-ks.cfg”那个文件为例, 该文件的拥有者可以读写,但不可执行;
  46. - 第二组为“加入此群组之帐号的权限”;
  47. - 第三组为“非本人且没有加入本群组之其他帐号的权限”
  48.  
  49. 同时注意到,rwx所在的位置是不会改变的,有该权限就会显示字符,没有该权限就变成减号(-)就是了。
  50.  
  51.  
  52.  
  53. 2. 第二字段表示有多少文件名链接到此节点(i-node):
  54. 每个文件都会将他的权限与属性记录到文件系统的i-node中,不过,我们使用的目录树却是使用文件名来记录, 因此每个文件名就会链接到一个i-node啰!这个属性记录的,就是有多少不同的文件名链接到相同的一个i-node号码去就是了。
  55. 3. 第三字段表示这个文件(或目录)的“拥有者帐号”
  56. 4. 第四字段表示这个文件的所属群组
  57. 5. 第五字段为这个文件的容量大小,默认单位为Bytes;
  58. 6. 第六字段为这个文件的创建日期或者是最近的修改日期:
  59. 7. 第七字段为这个文件的文件名
  60.  
  61.  
  62. ### 如何改变文件属性与权限
  63.  
  64. - chgrp :改变文件所属群组
  65. - chown :改变文件拥有者
  66. - chmod :改变文件的权限, SUID, SGID, SBIT等等的特性
  67.  
  68.  
  69. 可以将一组权限用数字来表示,此时一组权限的 3 个位当做二进制数字的位,从左到右每个位的权值为 4、2、1,即每个权限对应的数字权值为 r : 4、w : 2、x : 1。
  70.  
  71. ```bash
  72. # chmod [-R] xyz dirname/filename
  73. ```
  74.  
  75. 示例:将 .bashrc 文件的权限修改为 -rwxr-xr--。
  76. ```bash
  77. # chmod 754 .bashrc
  78. ```
  79.  
  80. 也可以使用符号来设定权限。
  81. ```bash
  82. # chmod [ugoa] [+-=] [rwx] dirname/filename
  83. - u:拥有者
  84. - g:所属群组
  85. - o:其他人
  86. - a:所有人
  87. - +:添加权限
  88. - -:移除权限
  89. - =:设定权限
  90. ```
  91.  
  92. 示例:为 .bashrc 文件的所有用户添加写权限。
  93. ```bash
  94. # chmod a+w .bashrc
  95. ```
  96.  
  97. ### 目录与文件之权限意义
  98.  
  99.  
  100. | 类型 | 内容 | 叠代物件 | r | w | x |
  101. | - | - | - | - | - | - |
  102. | 文件 | 详细数据data | 文件数据夹 | 读到文件内容 | 修改文件内容 | 执行文件内容 |
  103. | 目录 | 文件名 | 可分类抽屉 | 读到文件名 | 修改文件名 | 进入该目录的权限(key) |
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement