다음 기능을 갖춘 Ubuntu와 같은 게스트 계정을 원합니다.
- 로그인하는 데 비밀번호가 필요하지 않습니다.
/tmp
데이터가 없는 새 홈 폴더가 매번 생성됩니다(가능한 경우).- 사용자가 로그아웃하면 데이터가 삭제됩니다.
- 사용자가 사용할 수 없습니다.
sudo
저는 Arch Linux에서 Gnome 3.20을 실행하고 있습니다.
노트:내 질문을 중복으로 닫지 마세요.애플리케이션에 대한 액세스를 제한하는 게스트 계정 만들기이 질문은 두 번째와 세 번째 요점에 대한 답변이 아니기 때문에
답변1
GDM을 사용하는 것은 매우 간단하다는 것이 밝혀졌습니다. 나는 당신이 Gnome도 사용하고 있기 때문에 GDM을 사용하고 있다고 가정합니다. 먼저 guest
빈 비밀번호로 사용자 계정을 만듭니다.
sudo useradd -d /tmp/guest -p $(openssl passwd "") guest
이것openssl passwd ""
돌아올 것이다빈 문자열의 해시 값이므로 비밀번호가 비어 있게 설정됩니다.
이제 필요한 것은 다음 두 스크립트뿐입니다.
/etc/gdm/PostLogin/Default
이 작업은 로그인한 후에 수행되며 /tmp/$guestuser
( /tmp/guest
기본적으로) 디렉터리를 만들고 기본 파일을 디렉터리에 복사합니다 /etc/skel
. 게스트 사용자의 기본 사용자 이름을 변경하려면 guestuser
처음에 다른 이름으로 설정하세요.
<!-- language: lang-bash -->
#!/bin/sh
guestuser="guest"
## Set up guest user session
if [ "$USER" = "$guestuser" ]; then
mkdir /tmp/"$guestuser"
cp /etc/skel/.* /tmp/"$guestuser"
chown -R "$guestuser":"$guestuser" /tmp/"$guestuser"
fi
exit 0
/etc/gdm/PostSession/Default
이 작업은 로그아웃한 후에 수행되며 디렉터리 /etc/$guestuser
와 해당 콘텐츠가 모두 삭제됩니다. guestuser
두 스크립트 모두에서 동일한 값으로 설정 해야 합니다 .
<!-- language: lang-bash -->
#!/bin/sh
guestuser="guest"
## Clear up the guest user session
if [ "$USER" = "$guestuser" ]; then
rm -rf /tmp/"$guestuser"
fi
exit 0
마지막으로 두 스크립트를 모두 실행 가능하게 만듭니다.
sudo chmod 755 /etc/gdm/PostLogin/Default /etc/gdm/PostSession/Default
이제 로그아웃하면 새 guest
사용자가 표시됩니다. 해당 항목을 선택하고 Enter비밀번호를 묻는 메시지가 나타나면 클릭하여 로그인할 수 있습니다 . 이는 어쨌든 모든 사용자에 대한 기본값이므로 사용자는 guest
이를 사용할 수 없습니다 . 에서 명시적으로 언급된 사용자 또는 에서 명시적으로 언급된 그룹 (예: 배포판에 따라 또는 )의 구성원인 sudo
사용자만 사용할 수 있습니다 ./etc/sudoers
sudoers
wheel
sudo
sudo
최신 버전의 GDM을 사용하는 경우 비밀번호 상자가 비어 있으면 로그인 버튼이 비활성화될 수 있습니다. 이 문제를 해결하려면 특정 그룹에 대해 비밀번호를 묻는 메시지를 표시하지 않도록 GDM에 지시할 수 있습니다. 이렇게 하면 그룹 구성원의 세션 선택 메뉴도 무시됩니다. 이 작업을 수행하려면 다음 줄을 추가해야 합니다.처음에의 /etc/pam.d/gdm-password
:
auth sufficient pam_succeed_if.so user ingroup guest