Linux - создать пользователя без пароля (вход без запроса пароля)

Во-первых, убедитесь, что вы set -o errexit -o nounsetнаходитесь в верхней части скрипта. Затем выполните простую проверку, пока не получите хотя бы действительный пароль:

while true
do
    read -s -p "Enter the MySQL password: " BASEPASS
    mysql -u "$BASEUSER" "-p${BASEPASS}" 'SELECT 1' && break
done

Кроме того, Use More Quotes™ !

1
10.02.2020, 03:16
1 ответ

Конфигурация PAM для suобычно находится в /etc/pam.d/suи может ссылаться на другие файлы в том же каталоге с помощью директивы @include. В какой-то момент будет строка, начинающаяся с authи упоминающая pam_unix.so. В старых дистрибутивах он может включать параметр nullok, разрешающий использование пустых паролей; современные дистрибутивы обычно используют nullok_secure, что позволяет использовать пустые пароли только тогда, когда «аутентификация» происходит с использованием одного из устройств TTY, перечисленных в /etc/securetty. Также может различаться реализация опции nullok.

Чтобы разрешить suоднозначно разрешать доступ к определенной учетной записи без запроса пароля, вы можете добавить строку, подобную этой:

auth sufficient pam_succeed_if.so quiet_fail user = potato

(примечание:пробелы между user, =и potatoважны!)

Чтобы вступить в силу до pam_unix.soи только с командой su, строка должна быть помещена в/etc/pam.d/suперед любыми директивами @includeили другими строками, начинающимися с auth.

Однако,создание такого ярлыка через конфигурацию PAM suнесколько рискованно без предварительного понимания того, как конфигурация PAM должна работать в вашем неопределенном дистрибутиве Linux. Тщательно протестируйте перед использованием.

2
28.04.2021, 23:24

Теги

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