如何使用gpasswd管理组

本指南介绍如何使用gpasswd命令管理组。 Linux中的每个文件和文件夹都具有用户,组和所有者权限。 通过控制谁可以访问组,您可以控制系统上的文件和文件夹会发生什么情况,而无需为每个用户设置权限。

一点关于权限

打开一个终端并在您的home文件夹中使用mkdir命令创建一个名为accounts的文件夹,如下所示:

mkdir帐户

现在运行下面的ls命令 ,它将显示您刚创建的文件夹的权限。

ls -lt

你会看到这样的东西:

drwxr-xr-x 2 yourname yourname 4096日期账户

我们感兴趣的是上面例子中的权限是“drwxr-xr-x”。 我们也对2个“yourname”值感兴趣。

我们先来谈谈权限。 “d”代表目录,并让我们知道帐户是一个目录。

其余权限分为3个部分:“rwx”,“rx”,“rx”。 3个字符的第一部分是对象拥有者的权限。 第二部分的3个字符是属于该组的任何人的权限,最后一部分是其他人拥有的权限。

“r”代表“读”,“w”代表“写”,“x”代表“执行”。

因此,在上面的示例中,所有者对帐户文件夹具有读取,写入和执行权限,而组和其他人只具有读取和执行权限。

在该示例中,第一个“yourname”是该项目的所有者,第二个“yourname”是accounts文件夹的主要组。

为使本指南更加实用,请使用以下adduser命令为系统添加更多帐户:

sudo adduser tim sudo adduser tom

系统会要求您为每个人设置一个密码并输入其他信息。 您只需输入密码即可离开,并通过其余字段返回。

现在您有3个帐户运行以下命令来更改帐户文件夹的所有者。

sudo chown tom账户

现在再次运行ls命令。

ls -lt

现在,权限将如下所示:

drwxr-xr-x tom你的名字

您将能够使用cd命令导航到accounts文件夹,如下所示:

cd帐户

现在尝试使用以下命令创建一个文件:

触摸测试

您将收到以下错误:

触摸:不能触摸'测试':权限被拒绝

原因是Tom是所有者,拥有读取,写入和执行权限,但您只是组的一部分,并且您只拥有组权限。

通过输入以下命令,导航回主文件夹并更改帐户权限:

cd .. sudo chmod 750账户

现在再次运行ls命令:

ls -lt

帐户文件夹的权限现在将如下所示:

drwxr-X ---

这意味着所有者拥有完整的权限,具有组“yourname”的用户将拥有读取和执行权限,而其他人将没有权限。

试试看。 导航到accounts文件夹并再次运行touch命令:

cd帐户触摸测试

您仍然有权导航到该文件夹​​,但没有创建文件的权限。 如果您只是普通用户,则甚至无法进入帐户文件夹。

要尝试切换到用户Tim并导航到accounts文件夹,如下所示:

su - tim cd / home / yourname / accounts

您将获得权限被拒绝的错误。

那么为什么要使用组权限而不是为所有用户设置单独的权限? 如果您有一个应该都可以访问某些电子表格和文档的帐户部门,但是公司中没有其他人应该为该帐户中的所有人员设置权限,则可以将该文件夹的权限设置为称为帐户的组,然后将用户添加到组中。

为什么这比设置个人用户权限更好? 如果用户离开部门,您可以将其从组中移除,而不是在一系列文件夹上制定权限。

如何创建一个组

您可以使用以下命令来创建一个组:

sudo addgroup帐户

如何将用户添加到组中

sudo gpasswd - 用户名帐户

以上命令可用于将单个用户添加到帐户组。

要将用户列表添加为组的成员,请运行以下命令:

sudo gpassword -M yourname,tom,tim账户

当用户被添加到帐户时,用户可以通过运行以下命令将该组添加到他们的辅助组列表中:

newgrp帐户

任何不属于该组的用户都将被要求输入组密码。

如何更改文件夹的主要组

既然我们有一个用户组,您可以使用以下chgrp命令将该组分配给accounts文件夹:

sudo chgrp帐户帐户

第一个帐户是该组的名称,第二个帐户是该文件夹的名称。

如何检查用户是否属于一个组

您可以通过运行以下命令来检查用户是否属于某个组:

这将返回用户所属组的列表。

如何更改组密码

要更改组密码,您可以运行以下命令:

sudo gpasswd

您将被要求输入该组的密码并重复。

现在,您可以按上面指定的方式将用户添加到组中,或者只需运行以下命令并提供正确的密码,新用户即可加入该组:

使用newgrp

显然,你不想给任何人提供组密码,所以最好自己将用户添加到组中。

如何限制团体只限于特定成员

如果你不想让刚才知道密码的人加入一个组,你可以运行以下命令:

sudo gpasswd -R

设置用户为管理员

您可以将用户设置为组的管理员。 这允许用户添加和删除特定组中的用户以及更改密码

为此,运行以下命令:

sudo gpasswd - 汤姆账户

如何删除组密码

您可以使用以下命令从组中删除密码:

sudo gpasswd -r帐户

如何从组中删除用户

要从组中删除用户,请运行以下命令:

sudo gpassword -d tom账户

如何在文件或文件夹上授予组读取,写入和执行权限

到目前为止,账户组中的用户可以访问账户文件夹,但他们可以真正做任何事情,因为他们只具有读取和执行权限。

要为组提供写入权限,您可以运行以下命令:

sudo chmod g + w帐户

概要

本指南引入了一些命令来帮助您在Linux系统上设置权限。 您还可以使用useradd命令设置用户和组用户。