Разрешить нескольким пользователям «su» нескольким другим пользователям без пароля

chattr будет работать. Он говорит NM оставить resolv.conf в покое. Альтернативно, смотритеrc-manager в man NetworkManager.conf.

NM всегда будет писать в свой внутренний resolv.conf в var/run, так что вы можете отсканировать его. Или вы можете использовать nmcli -f all device show, или использовать скрипт диспетчера (man NetworkManager).

Наконец, вы можете написать свой собственный плагин DNS. Но для этого нужно пересобрать NM из исходников, а API плагина также не является публичным/стабильным.

1
13.04.2017, 15:36
2 ответа

Вам нужно изменить порядок авторизации, вот так:

auth       [success=1 default=ignore] pam_succeed_if.so user = user1
auth       [success=ignore default=1] pam_succeed_if.so user = user4
auth       sufficient   pam_succeed_if.so use_uid user in user2:user3
1
27.01.2020, 23:48

Я выполняю это, используя pam_exec.soвместо pam_succeedif.so.

В /etc/pam.d/suсразу послеpam_rootok.so:

auth  sufficient             pam_exec.so quiet /etc/pam.d/check_user.sh

В/etc/pam.d/check_user.sh:

#!/bin/bash
[[ -z $PAM_RUSER ]] && PAM_RUSER=$PAM_USER # under some circumstances pam_exec.so does not pass PAM_RUSER to the script
[[ "$PAM_TYPE" == "auth" ]] || exit 1
case "$PAM_RUSER" in
  user1)        USERS="user1 user2" ; ;;
  user3)        USERS="user3 user4" ; ;;
  *)            exit 1 ; ;;
esac
[[ "$USERS" =~ "$PAM_USER" ]]
0
27.01.2020, 23:48

Теги

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