允许的Linux密码字符列表


8

不幸的是,我从事Linux管理已有很短的时间了,但我仍然不知道在哪里可以找到Linux密码允许使用的字符的完整列表。我的猜测是,这可能是因为根据配置不同,不同系统上的配置可能会有所不同,例如:passwd文件与Open LDAP。使用authz / passwd / shadow文件时,是否有允许的Linux凭据的完整列表?

Answers:


4

您可以使用标准的Unix密码键入任何内容,这是公平的游戏-我不知道任何特定于Linux的限制。请注意,换行符(Return / Enter)通常会终止密码输入,因此您在键盘上看到的任何字符都是公平的游戏。

还允许使用特殊键(箭头键,功能键,向上翻页/向下翻页),以及一些您无法键入的内容(如果需要,可以继续在密码中放置一个垂直选项卡-这只是为了除非您可以剪切并粘贴字符,否则使用它非常不便)。
请注意,尽管这些键/字符在网络连接上的工作方式可能与在控制台上不同,但通常不会出于这个原因使用它们。


我知道的一个“特殊情况”是,一个NUL字符(ASCII 0)可能会解释为“字符串结束”,并且此后密码中的所有内容都可能会被丢弃。


2
某些应用程序将添加其他限制。[例如,也许终端仿真器接受启动控制序列,或者编写不当的Web应用程序读取不正确\ 。当我生成初始密码以供以前的雇主的应用程序帐户使用时,我将非字母数字集限制为仅几个已知可在我们所有应用程序中使用的字符,因为我们雇用了一些非常糟糕的开发人员并真正购买了多年以来的垃圾软件。
丹尼绍尔,2016年

绝对不是这样。我只是找到了一个反例。在Ubuntu上,Unicode字符u00a4不起作用。您可以设置这样的密码,但是登录屏幕不会接受该密码。我不知道这是设计使然,还是只是未经测试的边缘保护套。因此,不幸的是,您可能只能使用ASCII字符。
凯文·基恩

2

如果您可以提供Linux发行版,它将有所帮助。可以针对每个系统进行定义,并且如您所正确指出的那样,可以在其中定义诸如LDAP之类的内容。

如果使用pam_cracklib(8),则在 /etc/pam.d/system-authRed Hat / CentOS / Fedora系统上定义。如果定义,您应该看到类似以下内容的内容:

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

在Ubuntu系统上,该文件位于/etc/pam.d/common-password。参见/ubuntu/156850/setting-minimum-password-requirements


我主要使用RHEL,特别是CentOS和一些Ubuntu。我很惊讶地听到它是特定于发行版的。如果我们严格使用默认安装来谈论/ etc / passwd和/ etc / shadow,那么在哪里定义了允许的字符?

1
这回答了问题How do you set requirements for (stronger) passwords?(复杂性,长度等)。它似乎没有回答上面的问题(What characters may I use in a password?
voretaq7 2013年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.