本文主要是探讨在Deepin Linux系统中的用户名不能用大写字母的原因及破解方法。
原因 用户名不允许填入大写字母是用户名规则,并非Deepin Linux系统的BUG。另外,有些人认为首字母不能大写,那也是错的,不光首字母不能大写,整个用户名都不能有大写字母,这是不成文规定,不过用户的full name是允许带有大写的。 另外一点,任何Linux都是全名可以大写,用户名只能全部小写,即用户名和计算机名不一样,计算机名你随意大小写。所以,虽然Deepin Linux系统用户名不支持大写,但你可以在控制中心设置全名,这个支持大写。 关于Deepin Linux用户名支持几个字符,这个得看版本,像Deepin 20的用户名长度必须介于3到32个字符之间,而其它的版本,设置成一个字母也是可以的。
破解方法 Debian系的Linux发行版,新建用户的命名规则见/etc/adduer.conf中的NAME_REGEX定义。 默认为仅小写字母和数字以及下划线。 # check user and group names also against this regular expression. #NAME_REGEX="^[a-z][-a-z0-9_]*\$" 创建不符合命名规则的用户时,有如下提示: $ sudo adduser Auser adduser:请输入一个和配置变量 NAME_REGEX[_SYSTEM] 匹配的用户名。参考使用useradd、adduser、newusers命令在Linux中创建用户帐户。 使用"--force-badname"选项来屏蔽这个检查或者重新配置。 如果确实有需要,可以使用"--force-badname"选项,强制创建。 $ sudo adduser Auser --force-badname 允许使用可疑的用户名. 正在添加用户"Auser"... 正在添加新组"Auser" (1003)... 正在添加新用户"Auser" (1003) 到组"Auser"... 创建主目录"/home/Auser"... 正在从"/etc/skel"复制文件... 输入新的 UNIX 密码: 重新输入新的 UNIX 密码: passwd:已成功更新密码 正在改变 Auser 的用户信息 请输入新值,或直接敲回车键以使用默认值 全名 []: 房间号码 []: 工作电话 []: 家庭电话 []: 其它 []: 这些信息是否正确? [Y/n] Y $ id Auser uid=1003(Auser) gid=1003(Auser) 组=1003(Auser)
相关主题 |