여러 계정이 포함된 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에 대한 추가 정보.