동시 GUI 로그인을 제한하지만 여러 SSH 로그인을 허용하는 방법은 무엇입니까?

동시 GUI 로그인을 제한하지만 여러 SSH 로그인을 허용하는 방법은 무엇입니까?

여러 계정이 포함된 Ubuntu 데스크탑에서 GUI 로그인 수를 제한하고 싶습니다.

언제든지 하나의 계정만 로컬 GUI를 사용하여 로그인할 수 있어야 합니다. (다른 계정에 로그인하려면 먼저 첫 번째 계정에서 로그아웃해야 합니다. 계정에 의해 컴퓨터가 잠긴 경우 동일한 계정이 컴퓨터 잠금을 해제하여 기존 세션을 계속할 수 있지만 다시 로그인하여 다른 세션을 생성할 수는 없습니다.)

또한 모든 계정은 SSH를 통해 로그인할 수 있어야 합니다.

* - maxsyslogins 1 "/etc/security/limits.conf" 파일에 추가해 보았습니다 .

동시 GUI 로그인은 차단되지만 SSH 로그인도 완전히 차단됩니다.

이것을 달성할 수 있는 방법이 있나요?

답변1

session required pam_limits.so가장 쉬운 방법은 주석을 달는 것입니다 /etc/pam.d/sshd.

이는 SSH 로그인 중 제한 사항을 우회합니다. 지정한 다른 제한 사항도 적용되지 않습니다.

또 다른 방법은 디렉토리 pam_exec.so에 나타나는 GUI 구성에서 스크립트를 실행하는 것 입니다. etc/pam.d사용자가 현재 GUI를 사용하고 있는지 확인하고 그 결과에 따라 로그인을 허용하거나 거부할 수 있습니다. limits다른 제한사항이 있는 경우 모든 유형의 로그인에 대한 작업이 허용됩니다.

이렇게 생겼습니다. 아래 코드와 변경 사항은 테스트되지 않았습니다.

#!/bin/bash

if [ $(ls /tmp/.X11-unix/ | wc -l) -gt 0 ]; then
  exit 1
else
  exit 0
fi

GUI의 pam 구성에 다음 줄을 추가합니다. 그놈의 경우 /etc/pam.d/gdm-password. 다른 사람들은 잘 모르겠습니다.

auth [success=ok default=die] pam_exec.so /path/to/script

확인하다여기PAM에 대한 추가 정보.

관련 정보