次の機能を備えたUbuntuなどのゲストアカウントが必要です。
- ログインにパスワードは必要ありません。
/tmp
データのない新しいホームフォルダが毎回作成されます(可能な場合)。- ユーザーがログアウトすると、データは削除されます。
- ユーザーは使用できません。
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/sudoers
sudoers
wheel
sudo
sudo
最新バージョンのGDMを使用している場合は、パスワードボックスが空の場合、ログインボタンが無効になることがあります。この問題を解決するには、特定のグループに対してパスワードの入力を求められないようにGDMに指示できます。これにより、グループメンバーのセッション選択メニューも無視されます。これを行うには、次の行を追加する必要があります。最初にの/etc/pam.d/gdm-password
:
auth sufficient pam_succeed_if.so user ingroup guest
答え2
使用できるログアウトスクリプト。ここから、ゲストアカウントのホームフォルダを削除してログアウトしたときに新しいホームフォルダを作成できます。必要に応じてsudo
ゲストアカウントでこの機能を有効にできますvisudo
。に追加してくださいyourguestacc ALL=(root) NOPASSWD: /path/to/script/recreating/the/home/folder
。よりアーチスウィキより多くの情報を知りたいです。