Что предотвращает “nullok” опцию конфигурации PAM по умолчанию RHEL7 от разрешения пустых паролей?

[1120411]Ведущая тире в имени процесса (в [1121020]argv[0][1121021], если быть точным) помещается туда процессом, который вызывает оболочку - [1121022]login[1121023] или какой-нибудь эквивалент. Он сообщает программе-оболочке, что она должна действовать как оболочка для входа в систему (читайте [1121024].profile[1121025], и т.д.). Программа оболочки может действовать в качестве оболочки для входа в систему при других обстоятельствах (например, bash и zsh действуют в качестве оболочки для входа в систему, если они прошли опцию командной строки [1121026]-l[1121027]).[12197]Чтобы ответить на ваши вопросы:[12198]Роль [1121294]-[112121295] заключается в том, чтобы сказать оболочке, чтобы она вела себя как оболочка для входа в систему. Для bash передача [1121296]--login[1121297] в командной строке эквивалентна.[12199] Вы можете увидеть [1121298] роль [1121412]-[12200] на bash вызывается с опцией [1121300] --login[1121301] - он читает [1121302]~/.profile[1121303] и так далее. Вы не увидите [1121304]-bash[1121305], если bash был вызван как [1121306]bash --login[1121307], а не как [1121308]-bash[1121309], потому что bash не был вызван как [1121310]-bash[1121311].[12201]Типичные оболочки не позволяют выбирать аргумент нуля, это должно быть имя команды. С помощью zsh можно сделать [1121312]ARGV0=-bash bash[1121313], а с помощью [1121314]ksh93[1121315], [1121316]bash[1121317] или [1121318]zsh[1121319] можно сделать [1121320](exec -a -bash bash)[1121321]. В [1121322]мкш[1121323] или [1121324]zsh[1121325] можно сделать [1121326]хэш -- -bash=/bin/bash; -bash[1121327]. Нельзя делать что-то вроде [1121328]ln -s /bin/bash ./-bash; ./-bash[1121329], т.к. весь [1121330]argv[0][1121331] должен начинаться с [1121332]-[1121333]. Можно сделать [1121334]PATH=:$PATH; -bash[1121335], но тогда это имеет тот неприятный побочный эффект добавления [1121336]"[1121337] перед [1121338]$PATH[1121339].[12202]Да.[12203]Смотрите также [1121036]Разница между Логин Шеллом и Не Логин Шеллом? [12204]
2
23.09.2014, 01:36
1 ответ

Это происходит потому, что опция конфигурации PermitEmptyPasswords для sshd настроена на запрещение пустых паролей. С man 5 sshd_config:

   PermitEmptyPasswords
          When password authentication is  allowed,  it  specifies  whether  the  server
          allows login to accounts with empty password strings.  The default is ``no''.

Ключевой момент: по умолчанию запрещается выдавать пустые пароли по ssh.

0
27.01.2020, 22:58

Теги

Похожие вопросы