Jon*_*ler 9 unix passwords utf-8 iso-8859-1
在现代的Unix或Linux系统上,如何判断/etc/passwd文件存储用户名的代码集?是否允许用户名包含重音字符(例如,ISO 8859-1或8859-15中的0x80..0xFF范围)?该/etc/passwd文件可以包含UTF-8吗?你能说它包含UTF-8吗?密码在加密或散列之前的纯文本怎么样?
显然,如果用户名和其他数据限制在0x00..0x7F范围内(并且无论如何都不包括0x00),则UTF-8,8859-1或8859-15之间没有区别; 存在的字符都编码相同.
另外,我在/etc/passwd基于Unix的机器上使用"用户识别和认证数据库(有时称为目录服务)"的缩写,通常通过PAM访问,有时在本地托管在其他机器上一个,但有时还是实际的本地硬盘上的文件,通常被称为/etc/passwd,通常由支持/etc/shadow".我还假设关于组数据库(通常是/etc/group文件)的等效问题具有相同的答案.
都是 ASCII。但密码本身永远不会被存储——只存储单向哈希的结果。如果您想知道密码本身可以包含哪些字符,这取决于区域设置,这将限制您的终端能够处理的字符。请参阅“人员区域设置”
“/etc/passwd ASCII 密码文件...”
至于用户名,我可以告诉你Solaris只支持ASCII。我不能代表其他 Unix-en。
“并非 Solaris 2 和 Solaris 7 中的每个对象的名称都可以由任意字符组成。以下对象的名称必须由 ASCII 字符组成:
* User names, group name, and passwords
* System name ...
Run Code Online (Sandbox Code Playgroud)
”
| 归档时间: |
|
| 查看次数: |
1956 次 |
| 最近记录: |