允许的Linux密码字符列表

可悲的是,我一直在做Linuxpipe理一段时间,我仍然不知道在哪里可以find一个Linux密码允许字符的完整列表。 我的猜测是,这可能是因为configuration可能会在不同的系统上有所不同,具体取决于configuration,例如:passwd文件与Open LDAP。 使用authz / passwd / shadow文件时是否有任何允许的Linux凭据的完整列表?

你可以input的任何东西都是标准Unix密码的公平游戏 – 我不知道任何Linux特定的限制。 注意换行符(Return / Enter)通常会结束密码input,在键盘上看到的任何字符都是公平的游戏。

也可以使用特殊键(箭头键,function键,页面向上/向下翻页),以及一些你不能input的东西(如果你愿意的话,你可以直接在你的密码里放一个垂直的标签)除非你可以剪切和粘贴字符,否则很难用它来login)。
请注意,这些密钥/字符在networking连接上可能与在控制台上执行的操作不同 – 通常不会因为这个原因而使用它们。


我知道的一个“特殊情况”是NUL字符(ASCII 0)可能会被解释为“END OF STRING”,并且之后的任何内容都可能被丢弃。

如果你能提供你的Linux发行版,它将会有所帮助。 这可以根据系统进行定义,正如您正确地指出LDAP是否在适当的位置,可以在那里定义。

如果使用pam_cracklib(8) ,则在Red Hat / CentOS / Fedora系统上的/etc/pam.d/system-auth定义。 如果定义你应该看到这样的事情:

 password required pam_cracklib.so minlen=12 lcredit=1 ucredit=1 dcredit=2 ocredit=1 

在Ubuntu系统上,这将在/etc/pam.d/common-password下。 请参阅https://askubuntu.com/questions/156850/setting-minimum-password-requirements

只要坚持ASCII密码的95个可打印的字符为Linux密码,你应该没问题。

在LDAP树中, Schema负责信息约束。 你应该研究你的实现特定模式。