基本上,我希望新用户只有几个权限——不能读取普通用户的主目录,只能读取或写入文件到一个目录(只能读取或写入/home/user/
......不能读取或写入/home/me/
或read or write /home/someoneelse/
。这是运行 Windows 网络的学校和大学的常见设置。在 Ubuntu 中似乎应该很简单。
基本上,我希望新用户只有几个权限——不能读取普通用户的主目录,只能读取或写入文件到一个目录(只能读取或写入/home/user/
......不能读取或写入/home/me/
或read or write /home/someoneelse/
。这是运行 Windows 网络的学校和大学的常见设置。在 Ubuntu 中似乎应该很简单。
我对其他操作系统的“来宾用户权限”一无所知,但对于 Ubuntu,您可以创建具有您喜欢的任何权限的用户。另一方面,存在可以从已经启动的会话中访问的“来宾会话”。两者都在这里描述。
除了授予您创建的新用户的权限之外,我建议您从您这边设置您的主目录访问权限(在某种意义上,以积极的方式;通过为您的目录本身设置规则;不要依赖于来宾用户的“特权较少”的情况。)为此,请转到 /home,右键单击您要设置的主目录,转到属性,转到权限并根据需要设置它们。这也可以通过命令行来完成。
在 ubuntu 中,任何人都可以读取大多数文件,并且文件只能由所有者写入/更改。
所以默认情况下写权限是可以的。如果要更改读取权限:请执行以下操作:
假设您有一个文件 \home\user\file.txt,它具有正常权限。如果你执行
你会看到类似的东西
这表示:
默认组是只有“用户”作为成员的组。因此,您只需要更改其他任何人的 r 权限,请执行以下操作:
如果你现在执行
你应该看到
所以最后一个'r'被删除。您可以在命令中使用通配符,例如
将更改所有以“f”开头的文件。如果你想在一个完整的目录上使用它,包括所有的子目录,你需要添加'-R'(递归)参数:
将从完整的 /home/user 目录中删除每个不是所有者或组中的用户的读取权限。
我不建议更改系统目录,但如果这样做,则需要在命令前添加“sudo”。系统目录中没有重要信息,因此使它们不可写就足够了。
最终答案:
您可以使用umask将文件权限设置为仅允许文件所有者自动访问其文件。
您还可以使用扩展属性。
而且我想应该可以使用 SELinux 或 AppArmor 等技术保护访客会话。