Acontece que é bem simples com o GDM. Eu suponho que você esteja usando o GDM, já que você também está usando o Gnome. Primeiro, crie a conta de usuário guest com uma senha em branco:
sudo useradd -d /tmp/guest -p $(openssl passwd "") guest
O openssl passwd "" retornará o hash de a string vazia, definindo a senha em branco.
Agora, tudo o que você precisa são esses dois scripts:
-
/etc/gdm/PostLogin/DefaultIsso é executado depois que você efetua login e cria o diretório
/tmp/$guestuser(/tmp/guestpor padrão) e copia os arquivos padrão de/etc/skelpara ele. Para alterar o nome de usuário padrão do usuário convidado, definaguestuserpara outra coisa no começo.#!/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/DefaultIsso é executado depois que você efetua logout e removerá o diretório
/etc/$guestusere todo o seu conteúdo. Certifique-se de definirguestuserpara o mesmo valor em ambos os scripts.#!/bin/sh guestuser="guest" ## Clear up the guest user session if [[ "$USER" = "$guestuser" ]]; then rm -rf /tmp/"$guestuser" fi exit 0
Por fim, torne os dois scripts executáveis:
sudo chmod 755 /etc/gdm/PostLogin/Default /etc/gdm/PostSession/Default
Agora, faça o logout e você verá seu novo usuário guest . Você pode efetuar login selecionando-o e pressionando Enter quando for solicitada uma senha. O usuário guest não poderá usar sudo , já que esse é o padrão para todos os usuários. Somente usuários explicitamente mencionados em /etc/sudoers ou aqueles que são membros de grupos explicitamente mencionados em sudoers (como wheel ou sudo , dependendo da sua distribuição) podem usar sudo .
Se você estiver usando uma versão recente do GDM, poderá desativar o botão de login enquanto a caixa de senha estiver vazia. Para contornar isso, você pode dizer ao GDM para não solicitar a senha para grupos específicos. A ressalva é que isso também irá ignorar o menu de seleção de sessão para membros desse grupo. Se você quiser fazer isso, adicione essa linha no início de /etc/pam.d/gdm-password :
auth sufficient pam_succeed_if.so user ingroup guest