例如:我有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”也可以工作。