防止用户删除主文件夹的方法

防止用户删除主文件夹的方法

我认为防止主文件夹被删除是一个非常好的主意。所以我寻找可能的方法来做到这一点。这就是我所发现的:

  1. 使用chattr +i /home/user- 即使root也不能添加/删除/重命名用户文件夹和所有直接子文件夹用户- 好和坏。
  2. 将用户目录的所有者更改为 root 并设置粘滞位。添加文件 .keep 并将其所有者也更改为 root:

    chown root:user /home/user
    chmod 1775 /home/user
    chown root /home/user/.keep 
    

    root可以删除/home/用户,用户不能。但用户可以在其目录中自由添加/删除/重命名文件

  3. 使用chattr +a /home/user- 与第一种方法相同,但用户可以添加文件。

我认为chattr +a在主目录上:chattr +a /home是最好的方法:

  1. 我们可以轻松地为其他用户创建新的主文件夹。
  2. 我们可以自由编辑文件/home/用户
  3. 我们不能一不小心sudo rm -rf /home/user

实际上问题是:这种方法有什么陷阱?

答案1

要删除目录,您需要对其父级的许可。这意味着只要用户无法写入/home,他将无法删除自己的目录。

$ chown root:root /home
$ chmod 0755 /home

$ chown user:user /home/user
$ chmod 0750 /home/user

有了这些权限,root 是唯一可以操作/home.这种设置实际上在 Linux 系统上很常见,因为它们是多用户的;但是,我见过/home属于第一个用户(通常 ID 1000)的 Ubuntu 设置。虽然 Ubuntu 的第一个用户通常是 sudoer (这意味着他可以使用 sudoer 删除所有内容),但我认为除了 root 之外,sudo给任何人都不是一个好的做法。/home

当谈到时chattr,我相信这有点矫枉过正了。您面临权限问题,不需要其他文件属性。

相关内容