共有アカウントでログインしたときにコマンドを実行する

共有アカウントでログインしたときにコマンドを実行する

職場では、チームは共有アカウント「appadmin」を使用してアプリケーションを管理します。ログインすると、それぞれが自分の好みを含む「aliasrc」ファイルを受け取ります。 (エイリアス、表示、プロンプト...)。

これまで、私は次のことをしました。

normaluser$ su - appadmin
password:
appadmin$ . ~normaluser/.aliasrc
[superprompt: appadmin@machine]$ 

私はこれらすべてを1つのコマンドに減らしたいと思います。これまで、私は利点を活用し、毎回パスワードを入力するのを避けるためにsubyの使用を置き換えました。 (Sshが安全であることを知っていますが、ここではrloginが標準のようです。)rlogin.rhosts

共有アカウントにログインするとすぐにaliasrcファイルを取得する方法はありますか?

私はそれにぶら下がりませんrlogin。より良い提案があれば、皆耳を傾けます(...ok :-/)。

私は十分に明確に説明してください。

技術的な環境:Solaris 10、Ksh。

答え1

ユーザーを切り替える前のユーザーに基づいてロードする~appadmin/.profile何かまたは他のログインスクリプトを追加したいと思います。.aliasrc一般的な方法はうまくいかないので、難しい部分はユーザー名を見つけることです。

$ whoami
appadmin

$ id
uid=1050(appadmin) gid=1050(appadmin)

$ id -ru
1050

私の考えの最も簡単な方法は、現在ttyが何であるかを調べて(コマンドを使用してtty)、どのユーザーがそれを所有しているかを確認することです。このユーザーは接続したいユーザーでなければなりません。

$ stat -c %U $(tty)
normaluser

その後、 ~normaluser/.aliasrc があることを確認し、存在する場合はインポートできます。

origuser=$(stat -c %U $(tty))
[ -e ~$origuser/.aliasrc ] && . ~$origuser/.aliasrc

答え2

rloginまあ、私はorについてよく知りませんがksh、これはbashandで動作します。ssh

  1. appadmin用のファイルを作成touch .ssh/authorized_keysし、chmod -R og-rwx .ssh
  2. 各ユーザーの公開/プライベートSSHキーの生成ssh-keygen
  3. sshkeys公開セクション(例id_rsa.pub:)をappadminsauthorized_keysに追加します。
  4. パスワードなしでログインできることを確認してください。 (パスワードは異なりますので、必ずお使いください。)
  5. ログインが機能したら、認証キー行のキーの前に追加します。

    command="bash --rcfile /path/to/your/.profile" AAAA… [email protected]
    
  6. すべてが順調に進んだ場合は、エイリアスを使用してセッションに参加する必要があります。また、appadminへのアクセスを維持するのは比較的簡単です。ユーザーがSSHキーのパスワードを使用する限り、これはパリンの以前のrloginよりも多くの保護を追加します。

SSHキーを設定/生成する方法

関連情報