Pan*_*dya 6 permissions command-line rm chmod
假设在桌面上dir1创建了一个目录sudo。
sudo mkdir dir1
Run Code Online (Sandbox Code Playgroud)
然后我申请chown并chmod如下:
sudo chown root:root dir1
sudo chmod go-rwx dir1
Run Code Online (Sandbox Code Playgroud)
现在dir1只能由 owner 访问root。
$ ls -ld dir1
drwx------ 2 root root 4096 Jul 29 19:21 dir1
Run Code Online (Sandbox Code Playgroud)
如果用户 ( $USER= pandya) 尝试dir1使用GUI nautilus (没有sudo)删除,那么他不能,这没关系。

但是,如果尝试使用终端删除,那么他可以这样做,这是不行的:-
rm -r(没有sudo):
$ rm -r dir1
rm: descend into write-protected directory ‘dir1’? Y
rm: remove write-protected directory ‘dir1’? Y
$
Run Code Online (Sandbox Code Playgroud)而且更容易搭配rmdir!(没有sudo):
$ rmdir dir1
$
Run Code Online (Sandbox Code Playgroud)因此,如何防止dir1被用户删除sudo?
[可选]
我的最终目标是:只有所有者才能删除目录、组和其他只能读取/执行。
说什么类堆在他的回答是正确的,但它并没有解决你的问题。为了防止拥有父目录(/home/pandya在您的情况下)的所有权限的用户删除目录,您必须使用该chattr命令。
下面是一个例子:
$ sudo mkdir dir1
$ sudo chattr +i dir1
$ rmdir dir1
rmdir: failed to remove ‘dir1’: Operation not permitted
$ rm -r dir1
rm: remove write-protected directory ‘dir1’? y
rm: cannot remove ‘dir1’: Operation not permitted
$ chattr -i dir1
chattr: Permission denied while setting flags on dir1
Run Code Online (Sandbox Code Playgroud)
在鹦鹉螺中:

请阅读man chattr以获取更多信息。