如何使用相当于Windows来宾用户的权限创建新用户?

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

我对其他操作系统的“访客用户权限”一无所知,但对于Ubuntu,您可以使用您喜欢的任何权限创建用户。 另一方面,存在可以从已经开始的会话访问的“访客会话”。 两者都在这里描述。

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

在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 =组“组”的读取权限
  • r =其他任何人的读取权限。

默认组是仅具有“user”作为成员的组。 因此,您只需要为其他人更改r权限,请执行以下操作:

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

如果你现在执行

 ls -l file.txt 

你应该看到

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

所以最后的’r’被删除了。 您可以在命令中使用通配符

 chmod or f* 

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

 chmod or -R /home/user 

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

我不建议更改系统目录,但如果这样做,则需要在命令之前添加“sudo”。 系统目录中没有重要信息,因此让它们不可写是足够的。

最终答案:

 sudo chmod or -R /home/* 

您可以使用umask ,以便将文件权限设置为仅允许文件所有者自动访问其文件。

您还可以使用扩展属性 。

我想应该可以使用SELinux或AppArmor等技术来保护访客会话。