オペレーティングシステム:Linux(Debian 8)環境の詳細:
- 私たちはlxdeと
uxterm
。 - ctrl + Alt + F6が無効になるまで仮想コンソールフォーム。
- 利用可能なユーザーの総数ユーザー1、ユーザー2、ユーザー3
デフォルトのシステム設定は自動ログインですユーザー1script()を介してユーザー端末を起動しますuxterm
。
ユーザーが LXDE で特殊な組み合わせを押すと、画面で User2 をログイン名として Uxterminal を呼び出します。ログインに成功すると、user2 コンソールを使用できます。
役割は非常に制限されており、現在の運用シナリオに必要な3番目のユーザーがいます。
ユーザーのBASHプロファイルを作成するためにsudoers
withオプションNOPASSWD
に情報を追加しました。
etc/sudoers
User_Alias PRIVILEGEDUSER = user1,user2
Runas_Alias TARGETUSER = user2,user3
PRIVILEGEDUSER ALL=(TARGETUSER) NOPASSWD: /bin/bash
私たちもenv_keep
追加しましたDefaults
Defaults env_reset
Defaults env_keep += "JRE_HOME"
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
このオプションを使用すると、ユーザーを切り替えようとしたときにJRE_HOME
設定されません。さらに追加JRE_HOMEetc/.profile
システムで利用可能なすべてのユーザーを手動でテストすることは役に立ちません。
JRE_HOME=/usr/lib/jvm/java-7-openjdk-i386/jre
export JRE_HOME
JRE_HOME
移行プロセス中にいくつかの設定手順が必要ですsudo -u
。
答え1
環境変数をグローバルに設定するには、以下に説明するようにいくつかの方法があります。私のLinuxシステムのすべてのユーザーに環境変数を設定する方法または環境変数を恒久的に設定する方法。
私にとっては、.sh
以下のファイルを入れるのはうまくetc/profile.d
いきます。
答え2
次のコマンドを使用して、/ etc / sudoersファイルで特定のユーザーの特定の環境変数を設定できます。
Defaults:myuser-spec env_file=/etc/sudovars_for_myuser
たとえば、/etc/sudovars_for_myuserには次のものが含まれます。
JRE_HOME=/usr/lib/jvm/java-7-openjdk-i386/jre