如何创建具有与 Windows 来宾用户同等权限的新用户?

如何创建具有与 Windows 来宾用户同等权限的新用户?

基本上,我希望新用户只有少数权限 - 无法读取普通用户的主目录,只能读取或写入一个目录中的文件(只能读取或写入/home/user/...不能读取或写入/home/me/或读取或写入/home/someoneelse/。这是运行 Windows 网络的学校和大学的常见设置。在 Ubuntu 中似乎应该很简单。

答案1

我对其他操作系统的“来宾用户权限”一无所知,但对于 Ubuntu,您可以创建具有任何权限的用户。另一方面,存在一个“来宾会话”,可以从已启动的会话中访问。两者都有描述这里

除了您授予您创建的新用户的权限之外,我建议您从您这边设置主目录访问权限(在某种意义上,以一种积极的方式;通过为您的目录本身设置规则;不要依赖于来宾用户的“较低权限”情况。)为此,请转到 /home,右键单击您要设置的主目录,转到属性,转到权限并根据需要进行设置。这也可以通过命令行完成。

答案2

在 ubuntu 中,大多数文件可以被任何人读取,但文件只能由所有者写入/更改。

因此默认情况下写入权限是可以的。如果要更改读取权限:请执行以下操作:

假设你有一个文件 \home\user\file.txt,它具有正常权限。如果你执行

 cd /home/user
 ls -l file.txt

你会看到类似

 -rw-r--r-- 1 user group  45655 2010-01-16 17:21 file.txt

这意味着:

  • rw = 用户“user”的读写权限,
  • r = 组“group”的读取权限
  • r = 任何其他人的读取权限。

默认组是只有“用户”作为成员的组。因此,您只需更改其他任何人的 r 权限,操作如下:

 cd /home/user
 chmod o-r file.txt
  • chmod = 更改修饰符,更改权限
  • o = 所有其他人(不是用户,也不在组中)
  • -r = 删除读取权限

如果你现在执行

ls -l file.txt

你应该看到

-rw-r----- 1 user group  45655 2010-01-16 17:21 file.txt

因此最后一个 'r' 被删除。您可以在命令中使用通配符,例如

chmod o-r f*

将更改所有以“f”开头的文件。如果要在完整目录(包括所有子目录)上使用它,则需要添加“-R”(递归)参数:

chmod o-r -R /home/user

将从整个 /home/user 目录中删除每个非所有者或非组的用户的读取权限。

我不建议更改系统目录,但如果你这样做,你需要在命令前添加“sudo”。系统目录中没有重要信息,因此将其设为不可写就足够了。

最终答案:

sudo chmod o-r -R /home/*

答案3

您可以使用umask这样文件权限就设置为只允许文件所有者自动访问他们的文件。

您还可以使用扩展属性

而且我猜应该也可以使用 SELinux 或 AppArmor 之类的技术来保护访客会话。

相关内容