linux - Ubuntu 中用户组信息存储在哪里以及如何存储?

标签 linux unix ubuntu etcpasswd

镜像问题:https://unix.stackexchange.com/questions/217300/where-how-is-user-group-information-stored-in-ubuntu 。 (得到答案后我会删除其中之一)


可能有两个地方:/etc/group/etc/passwd .

如果我使用命令:adduser [用户名] [组名],那么用户将被添加到组中,并且文件/etc/group将是已更新。

但是,文件 /etc/passwd 未更新。如果我通过groups命令检查我属于哪个组,我只能看到passwd文件中声明的组。因此,用户不会添加到基于组的组中这个结果。


我很困惑。

  1. 分别将组信息写入 /etc/passwd/etc/group 有何含义?
  2. 为什么adduser只更新group文件?
  3. 如何通过命令将组添加到passwd文件中?
  4. 为什么 groupspasswd 文件返回组信息,而不是从 group 文件返回组信息?

谢谢。

最佳答案

  1. 在这些传统的文本文件(还有其他方式,例如 LDAP)中,您的主要组转到 /etc/passwd(例如,用于您的文件的权限)创建),所有其他组都转到 /etc/group
  2. 参见 1。
  3. 这是不可能的,但您可以使用 usermod -g更改主要组
  4. 这是一种误解,groups 显示所有组。但是只有当您开始新 session (新登录)时才会选择新组。您可以使用 newgrp 命令,以给定组名称作为您的主要组(您必须是该组的成员)启动 session - 作为副作用,它将查阅用户数据库并更新您的群组列表。

关于linux - Ubuntu 中用户组信息存储在哪里以及如何存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31530362/

相关文章:

c - 在 Unix 内核中发现的 C 语言的匿名结构

android - 在 Ubuntu 上的 Netbeans 和 Eclips 中生成 R 文件时出错

r - Shiny 的服务器发生错误加载命名空间没有包rcpp但安装了rcpp并在R作品中加载 Shiny

linux - 在 LAMP 中创建新文件或目录?

linux - 为什么 UnZip 提取最后一个串联的 ZIP?

linux - ldapsearch 获取特定 AD 组中的用户 (samAccountName) 列表

c - kprintf 打印出正楷

python - python/pythonpath 路径问题

c - 在 gtk 中,如何切换到具有新按钮和其他小部件的新屏幕,但在同一窗口中?

PHP Mailer 在 Linux 中发送电子邮件太慢