RLoginでログイン後に自動でrootユーザーになる方法
RLogin、使ってますか? SEさんに知り合いが居る人ならぜひこのソフトの存在を教えてあげてください。 涙を流して喜びます。
さて、そんな曖昧な感じで説明を終えたところで本題。
RLoginのスクリプト機能を利用してログイン後の自動処理
RLoginの素晴らしいところは、マルチウィンドウでターミナル表示出来るところは当然として、私は「スクリプト機能」にあるのではないかと思います。 仕様書を見ると膨大な関数群があるわけですが、とりわけよく使うものとして以下があります。
RLoginスクリプトの関数例
関数名 | 説明 |
---|---|
Document.Open(); | ターミナルの接続開始 |
wait(CONNECT); | 接続が完了するまで待機 |
sopen(OPEN_LOOK); | ソケットを開いてコマンド入出力可能状態にする |
swait(秒数, “文字列”); | 画面に「文字列」が出るまで「秒数」待機する |
sputs(“コマンド文字列”); | 通常のターミナルで実行している「コマンド文字列」を入力する |
sclose(); | ソケットを閉じる |
ログイン後に自動でrootユーザーになる、かつapacheログをtailで監視
一つ便利なスクリプトとして、自動でrootログインし、tailコマンドでWebサーバーのログを見てみます。
Document.Open(); wait(CONNECT); sopen(OPEN_LOOK); swait(5, "$"); sputs("su -n"); swait(5, ":"); sputs("●●●●●●●●●●●●●¥n"); swait(5, "#"); sputs("tail -f /var/log/httpd/access_log¥n"); sclose();
こんな感じで、キモはsputs()を使ってコマンドを入力し、最後に「¥n」でリターンさせているところです。 swait()の部分はプロンプトで表示される「$」や「#」を待つことで完了したことを把握します。 応用するといろいろできると思います。
スクリプトはテキストファイルにまとめておくと便利
RLoginの良いところは、上記のようなスクリプトを外部にテキストファイルとして保存し、使い回しができるところでしょう。
rootパスワードを変更した際や、コマンドのパラメータを変えたい場合でも一気に変えることができます。
これを使わない手はないですよね。
2014-02-11