Elr*_*Der 5 root permissions chmod files
如果我输入:
ls -l file.txt
Run Code Online (Sandbox Code Playgroud)
我看到该文件的权限相当于“456”:
在这种情况下,root的权限是什么?有777吗?
是否可以更改权限,以便 root 的权限少于所有者的权限?
我会检查这个页面。它深入讨论了文件权限。
但要直接回答你的问题,不:
超级用户“root”可以访问系统上的任何文件。
例如,在您的示例中,如果文件归 say 所有bob
并且组所有者也是bob
,那么您会看到如下内容:
-r--r-xrw-. 1 bob bob 8 Jan 29 18:39 test.file
Run Code Online (Sandbox Code Playgroud)
第 3 位组 (rw) 也适用于 root,因为 root 是others
组的一部分。如果您尝试以 root 身份编辑该文件,您会发现这样做没有问题。
但是为了进一步测试您的理论,如果文件归 root 所有:
-r--r-xrw-. 1 root root 8 Jan 29 18:40 test.file
Run Code Online (Sandbox Code Playgroud)
你再次去编辑文件,你会看到编辑它仍然没有问题。
最后,如果你做了极端:
chmod 000 test.file
ls -lh test.file
----------. 1 root root 8 Jan 29 18:41 test.file
Run Code Online (Sandbox Code Playgroud)
然后你又去编辑你会看到的文件(至少在 vi/vim 中)"test.file" [readonly]
。但是您仍然可以编辑文件并使用:wq!
.
使用 shell 脚本文件测试 @Stéphane Chazelas 声明:
#!/bin/sh
echo "I'm alive! Thanks root!"
Run Code Online (Sandbox Code Playgroud)
[root ~]# ls -lh test.sh
----------. 1 atgadmin atgadmin 31 Jan 30 10:59 test.sh
[root ~]# ./test.sh
-bash: ./test.sh: Permission denied
[root ~]# sh test.sh
I'm alive! Thanks root!
Run Code Online (Sandbox Code Playgroud)
@Shadur 已经说过了,所以我只是引用而不是重申它:
注意:检查执行位是否存在,而不是它是否适用于 root。
根据设计,Root 可以完全访问系统上的每个文件。如果您想保护文件免遭意外删除,您可以使用
chattr +i file
Run Code Online (Sandbox Code Playgroud)
这将在 GNU/Linux 上设置不可变标志。您可以使用-i
而不是删除它+i
。
在 FreeBSD 上,您可以使用
chflags schg file
Run Code Online (Sandbox Code Playgroud)
替换noschg
为schg
撤消它。
如果您希望保护文件不被 root 看到,您应该将文件存储在不同的系统上,或者将加密作为最后的手段。
另见:https : //superuser.com/questions/104015/removing-write-permission-does-not-prevent-root-from-writing-to-the-file
归档时间: |
|
查看次数: |
13940 次 |
最近记录: |