您可以使用 chfn 修改用户数据(例如电话、房间),但如何才能显示组织数据呢?

您可以使用 chfn 修改用户数据(例如电话、房间),但如何才能显示组织数据呢?

编辑:@steeldriver 提供了我认为的答案。我想我找到了为什么我没有得到我想要的输出的原因。当我创建用户时,我输入了全名、房间号、工作电话、家庭电话和其他。但我忽略了一条错误消息。即使缺少组织信息(即@muru 让我知道的 GECOS 信息),用户似乎已成功创建。错误消息如下:

chfn: fields too long
adduser: `/bin/chfn user_that_i_created' returned error code 1. Exiting.

编辑结束。

抱歉问这个问题,我确实尝试自己寻找答案,但似乎无法通过向 Google 提出正确的问题来找到我需要的答案。

/etc/passwd好的,我们都知道如何使用和或其他命令来查找从技术角度来看有趣的用户数据grep。但这不是我想要的。

创建用户时,系统会要求您提供房间、工作电话和其他组织数据。您可以使用 更改这些数据chfn。但您如何输出这些数据?我猜它一定在某个文件中?我可以这样做cat [file where organisational user data is stored]来查看电话号码、房间号等吗?我如何显示这些信息?

答案1

in代表fnchfnF乌尔n名字,信息存储在密码数据库的全名字段中 - 或者man 5 passwd称为

·   user name or comment field

(通常也被称为GECOS 字段)因此您可以使用getent

$ getent passwd testuser
testuser:x:1001:1001:John Doe,101,234-555-1224,689-555-3785:/home/testuser:/bin/sh

如果您使用本地帐户管理(而不是某种分布式管理,如 NIS 或 LDAP),数据将以纯文本形式存储在文件中/etc/passwd,并且可以直接使用catless使用各种文本处理工具进行访问。

$ awk -F: -v user=testuser '$1 == user {print $5}' /etc/passwd
John Doe,101,234-555-1224,689-555-3785

您还可以使用该finger命令以人类可读的格式访问它:

$ finger -l testuser
Login: testuser                         Name: John Doe
Directory: /home/testuser               Shell: /bin/sh
Office: 101, 234-555-1224               Home Phone: 689-555-3785
Last login Thu Jul  8 14:41 (EDT) on pts/2 from 192.168.1.4
No mail.
No Plan.

相关内容