Требование PBIS auth.log "user ingroup nopasswdlogin" не выполнено пользователем "Administrator@domain.local"

Хорошо, я понял: проблема заключается в разных определениях ИСТИНА и ЛОЖЬ между статусом выхода test и условием цикла while в awk .

Положительная команда test дает код выхода 0 для ИСТИНА и отрицательный в 1 для ЛОЖЬ.

Однако в awk цикл while интерпретирует 0 как ЛОЖЬ, а 1 как ИСТИНА, так что в точности противоположное определение.

В качестве примера:

awk '{ while ( 0 ) ; { print "0" } }' file

не выдаст никакого вывода, а

awk '{ while (1) ; { print "1" } }' file

выведет бесконечное число 1 с.

Таким образом, передовой опыт должен быть явным в такой комбинации

while ( system("command") == 0 )

или

while ( system("command") == 1 )

соответственно.

Итак, в моем случае

while ( system("test -e " file ) == 0 ) 

показывает ожидаемое поведение.

2
16.01.2017, 09:54
1 ответ

Я решил ту же проблему. У меня было

pam_succeed_if (lightdm: auth): требование «user ingroup nopasswdlogin» не было выполнено пользователем «xxxxxxx»

в среде с аутентификацией AD, Windows 2016, {{ 1}} ubuntu 16.04.

Решение

Отредактируйте /etc/pam.d/lightdm и удалите nopasswdlogin из этой строки:

auth    sufficient      pam_succeed_if.so user ingroup nopasswdlogin
2
27.01.2020, 22:10

Теги

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