在Linux的文件权限管理中,有5种权限,分别是,r、w、x、s、t。
- 可读权限:r 4
- 可写权限:w 2
- 可执行权限:x 1
- Setuid:s(Set User ID)冒险位 4
- Setgid:s(Set Group ID)强制位 2
- 粘滞位:t (Set Stick ID ) 粘滞位 1
- root可以做任何事,所以000表示只有root可以读写这个文件。理论上,如果其它文件权限也是000,但所有者不是root的话,那么所有者和root都可以读写这个文件。
权限 | 权限类型 | 作用 | 使用情景 | 权限标识符 | 数字标识 | 赋值语句 |
读取权限 | 普通权限 | 指定该权限的目标(可以读取该文件) | r | 4 | chmod [u|g|o] [+-] r | |
写权限 | 普通权限 | 指定该权限的目标(可以修改该文件) | w | 2 | chmod [u|g|o] [+-] w | |
执行权限 | 普通权限 | 要进入一个目录必须要拥有x权限,可执行文件需要用户x权限才能运行 | x | 1 | chmod [u|g|o] [+-] x | |
属主冒险位(SUID) | 属主特殊权限 | 置冒险位后,其他有权执行该文件的用户会临时得到属主身份运行该文件 | s|S (x不存在就会被设置位大S,否则是小s) | 4 | chmod u [+-] s | |
属组强制位(SGID) | 属组特殊权限 | 设置了强制位的文件夹,任何人在该文件夹下创建文件,属组默认都会继承自该文件夹 | s|S (x不存在就会被设置位大S,否则是小s) | 2 | chmod g [+-] s | |
其他组粘滞位(Sticky) | 其他组特殊权限 | 设置了粘滞位的公共目录,目录下的某一个文件,只有该文件的属主和root能删除该文件 | t | 1 | chmod o [+-] t |
linux是如何解决用什么引擎来解析一个的文件的?
例如把一个example.txt 增加x权限 chmod a+x example.txt
需要考虑清楚是否有必要把用户的主目录的权限设置为777
[wrong@rancher-5 home]$ pwd
/home
[wrong@rancher-5 home]$ ll
total 4
drwx------. 8 rancher rancher 4096 Aug 13 2020 rancher
drwx------ 2 test_user_1 test_user_1 62 May 1 12:34 test_user_1
drwx------ 2 test_user_2 test_user_2 62 May 1 12:34 test_user_2
drwx------ 2 test_user_5 test_user_5 62 May 1 12:36 test_user_5
drwx------ 2 test_user_6 test_user_6 62 May 1 12:36 test_user_6
drwx------ 2 test_user_7 test_user_7 62 May 1 12:36 test_user_7
drwx------ 2 test_user_8 test_user_8 62 May 1 12:37 test_user_8
drwx------ 2 test_user_9 test_user_9 62 May 1 12:37 test_user_9
drwx--S--- 5 wrong wrong 119 May 3 17:31 wrong
drwxrwxrwx 3 wrong_1 wrong 111 May 3 17:35 wrong_1
[wrong@rancher-5 home]$ cd wrong_1
[wrong@rancher-5 wrong_1]$ touch ccc.txt
[wrong@rancher-5 wrong_1]$ ll
total 0
-rw-rw-r-- 1 wrong wrong 0 May 3 17:35 bb.txt
-rw-rw-r-- 1 wrong wrong 0 May 3 17:36 ccc.txt
drwxrwxr-x 2 wrong wrong 6 May 3 17:35 test_2
[wrong@rancher-5 wrong_1]$
文本与脚本之间的权限是否有绑定和依赖关系?
例如用户rancher的home目录下(home目录的权限位700)下有一java应用portal,portal产生的日志权限是664,现有测试管理员test_007想看该日志(只具备查看权限),该如何处理?
方案一:是否可以把该文件创建一个超链接到test_007的目录下,
方案二:启用文件的acl权限
方案三:通过shell脚本都读取找个日志文件,然后把shell脚本放到一个公共目录,然后把test_007和rancher加入到一个特殊组里