「chfn(1)」-

  LINUX MANUAL PAGES

修改用户名和信息

命令语法格式

chfn [options] [LOGIN]

命令描述

命令chfn更改用户帐户的用户全名、办公室房间号、办公室电话号码、家庭电话号码信息。该信息通常由finger(1)和类似程序打印。普通用户只能更改自己帐户的字段,但需遵守/etc/login.defs中的限制。(默认配置是阻止用户更改其全名。)超级用户可以更改任何帐户的任何字段。 此外,只有超级用户可以使用-o选项来更改GECOS字段的未定义部分。

这些字段不得包含任何冒号。除了其他字段,它们不应包含任何逗号或等号。 还建议避免使用非US-ASCII字符,但这对于电话号码是强制的。另一个字段用于存储其他应用程序使用的记帐信息。

其实,这些信息是存储在/etc/passwd文件中的GECOS字段(或者称为Comment字段,即倒数第三个字段)。

如果未指定任何选项,则命令chfn会以交互方式运行,提示用户当前所有字段的值,当前值显示在一对方括号([])之间,并提示输入新值以更改字段,或留空表示不进行就该。

参数LOGIN为帐号名,如果未指定,则为当前用户账户。

命令支持的选项及含义

命令chfn支持如下选项:

-f, –full-name FULL_NAME
修改用户全名。

-h, –home-phone HOME_PHONE
修改用户的电话号码。

-w, –work-phone WORK_PHONE
修改用户的办公电话号码。

-o, –other OTHER
修改用户的其他GECOS信息。这个字段用于存储其他应用程序使用的用户信息,并且只能由root用户修改。

-r, –room ROOM_NUMBER
修改用户的房间号。

-R, –root CHROOT_DIR
在CHROOT_DIR中应用更改,并使用CHROOT_DIR目录中的配置文件。

-u, –help
显示帮助并退出。

配置文件

在/etc/login.defs中的以下配置变量会改变chfn命令的行为:

CHFN_RESTRICT (string)
此参数指定使用chfn程序的普通用户可以更改/etc/passwd文件的GECOS字段中的哪些值。它的值可以是字母f,r,w,h的任意组合,分别代表了Full name, Room number, Work phone, Home phone。

为了向后兼容,“yes”等同于“rwh”,“no”等同于“frwh”。如果未指定,则只有超级用户可以进行任何更改。通过不设置chfn的SUID位可以更好地实现最严格的设置。

相关文件

/etc/passwd
用户帐户信息。

/etc/login.defs
软件包Shadow中各个命令的配置文件。

相关手册

chsh(1), login.defs(5), passwd(5).

参考文献

  • man 1 chfn, Version shadow-utils 4.4

更新日志

  • 07/16/2018 创建文章