3

Я использую PAM для аутентификации пользователей

информация от - http://linux.die.net/man/8/pam_listfile

в моей машине Linux red-hat у меня 5 разных пользователей

user1
user2
user3
user4
user5

Я хочу включить ssh логин только для первых трех пользователей

так

Я создал файл

more /etc/logins_users.txt

user1
user2
user3

и я добавляю в файл /etc/pam.d/sshd следующее

   auth required pam_listfile.so item=user onerr=fail sense=allow file=/etc/logins_user.txt

Я перезапускаю службу sshd

но user4 и user5 по-прежнему имеют доступ к машине linux, хотя они не определены в файле logins_users.txt

Что не так с моей конфигурацией?

Почему user4 и user5 все еще имеют доступ по ssh, несмотря на то, что они заблокированы ???

1 ответ1

1

В вашей конфигурации нет ничего плохого.

Напишите свою конфигурацию в первой строке /etc/pam.d/sshd следующим образом

#%PAM-1.0
auth       required     pam_listfile.so item=user onerr=fail sense=allow file=/etc/logins_user.txt
auth       required     pam_sepermit.so
auth       include      password-auth
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth

Это потому, что PAM будет проверять все эти конфигурации построчно, если вы поместите свою конфигурацию в последнюю строку, то перед проверкой вашего состояния пройдут любые другие условия, поэтому все пользователи могут войти в систему. Проверьте это и дайте мне знать.

Будьте осторожны, пытаясь это

Прежде чем что-либо менять, сделайте резервную копию файла.

если вы настроите так

auth       required     pam_listfile.so item=user onerr=fail sense=allow file=/etc/logins_user.txt
auth       include      password-auth
account    required     pam_nologin.so
.
.
session    include      password-auth

И условие не выполняется, PAM проверит остальные правила.

если вы настроите так

auth       requisite    pam_listfile.so item=user onerr=fail sense=allow file=/etc/logins_user.txt
auth       include      password-auth
account    required     pam_nologin.so
.
.
session    include      password-auth

И вышеупомянутое условие не выполняется, PAM не будет проверять остальные правила.

требуется

Failure also results in denial of authentication, although PAM will still call all the other modules listed for this service before denying authentication. 

реквизит

Failure to authenticate via this module results in immediate denial of authentication. 

Так что в вашем случае может быть ниже условия предоставления разрешения

auth       include      password-auth

Вы вводите правильный пароль, пока SSH.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .