linux下如何用chfn和usermod修改用户数据

用户帐户不仅仅是用户名。了解如何从命令行设置和更改与Linux用户帐户关联的所有元数据。...

用户帐户不仅仅是用户名。了解如何从命令行设置和更改与Linux用户帐户关联的所有元数据。

名字里有什么?

如果您使用的是Linux或类似Unix的计算机,您将拥有一个用户帐户。指定给帐户的名称是您的用户帐户名。这是用于登录的名称。它也是(默认情况下)登录组的名称和主目录的名称。它们都使用相同的标识符。

可以为每个用户帐户存储另一组信息。例如,可以定义并附加真实世界的数据,如人员的全名、办公室号码和工作电话号码。实际上,完全任意的信息片段可以标记到用户帐户。

在实际操作中,这将对系统管理员更有用,因为系统管理员负责管理配置了许多用户帐户的计算机。但是,即使对于单用户Linux计算机,了解引擎盖下的情况也总是很有趣的。

gecos领域

曾经,Unix的先驱们没有自己的打印机。他们不得不将打印工作转移到运行通用电气综合操作系统(GECOS)的通用电气主机上。为此,Unix系统上的用户需要在GECOS系统上存储和使用帐户的凭据。

创建GECOS字段是为了存储这些凭据。这种特殊的需求早已成为历史,GECOS字段被重新设计用来存储与用户帐户所有者相关的其他数据。它可能有一份新工作,但它保留了原来的名字。它仍然被称为GECOS场。

该字段与有关用户帐户的其他信息一起存储在/etc/passwd文件中:

  • 帐户用户名。
  • 用户ID。
  • 组ID。
  • 用户帐户的主目录路径。
  • 用户登录时启动的shell。

这是finger命令和pinky命令检索它们显示的信息的地方。

相关:如何在Linux上使用finger命令

chfn命令

chfn(更改手指信息)允许您设置和更改GECOS字段中存储的信息。信息以逗号分隔的列表形式存储在字段中。

chfn命令已经出现在ubuntu18.04.1和manjaro18.1.0上。它必须安装在Fedora31上。使用以下命令安装:

sudo dnf install util-linux-user

linux下如何用chfn和usermod修改用户数据

让我们看看finger能找到什么有关用户帐户“dave”所有者的信息。为了获得最大的信息,我们将使用-l(长格式)选项:

finger dave -l

linux下如何用chfn和usermod修改用户数据

这就是它能找到的:

linux下如何用chfn和usermod修改用户数据

它检索帐户用户名、主目录和默认shell。这些都与用户帐户有关。他们指的不是真正使用那个账户的人。我们可以使用chfn命令来存储关于实际人物的信息。

chfn dave

linux下如何用chfn和usermod修改用户数据

以这种方式使用chfn会启动一个简短的交互过程。系统将提示您为GECOS字段可以保存的每一条信息键入一个数据值。每个数据值的当前值显示在括号[]中。如果要保留当前数据,可以按“回车”键,括号内的值将保留。

linux下如何用chfn和usermod修改用户数据

我们输入的信息是:

  • 房间号:512
  • 工作电话:555-4567
  • 家庭电话:555-5432

linux下如何用chfn和usermod修改用户数据

让我们检查一下手指是否拾取了新信息:

finger dave -l

linux下如何用chfn和usermod修改用户数据

是的,是的。但是您可能已经注意到它没有提示您更改全名。只有你用sudo才能做到。但我们不必再经历整个chfn会话,因为我们忘记了使用sudo。我们可以单独更改任何数据值。

更改单个数据值

我们可以使用-f(全名)选项和sudo设置用户帐户所有者的全名。

sudo chfn -f "Dave McKay" dave

linux下如何用chfn和usermod修改用户数据

如果我们用手指再检查一次:

linux下如何用chfn和usermod修改用户数据

我们可以看到,全名已被添加。

还有其他选项可以更改房间号码、家庭电话号码和工作电话号码。要更改房间(办公室)号,请使用-r(房间号)选项:

sudo chfn -r 633 dave

linux下如何用chfn和usermod修改用户数据

请注意,在某些发行版上,可以使用-o(office room number)选项而不是-r选项。稍后将对此进行详细介绍。现在,要查看chfn版本的选项,请使用:

man chfn

要更改办公室电话号码,请使用-w(工作电话)选项:

sudo chfn -w 555-1122 dave

linux下如何用chfn和usermod修改用户数据

最后,要更改家庭电话号码,请使用-h(家庭电话号码)选项:

sudo chfn -h 555-6576 dave

linux下如何用chfn和usermod修改用户数据

让我们再次使用finger查看是否所有这些更改都已被接受:

finger dave -l

linux下如何用chfn和usermod修改用户数据

成功。所有这些命令都起作用了,数据值也更新了。

在其他用户帐户上使用chfn

这么多改变我们自己的信息,那么为其他用户改变GECOS信息呢?那也很简单。你必须使用sudo,但这是唯一的区别。让我们检查一下为用户帐户设置了哪些数据:

finger mary -l

linux下如何用chfn和usermod修改用户数据

通常会为此用户帐户设置默认信息。让我们补充一下:

sudo chfn mary

linux下如何用chfn和usermod修改用户数据

我们将运行与之前相同的会话,提示为可以存储的每一条信息输入一个数据值。因为我们使用sudo,所以会要求我们输入全名数据值。

linux下如何用chfn和usermod修改用户数据

等等,最后一个项目叫“其他”是什么?”

chfn的所有版本都不支持它,只有在使用sudo时才能看到它,这就是为什么我们之前(故意)不使用sudo时没有看到它的原因:

chfn dave

“Other”数据值可以容纳任何您喜欢的内容。它没有任何规定或预期用途。

支持“Other”字段的chfn版本还提供了-o(Other)选项来直接更改该值。因为-o代表“office number”和-o代表“other”之间的冲突,一些系统使用-r代表“room number”。

我们可以在/etc/paswd文件中看到为用户帐户mary存储的数据,方法是使用较少的:

less /etc/passwd

linux下如何用chfn和usermod修改用户数据

在支持它的系统上(请查看chfn版本的手册页),可以直接使用-o(other)选项设置“other”字段:

sudo chfn -o "HTG Freelancer" dave

linux下如何用chfn和usermod修改用户数据

我们可以使用less命令检查用户帐户dave的数据:

less /etc/passwd

[asswd in a terminal window” width=”646″ height=”382″ />

这就提出了一个显而易见的问题。如果您的chfn版本不支持“Other”字段,您将如何更改它?我们可以用usermod命令来实现。

usermod命令

usermod命令允许您通过添加或从组中删除用户帐户以及更改其默认shell等操作来修改用户帐户的各个方面。它也可以用来直接操纵GECOS场。

让我们仔细看一下/etc/passwd文件中用户帐户的行。我们将使用grep为我们隔离那条线。这将起作用,因为用户名必须是唯一的。只能有一个名为mary的用户帐户。

grep mary /etc/passwd

linux下如何用chfn和usermod修改用户数据

显示etc/passwd文件中的字段。冒号“:”用作字段分隔符。从左到右,字段为:

  • 帐户用户名。
  • 表示此用户帐户密码的“x”在/etc/shadow文件中加密。
  • 玛丽用户帐户的用户ID。
  • 用户帐户的组ID。
  • GECOS领域。
  • mary用户帐户的主目录路径。
  • mary帐户的所有者登录时启动的shell。

逗号“,”用作GECOS字段中数据值的分隔符。GECOS字段中的值从左到右为:

  • 全名。
  • 房间(或办公室)号。
  • 工作电话号码。
  • 家庭电话号码。
  • 其他信息。

请注意,usermod命令将整个GECOS字段设置为您提供的新值。如果您只提供了此人的全名,那么GECOS字段中唯一的内容就是全名。这意味着您必须提供希望保留的任何现有数据值。

下面是一个例子。用户玛丽已经升职了,她要搬到四楼去。她得到了一个新的办公室号码,一个新的工作电话号码,我们要加上她的中间名。她的“其他”字段值也将发生变化。虽然她的家庭电话号码不会改变,但我们必须在字符串中提供给usermod。

我们需要使用-c(comment)选项,并且需要使用sudo运行命令。

sudo usermod -c "Mary Carol Quinn,405,5559654,555-7704,Linux Advocate" mary

linux下如何用chfn和usermod修改用户数据

使用grep为mary报告/etc/passwd文件的内容,向我们显示添加了新值。

grep mary /etc/passwd

linux下如何用chfn和usermod修改用户数据

相关:将用户添加到Linux上的组(或第二个组)

一切都是易变的,没有什么是永恒的

不准确的数据毫无价值。当有关人员的信息发生变化时,办公室调动、姓名变化、角色头衔变化,您可以轻松地更新他们的元数据以反映当前的职位。

  • 发表于 2021-04-02 21:38
  • 阅读 ( 166 )
  • 分类:互联网

你可能感兴趣的文章

如何用dd轻松克隆和恢复linux磁盘映像

当需要在Linux上擦除、备份或恢复数据时,可以选择许多应用程序。GParted是最有效的选择之一。磁盘是一个更现代的替代品,在GNOME桌面环境中看起来很不错。但无论您运行哪种Linux操作系统,都有一个选项始终有效——dd。 ...

  • 发布于 2021-03-15 00:51
  • 阅读 ( 240 )

5个让从windows切换到linux变得简单的技巧

...为安装游戏和其他程序提供了一流的前端。你可以学习如何用葡萄酒运行Windows应用程序和游戏。 ...

  • 发布于 2021-03-16 06:01
  • 阅读 ( 424 )

linux命令参考备忘单

...。林吉特删除一个文件或一组文件。斯达显示上次访问、修改或更改文件的时间。触摸将给定文件的访问日期或修改日期时间更改为“立即”。rmdir公司删除一个或多个文件。mkdir公司创建目录。默认为当前目录,但也可以指定...

  • 发布于 2021-03-22 04:06
  • 阅读 ( 234 )

如何用简单的方法将数据从windows或mac迁移到linux

如果您正在考虑从Windows或Mac切换到Linux,您可能会担心您将如何传输多年来积累的所有数据。它在Linux中可以访问吗?什么是最简单的方法来克服它? ...

  • 发布于 2021-03-24 18:04
  • 阅读 ( 251 )

如何在linux上使用groupadd管理用户组

...上创建了一个用户组,现在是时候向它添加一些用户了。Usermod是一个强大的命令行实用程序,因为它包含与用户管理和适度相关的各种选项。它还允许您轻松地向您的组添加用户。命令的基本语法是: ...

  • 发布于 2021-03-26 17:15
  • 阅读 ( 185 )

如何用cp命令在linux中复制文件

如果您使用cp命令,那么在Linux中复制文件和目录可以快速而轻松。我们将学习如何使用cp,并利用其方便的选择,将使您的复印工作更安全。 ...

  • 发布于 2021-03-28 11:33
  • 阅读 ( 296 )

如何使用受限shell来限制linux用户可以做什么

...建了一个新用户minnie。要更改现有用户的shell,可以使用usermod命令的-s(shell)选项。 sudo usermod -s /bin/rbash mary 您可以在“/etc/passwd”文件中使用less命令快速查看将哪个shell设置为用户的默认shell。 less /etc/passwd 我们可以看到,...

  • 发布于 2021-03-31 10:57
  • 阅读 ( 387 )

如何用键盘快捷键清除chrome浏览数据

需要快速清除你的谷歌浏览器浏览数据吗?三是不需要翻菜单-它就像一个简单的键盘快捷键和几次点击。下面是如何做到这一点。 首先,打开“Chrome”。在任何窗口中,根据您的平台,按以下三个快捷键组合。 Windows或Linux:按...

  • 发布于 2021-03-31 23:35
  • 阅读 ( 257 )

如何用testdisk恢复linux上删除的文件

你曾经删除过一个文件,并立即后悔吗?你需要它回来,而且要快!但如果文件太新,还没有备份呢?幸运的是,你能做些什么。 rm:悔恨的缩写? 使用rm命令并发现自己带着深深的遗憾盯着一个终端窗口,这太容易了。通配...

  • 发布于 2021-04-01 08:34
  • 阅读 ( 313 )

linux下如何用gocryptfs加密文件

你想加密重要的文件,而不是你的Linux系统的整个硬盘驱动器吗?如果是,我们推荐gocryptfs。你会得到一个目录,基本上,加密和解密你存储的所有东西。 gocryptfs提供数据泄露保护 隐私是个大新闻。几乎每个星期都会有一个组...

  • 发布于 2021-04-01 18:42
  • 阅读 ( 290 )
南圩_
南圩_

0 篇文章

相关推荐