本指南介绍如何使用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命令设置用户和组用户。