Arch LinuxのGnome 3.Xでゲストアカウントを作成する

Arch LinuxのGnome 3.Xでゲストアカウントを作成する

次の機能を備えたUbuntuなどのゲストアカウントが必要です。

  1. ログインにパスワードは必要ありません。
  2. /tmpデータのない新しいホームフォルダが毎回作成されます(可能な場合)。
  3. ユーザーがログアウトすると、データは削除されます。
  4. ユーザーは使用できません。sudo

私はArch LinuxでGnome 3.20を実行しています。

メモ:私の質問を重複して閉じないでください。アプリケーションへのアクセスを制限するゲストアカウントの作成この質問は、2番目と3番目のポイントへの答えではないので、

ベストアンサー1

GDMの使用は非常に簡単であることがわかりました。私はあなたがGnomeも使用しているので、GDMを使用していると仮定します。まず、guest空のパスワードでユーザーアカウントを作成します。

sudo useradd -d /tmp/guest -p $(openssl passwd "") guest

これopenssl passwd "" 戻ってくる空の文字列のハッシュ値なので、パスワードは空になります。

今必要なのは、次の2つのスクリプトだけです。

  • /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/sudoerssudoerswheelsudosudo


最新バージョンのGDMを使用している場合は、パスワードボックスが空の場合、ログインボタンが無効になることがあります。この問題を解決するには、特定のグループに対してパスワードの入力を求められないようにGDMに指示できます。これにより、グループメンバーのセッション選択メニューも無視されます。これを行うには、次の行を追加する必要があります。最初に/etc/pam.d/gdm-password

auth sufficient pam_succeed_if.so user ingroup guest

おすすめ記事