如何设置权限以使用户无法删除其主目录?

如何设置权限以使用户无法删除其主目录?

例如:我有kuan/lap1

我希望用户能够读取、写入和删除文件夹内的内容,kuan但不能删除文件夹kuan。只有 root 才能删除该文件夹。

答案1

就像 @steeldriver 所说的那样,用户不应该能够删除他们的主目录,因为/home它归root。我已经在我的 Ubuntu 机器上测试了这一点,以确认逻辑成立 :D

编辑:好的,这是一个例子:

# As root
mkdir outerDir # The wrapper dir
mkdir outerDir/innerDir # The directory you want the user to have access to, but not delete
chown youruser:youruser outerDir/innerDir # Change ownership to your user

由于/home已经由 root 拥有,因此youruser应该能够在其中创建和编辑文件等/home/youruser,但不能删除/home/youruser自身

您还需要注意权限。您的外部目录或/home应该可供所有用户读取,但只能由 写入root,而内部目录或/home/youruser应该可供您的用户读取和写入,但不能由任何其他用户读取和写入。以下是 的示例chmod

# As root
chmod 755 outerDir # Make the outer directory readable by all
chmod 700 outerDir/innerDir # Make the inner directory only accesible to the user who owns it

我给出的数字是按照用户、组和其他的顺序排列的。7表示该文件可读、可写、可执行。 表示5该文件可读可写,0表示无访问权限,所以755表示该文件只有拥有该文件的用户可读、可写、可执行,拥有该文件的组和其他所有人都可读可执行;700表示该文件只有拥有该文件的用户可读、可写、可执行,其他任何人都不能。如果您想了解更多有关 的信息chmod,请尝试,这只是谷歌搜索“chmod”的第一个结果

答案2

如果您希望每个用户都有一个私有的 /home 目录,但不能访问其他用户的 /home 目录,请执行“chmod 700 $HOME”,但这必须由每个用户的主目录执行。另一种方法是使用 sudo 帐户执行此操作,或者您可以在提示为 root 设置密码后执行“sudo passwd root”以启用 root,切换到 root 帐户“su”输入 root 密码,然后您可以从 root chmod 每个用户的主目录,根据每个人的权限和需求。此外,“chmod 700 directoryname”也可以工作。

相关内容