sudo suの後にコマンドを実行するシェルスクリプト - appuser

sudo suの後にコマンドを実行するシェルスクリプト - appuser

私たちの組織はルートディレクトリへのアクセスを許可せず、以下に説明するように非常に奇妙な認証を使用します。

  • ユーザー名とパスワードの組み合わせを使用して、SSH端末を介してRHELサーバーにログインします。

  • 私のアカウントは利用できず、次のようにサーバーアカウントに切り替える必要があります。sudo su - appuser

  • 上記のコマンドの置換は許可されません。sudo su -p appuser許可されていない場合はsudo su appuser許可されていません。確かにですsudo su - appuser。 appuserに切り替える前にパスワードを入力する必要があります

  • 今私はsudo権限を持たないappuser状態です。私は今私の仕事をしています。

私は最近gitを使い始めましたが、gitでユーザー名とパスワードを指定できます。さて、6人のチームメイトがこのアプリを使用した場合、すべて同じユーザー名を持つことになります。実際のユーザー名を取得するためにappuserに切り替えた後、次のコマンドラインを実行しない限り:git config --global user.name $(logname)

だから私はappuserに切り替えるとすぐにユーザーを切り替えてgitユーザーを設定できるスクリプトを作成し、私が制御できないこの不都合なインフラストラクチャを探索したいと思います。

現在私が持っているものは次のとおりです(1行目でパスワードを求めるので動作しません)。

sudo su - appuser
git config --global user.email $(logname)

IT部門が提供しないソリューションを要求する以外に、どのようなオプションがありますか?

答え1

ログ名に基づいて環境変数を設定できます。

case $logname in
shnisaka)
  export GIT_AUTHOR_NAME="your name"
  export GIT_COMMITTER_NAME="your name"
  export GIT_AUTHOR_EMAIL="[email protected]"
  export GIT_COMMITTER_EMAIL="[email protected]"
  ;;
olqs)
  export GIT_AUTHOR_NAME="my name"
  export GIT_COMMITTER_NAME="my name"
  export GIT_AUTHOR_EMAIL="[email protected]"
  export GIT_COMMITTER_EMAIL="[email protected]"
  ;;
esac

プロファイル設定にも同様の構成があります。これをappuserの.bashrcに入れてください。

関連情報