我想使用我的名字作为用户名,但它包含字符“ä”。我找到了这个线程。
现在我明白了,为什么有些字符被禁用了,但是“ä”呢?这个角色会引起任何问题吗?
为什么某些 unicode 字符(ü、õ、ö、ä)在全名中使用时被禁用?
Pis*_*ing 10
在现代系统(具有全面的 Unicode 支持)上,这应该不是问题 - 重点是“不应该”。正如该答案中引用的那样,
默认是
NAME_REGEX="^[a-z][-a-z0-9]*\$"
尽管这对当前系统来说可能过于严格,但它使管理更容易——就像“少了一件需要担心的事情”。请注意,用户名在很多地方都被使用——例如你的主目录可能是这样的形式/home/username
;大多数健全的文件系统都有完整的 Unicode 支持,但与任何与计算机相关的事物一样,在所有情况下都不能保证健全。
请注意,有系统使用的实际登录名(属于这些规则),映射到 中的 UID /etc/passwd
,还有“全名”,它是一个字符串(可以输入大多数有效字符,尽管有一个“非 ASCII”警告)。
怎么做:在适用的情况下,我使用不带变音符号的名称(或罗马化,如果是非拉丁文字)作为用户名,并使用真实形式作为全名。/etc/passwd 中的条目可能与此类似:
martrang:x:1001:1001:Märt Rang,,,:/home/martrang:/bin/bash
Run Code Online (Sandbox Code Playgroud)