この質問はもう一つの、より一般的な質問ゲスト アカウントについて。これは非常に具体的です。
セットアップ: 私は、16.04 を実行している教室で使用している古い Dell Latitude E6410 を多数所有しており、新しい Dell Latitude 5450 もいくつか所有しています。多くの学生が、接続された USB デバイスを介してデータ分析やデータ取得など、さまざまな目的でこれらのマシンを使用しています。
ゲスト アカウントは、ログインの合間にマシンをクリーンにするのに便利です。ゲスト アカウントの追加機能は、マシンの電源を入れて「忘れる」と、マシンが自動的にゲスト アカウントにログインし、ブラウザー ウィンドウを起動することです。問題は、ゲスト アカウントには USB ポートにアクセスする権限がないことです。
簡単な解決策としては、新しいゲスト アカウント (例: guest-abf2) を dialout および plugdev グループに追加して、接続されたデバイスやサム ドライブを学生が使用できるようにすることです。次のようになります。
moduser -a -G plugdev,dialout $USER
ログイン プロセスの早い段階でスクリプト内に記述します。
これまで試したことは次のとおりです:
- このコマンドを2つのうちどちらかに配置するドキュメント化されたフック:
auto.sh
およびディレクトリprefs.sh
内/etc/guest-session
。どちらも機能しません。prefs.sh
はユーザーコンテキストで実行され、auto.sh
ルートコンテキストで実行されるはずですが、新しく作成されたゲストアカウントを2つのグループに追加するには遅すぎます。 - lightdmが実行する利用可能なスクリプトを変更する(ああ、これは良くないことだとは分かっているけど、絶望し始めていた) それでもまだ機能しません。アカウントが作成された直後、実際のログインの前に moduser コマンドを実行する必要があります。
- によると古いドキュメント(11 個程度)というフックがあり
setup.sh
、試してみましたが、このフックがもう機能するかどうかはわかりません。 - udev スクリプトの作成を検討しましたが、非常に面倒な作業のようです。また、ドキュメントは USB サムドライブのマウントを対象としており、USB デバイスへのアクセスは許可されていないようです。これは間違っている可能性があります。
- どこかで、特定のグループに新しいユーザーを自動的に追加する同様の「スクリプト」のようなメカニズムがあるというドキュメントを見つけましたが、見つけることができません。この場合は機能するかどうかはわかりませんが、試してみます。
答え1
ゲスト アカウントはシェル スクリプトによって作成されます/usr/sbin/guest-account
。
関数の最後にadd_account
呼び出されるユーザー追加ユーザーを作成します。-G plugdev,dialout
ここでオプションを追加すればうまくいくはずです。
使用dpkg-divert更新されたパッケージによって変更されたスクリプトが上書きされるのを避けるためです。
答え2
使用usermod
、 ない ' moduser
'。
...これで、起動スクリプトprefs.shの動作が宣伝どおりに動作するようになりました。/etc/guest-sessionにprefs.shというファイルを作成することで 次の行で:
moduser $USER -a -G plugdev,dialout
このコマンドを に含めると、ゲスト セッションがクラッシュして読み込まれなくなりますprefs.sh
。 '`moduser' は有効なコマンドではありません。代わりに次の行を使用します。
usermod -a -G plugdev,dialout $USER
答え3
auto.sh
は、ルート コンテキストで実行されたことはprefs.sh
ありません。Ubuntu 15.10 までは によってソース化されていました/usr/sbin/guest-account
が、コードがリファクタリングされ、16.04 ではprefs.sh
によってソース化され/usr/share/lightdm/guest-session/setup.sh
、ルートとして実行されなくなりました。
この動作の変更が意図的なものかどうかはわかりません。そうでない場合は、変更を提案する理由がある可能性があります。
ゲスト セッションが USB ポートにアクセスできないというのはどういう意味かわかりません。少なくとも USB スティックは使用できることはわかっています。AppArmor によって使用が禁止されているデバイスが他にもある可能性があります。
編集:
私は申請したバグレポートprefs.sh
承認されると、以前と同様に を使用してゲストをグループに割り当てることができるようになります。
USB スティックに関しては、いくつかテストを行ったところ、スティックのフォーマット方法が重要であることがわかりました。ext4 でフォーマットされたスティックでは読み取りも書き込みもできませんでしたが、fat16 でフォーマットすると正常に動作します。
答え4
いつ起こったのか正確には分かりませんが、lightdmが更新されたため、起動スクリプトの動作が変更されました。プレフィックス今では宣伝どおりに動作します。プレフィックスで/etc/ゲストセッション次の行を追加します。
moduser $USER -a -G plugdev,dialout
学生がゲスト アカウントで新しい USB デバイスにアクセスできるようにするために必要なことを正確に達成できました。