在 Linux 中创建安全目录

在 Linux 中创建安全目录

如何在 Linux 中使用普通用户创建具有此类权限的目录。并且该目录也不应该使用 root 用户删除??? 是否有可能创建它,如果可以,请帮助我做到这一点。

谢谢 Vijay

答案1

无法创建一个无法被 root 删除的文件夹。根本不可能。

根是极好的用户。

这是使用 的一个技巧chattr。但请记住,每个根也可以删除此属性。所以这并不安全。请参阅http://jesin.tk/make-undeletable-files-and-directories-linux/

答案2

你没有提到你使用的是什么语言,但你应该看看 -m(--mode)选项建立目录如果你在 shell 中。或者看看umask()在许多语言中都公开的功能。

Timo 是正确的,但是您无法保护目录免受 root 用户的访问。

答案3

确实,root 可以删除文件系统中的任何文件。不过,解决这个问题的一个技巧是在正在运行的进程中创建一个文件,打开该文件的文件句柄,然后删除该文件。这样,root 就无法访问该文件,因为它不存在于文件系统中。但是,只要有任何进程打开该文件,Linux 就会保留该文件 - 您仍然可以读取和写入它。因此,它本质上是一个对 root 安全的不可见文件。

一个很好的例子是,不太了解情况的系统管理员以 root 身份删除 apache 日志文件以释放磁盘空间。这些文件已从文件系统中删除,但 apache 将继续写入这些现在不可见的文件,直到有人重新启动服务器或使用“service httpd restart”重新启动 apache。只有这样才能恢复磁盘空间。

答案4

这在标准硬盘上是不可能的。根据定义,root 用户可以访问系统未被硬件阻止的每个方面。您可以尝试使用 chmod 设置其权限 000,并使用 chattr 拒绝删除,作为权宜之计。root 用户仍然可以更改权限,甚至可以绕过文件系统直接访问驱动器。

要做的另一件事是将目录粘贴到具有写锁的驱动器上,然后设置写锁。

相关内容