如何在Linux上更改GID (linux 更改gid)

在Linux系统中,每个用户都有唯一的用户ID(UID)和用户组ID(GID)。GID是用来标识用户所属的组,一个组可以包括一到多个用户。当你创建一个新用户时,默认会创建一个新的用户组,并将该用户加入到该用户组中。但是有时候,你可能需要将一个用户从原本的组中移动到另一个组中,或者更改一个组的GID。本篇文章将教你如何在Linux系统中更改GID。

1. 查看用户组和GID

你需要查看当前系统上存在的所有用户组以及它们的GID。你可以通过/etc/group文件来查看。打开终端,输入以下命令:

“`

sudo nano /etc/group

“`

这将打开一个nano文本编辑器,其中包含/etc/group文件的内容。该文件的每一行都代表一个用户组。每个字段由冒号分隔,分别表示组名、密码、GID以及成员列表。你只需要关注组名和GID两个字段。你可以使用上下箭头键来滚动浏览文件。

如果你只想查看特定的用户组,可以使用grep过滤器。例如,如果你要查看sudo组的信息,可以输入以下命令:

“`

grep “sudo” /etc/group

“`

这将仅显示sudo组的信息,包括组名、密码、GID和成员列表。

2. 更改组的GID

要更改一个组的GID,你需要先将该组从所有用户中移除,然后更改GID,最后将该组重新添加到用户中。这里以更改sudo组的GID为例。

你需要从所有用户中将sudo组移除。输入以下命令:

“`

sudo delgroup sudo

“`

这将将sudo组从所有用户中删除。

接下来,你需要更改该组的GID。通常情况下,你不需要手动选择一个新的唯一GID。你可以使用gid命令来将GID设置为下一个可用的数字。「gid」命令在passwd包中提供。

“`

sudo apt-get install passwd

sudo gid -v sudo

“`

这将输出sudo的新GID。现在,你需要编辑/etc/group文件,将sudo组的GID更改为刚刚输出的新GID。输入以下命令:

“`

sudo nano /etc/group

“`

找到sudo组的行,将其中的GID更改为刚刚输出的新GID。然后保存并关闭文件。

将sudo组添加回所有用户中:

“`

sudo addgroup –gid 新的GID sudo

“`

这将重新创建sudo组并将其添加到所有用户中。

3. 将用户移到新组中

如果你要将一个用户从原本的组中移动到新的组中,输入以下命令。

“`

sudo usermod -g 新组名 用户名

“`

这将将该用户移动到新的组中。

4. 重新登录并验证GID更改

你需要注销并重新登录用户,以便其新的组和GID生效。重新登录后,你可以使用id命令来验证GID是否已更改。输入以下命令:

“`

id 用户名

“`

这将输出包括UID、GID和其他信息的用户详细信息。确保GID已更改为你所期望的值。

结论

这就是在Linux系统中更改GID的方法。虽然在大多数情况下,你不需要更改GID,但有时候需要更改它。重要的是,记得注销并重新登录用户,以便GID更改生效。

相关问题拓展阅读:

Linux用户权限管理命令

Linux系统中的用户是分角色的,用户的角色是由UID和GID来识别的(也就是说系统是识别的是用户的UID、GID,而非用户用户名),一个UID是唯一(系统中唯一如同身份证一样)用来标识系统的用户账号(用户名)。

文件的用户与用户组分为超级管理员,普通用户和系统用户。

1)超级管理员纯烂的UID=0,GID=0,也可以这么说系统只要是识别出某个用户的UID\GID都为0时,那么这个用户系统就认为是超级管理员。

2)普做蚂漏通用户(管理员添加的),默认它的UID\GID是从,权限很小,只能操作自己的家目录中文件及子目录(注:nobody它的UID\GID是65534)。

3)系统用户,也称虚拟用户,也就是安装系统时就默认物弊存在的且不可登陆系统,它们的UID\GID是1-499。

我们可以通过cat /etc/passwd命令来查看所有的用户信息,例如下图,第三列是UID,第四列是GID:

创建用户

useradd user1 创建用户user1

useradd -e 12/30/2023 user2 创建用户user2,有效期到

设置用户密码

passwd user1 设置密码,有设置密码的用户不能用

这里设置密码时可能会碰到密码保护机制问题,这里需要注释掉保护机制的问题

这个时候需要在编辑/etc/pam.d/system-auth文件,将其中的password requisite

和password sufficient两行注释掉,如下图:

创建用户组

groupadd –g 888 users 创建一个组users,其GID为888

groupadd users 不用g参数,使用默认的组ID

命令 gpasswd为组添加用户

只有root和组管理员能够改变组的成员:

gpasswd –a user1 users 把 user1加入users组

gpasswd –d user1 users 把 user1退出users组

命令groupmod修改组

groupmod –n user2 user1 修改组名user1为user2

groupdel删除组

groupdel users 删除组users

真正从安全性角度上来考虑的话,是要控制用户一定执行命令的权限,也就是哪些用户可以执行哪些命令,不可以执行哪些命令,因此也就有了sudo这个应用,对于sudo提权,也就是修改/etc/sudoers的配置文件。

关于linux 更改gid的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 如何在Linux上更改GID (linux 更改gid)