che*_*ero 2 filesystem permissions
Ubuntu 20.04,磁盘分区格式为EXT4。具有 sudo 权限的普通用户,位于 tmp 目录中,例如:~/tmp/
$ sudo touch c.txt
// this will create a root-root(user-group) file with mode 644, as expected.
$ rm c.txt
$ rm: remove write-protected regular empty file `c.txt'? // sys prompt
if I selected 'y', then c.txt will be removed ! // NOT as expected.
Run Code Online (Sandbox Code Playgroud)
我什至尝试过 rm 非空文件,仍然可以删除!
我尝试了两台电脑,都安装了 Ubutnu 20.04,结果一样。
为什么普通用户无需 sudo 即可删除根文件?
谢谢!
Ps:检查 https://help.ubuntu.com/community/FilePermissions上的文档后 ,是的,普通用户可以删除完全受控目录(rwx=7)中的任何文件,无论文件所有者、模式如何。但是,它似乎不适用于修改操作。例如:
// TC2
sudo vim d.txt // this will create a root-root(user-group) with 644 mode
vim d.txt
// edit by normal user, use w! to save in vim,
// after exit vim, the file content changed and the user-group
// chagned to current user group, not root-root anymore.
Run Code Online (Sandbox Code Playgroud)
这正如预料的那样吗?
要从目录中删除文件,您只需拥有目录本身的权限即可,与该文件的权限无关。在您的情况下,普通用户对包含文件的目录拥有完全权限。您可以将其更改为不可变以防止删除它:sudo chattr +i file
或者:
sudo chmod ow /目录路径
| 归档时间: |
|
| 查看次数: |
1435 次 |
| 最近记录: |