为什么在 Linux/Unix 中创建组?

为什么在 Linux/Unix 中创建组?

我试图理解linux命令,但是linux的一些命令在我的脑海中飞过,其中之一是,为什么在linux中创建组,其目的是什么?

答案1

请记住,Unix 本质上是多用户系统。考虑到这一点,诸如大学学生和教师之间共享的系统之类的东西很可能有助于将用户划分为不同的组。您可以在系统上设置使用限制,并且您可能希望学生的限制比教职员工的限制更严格。您还可能有一个单独的计算集群,只有那些真正需要它(并且知道如何使用它)的人(可能是另一个群体)才能访问它。 (我假设这里有一个共享的用户数据库,但是当您拥有多个系统时,这几乎是必需的。)

至于文件权限,您可能拥有某个项目的目录和有权访问该目录的组,以便他们可以修改文件(适当的umask设置和setgid目录位有助于此处)。

在所有员工中,只有一小部分人被允许获得系统的超级用户访问权限。一种方法是使用文件权限仅允许特定组(通常rootwheel)的成员运行susudo在当前的 Linux 上更为常见,但它也配置为使用组来确定谁可以做什么。


当然,现在使用串行终端/telnet/SSH 登录的多用户系统已不再常见。但是,如果您的系统运行任何可由系统外部的其他人使用的服务,则将它们分区很有用用户帐户他们自己的。然后可以使用组来允许用户之间的有限访问。例如,crontab它是一个 setgid 二进制文件,并使用组权限来访问crontab文件,并且您可以拥有一个www-data允许修改 HTTP 服务器的数据文件的组。 (或者反过来,可以授予用户文件读取权限,以便www-dataHTTP 服务器可以读取它们。)

答案2

groups 将帮助分配权限,如 sudo group(将具有 root 访问权限)

因此,每当您想为任何用户分配某些角色的权限时,只需根据您的要求添加到任何组中

相关内容