修改用户名和信息
命令语法格式
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 创建文章