关于chfn命令是否支持手机号参数的技术咨询
关于chfn命令是否支持手机号参数的技术咨询
嘿,咱们来掰扯清楚这个问题~
首先可以拍胸脯告诉你:标准的chfn命令确实没有--mobile-phone这类设置手机号的参数,这绝对不是你的系统配置出了啥奇怪问题,纯粹是这个工具的设计本身就没考虑这个字段。
你说查了man chfn没找到相关内容,这太正常了——因为传统Unix/Linux里用来存这类个人信息的是GECOS字段(就是/etc/passwd里每个用户条目第5个字段),这个字段的标准结构本来就只有四个用逗号分开的部分:
- 用户全名
- 房间号/办公地址
- 办公电话
- 家庭电话
chfn的所有参数都是完全对应这几个部分做的,所以只有--office-phone、--home-phone这些选项,压根没给手机号留位置,自然在man页和/etc/login.defs里都查不到相关配置。
那要是你确实想存手机号咋办?给你几个折衷的小办法:
- 复用现有字段:比如你要是用不到家庭电话,就把手机号填到家庭电话的位置,用
chfn --home-phone '138xxxx1234'设置就行,虽然有点不按规矩来,但凑合用完全没问题。 - 手动扩展GECOS字段:其实GECOS字段可以塞更多逗号分隔的内容,只是chfn没给直接设置的参数。你可以用
chfn -f "张三,,010-12345678,138xxxx1234,139xxxx5678"这种方式直接设置整个GECOS字段(空着的项对应你不用的部分),不过要注意不是所有系统的工具都能识别这额外的字段,兼容性可能打折扣。 - 要是你用的是LDAP这类集中式用户管理环境,那LDAP的用户条目里一般有专门的mobile属性,这时候就不用纠结chfn了,但单机系统的话这个方案就没必要折腾了。
总结一下:不是你的系统有问题,是chfn这个老工具的设计早于手机号普及的时代,本身就不支持手机号参数~
备注:内容来源于stack exchange,提问作者RokeJulianLockhart
相关产品推荐
相关产品推荐

