Как вы получаете `pam_succeed_if.so` для распознавания пользователя` service`?

У меня есть система Linux с именем пользователя service . Я использую модуль pam_succeed_if.so для соответствия этому имени пользователя. Например:

 auth required pam_succeed_if.so user = service 

Но это не будет соответствовать имени пользователя service , по-видимому, потому что это также поле, принятое pam_succeed_if.so . На странице руководства (отредактирован для акцента):

Доступные поля: пользователь, uid, gid, shell, home, ruser, rhost, tty и сервис

Как избежать значений, соответствующих именам полей?

Другие способы устранения неполадок:

Я включил опцию debug для pam_succeed_if.so и конвертировал service имени пользователя для login :

 login: pam_succeed_if(login:auth): 'user' resolves to 'login' 

И это как раз и есть конфигурация PAM для входа в систему, /etc/pam.d/login .

One Solution collect form web for “Как вы получаете `pam_succeed_if.so` для распознавания пользователя` service`?”

pam_succeed_if.so преобразует переданного user в значение field , если это значение существует. Например, используя пользовательскую shell :

 login: pam_succeed_if(login:auth): 'user' resolves to '/bin/bash' 

Я не знаю, как заставить его делать это явно нежелательное решение. Но есть обходной путь, который будет работать практически для всех.

Просто проверьте значение разрешенного значения вместо фактического значения.

Примеры

Чтобы соответствовать пользователю service в конфигурации PAM login в login :

 auth required pam_succeed_if.so user = login 

Чтобы соответствовать пользователю service в конфигурации sshd PAM:

 auth required pam_succeed_if.so user = sshd 

Чтобы соответствовать пользователю shell , чья настроенная оболочка /bin/bash :

 auth required pam_succeed_if.so user = /bin/bash 
  • Переопределение сообщения по умолчанию PAM
  • Как разрешить модуль радиуса pam в centos для пароля пользователя, а также один пароль времени
  • С pam_script, как мне передать PAM_AUTHTOK и PAM_USER во всех случаях?
  • Узнайте, какая программа запрашивает эскалацию привилегий?
  • Linux и Unix - лучшая ОС в мире.