sudo 권한이 있는 루트가 아닌 사용자가 지연된 종료( shutdown +10
또는 다른 방법)를 수행하고 로그아웃한다고 가정합니다. 그런 다음 종료가 발생하기 전에 다시 로그인하여 종료를 취소하려고 합니다. 문제는 을 shutdown
생성 /etc/nologin
하고 login
파일이 존재하는 동안에만 루트 로그인을 허용한다는 것입니다. 이에 대해 사용자에 대한 예외를 생성할 수 있습니까?
그렇지 않은 경우 사용자가 지연된 종료를 시작한 다음 로그인하고 나중에 취소하도록 하는 가장 좋은 방법은 무엇입니까?
답변1
시스템에서 다음을 사용하는 경우폴리아크릴아미드, 다음 /etc/nologin
에 의해 로그인이 거부되었습니다.pam_nologin
기준 치수.
pam_nologin
특정 기준에 맞는 사용자에 대한 통화를 건너뛸 수 있습니다.pam_succeed_if
. 예를 들어, adm
그룹의 사용자가 텍스트 콘솔이 있더라도 텍스트 콘솔에 로그인할 수 있도록 하려면 다음 줄 앞에 /etc/nologin
다음 줄을 추가합니다 ./etc/pam.d/login
auth requisite pam_nologin.so
auth [default=ignore success=1] pam_succeed_if.so quiet user ingroup adm
답변2
Ryan Novosielski의 답변의 Vesa K 버전이 저에게 효과적이었지만 여기에는 다음과 같은 내용이 있습니다.
/etc/pam.d/sshd
아니요:
/etc/pam.d/login
제 경우에는 Ubuntu 14.04 LTS에서 UID 1000으로 SSH를 통해 로그인할 수 있도록 허용하고 싶습니다.
# Disallow non-root logins when /etc/nologin exists.
account [success=1 default=ignore] pam_succeed_if.so quiet uid eq 1000
account required pam_nologin.so
답변3
위의 Gilles의 답변은 매우 훌륭하지만 "유형"을 pam_nologin.so 유형과 일치시켜야 한다는 점에 유의하세요. 예를 들어, 내 RHEL5 시스템에서는 다음과 같습니다.
account [default=1 success=ignore] pam_succeed_if.so quiet user ingroup nx
account required pam_nologin.so
...다른 답변에서 요구하는 대로 인증을 사용하면 작동하지 않습니다.
답변4
오늘 Ryan의 규칙을 시도한 결과 Gils와 Ryan의 응답 봇의 성공/기본 규칙이 "반대"라는 것을 발견했습니다. nologin은 nx-group만 차단합니다. 이것이 제가 이 규칙을 구현한 방법입니다(nx 그룹은 nologin으로 차단되지 않습니다).
account [success=1 default=ignore] pam_succeed_if.so quiet user ingroup nx
account required pam_nologin.so