sudo を使用した ssh コマンドからユーザーの変数値にアクセスする
Issue
- A と B の 2 つのシステムがあります。
- System B には test1 と userX の 2 つユーザーがあります。どちらも
sudoユーザーです。 - System A からスクリプトを実行し、userX の信用情報を使用して System B にアクセスし、
sudoを実行し、コマンドラインオプション-cを追加したsuを実行する必要があります。 - この操作を、人的介入なく自動的に実行できるようにスクリプトを作成します。
- このスクリプトから test1 ユーザーの変数にアクセスするにはどうすれば良いですか?
- この変数はグローバルではありません。以下のように、変数は
.bash_profileに宣言されています。
[test1@localhost ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
.~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
VAR=test1
export PATH VAR
- スクリプトに追加するコマンドは以下のようになります。
# ssh userX@192.168.0.254 sudo su - test1 -c 'echo $VAR'
- ここで System B は 192.168.0.254 なので、変数
VARはその中の値を表示するはずです。
Environment
- Red Hat Enterprise Linux 6
sudo
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
