- 締切済み
expectを使用しない自動PW入力方法
expectを用いてPWの自動入力方法は知っているのですが 今度使用するサーバーにexpectコマンドがインストールされていません。 su -u user -c command をシェル内で使用したいのですが、もちろんuserは他ユーザなのでPW入力を求められます。 何か逃げてとなるexpectコマンド以外で良い方法ありませんか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- nazo-nazo
- ベストアンサー率39% (17/43)
私のシステム開発及びサーバ構築する経験上、サーバ管理者に設定方法より目的を提示されたほうがより良い答えが見つかるかもしれません。 No.3さんがセキュリティ及びサーバを本当に理解されて記載されているのか不明です。 技術的なセキュリティ対策はサーバ管理者にお任せすればいいと思います。
- nazo-nazo
- ベストアンサー率39% (17/43)
sshは、ソースのコンパイル又はバイナリをインストールです。expectのインストール及びNo1さんの方法を含め検討した方がいいかもしれませんね。
- entree
- ベストアンサー率55% (405/735)
expect の場合はどこかにパスワードの平文が書かれていることが前提となるでしょうから、suid よりもさらに危険です。suid であれば、そのプログラムにセキュリティホールがない限り、そのプログラムおよびサブ・プログラム以外のプログラムが user 権限で実行されることはありません。 SSH や SSL についても、キー・ファイルを su を実行するユーザが持っていることが前提ですので、セキュリティ的には expect と何ら変わりはありません。そもそも、SSH や SSL はリモート接続するために使用するものですので、ローカル接続ではあまり意味を成しません。 ちなみに、Linux には sudo というコマンドがありますので、このソースコードを改変して AIX に移植するとそれなりのセキュリティを維持できるかもしれません。(コンパイラなどの開発環境と高度なプログラミング技術が必要になるでしょうけど) > ssh大変興味深いですね、ただ私の使用しているOSが > AIXなのでsshがありません。Linuxのみですか? オープンソースなので、開発環境があれば自分の環境でコンパイルして利用できると思います。(AIX に対応しているかどうかまでは分かりません)
お礼
有難うございます。確かにExpectを使用する際にShell内にパスを書くのでセキュリティ上問題がありますね、ファイルのパーミッションを操作するくらいしか保護できませんし・・ suid、検討してみます。
- nazo-nazo
- ベストアンサー率39% (17/43)
似たような事例を少し複雑になりましたがsshでおこないました。 しかし、時間の経過と共に設定内容を忘れていくので・・・ expectを利用(install)したシンプルな設定方法がお勧めです。
補足
回答有難うございます。 ssh大変興味深いですね、ただ私の使用しているOSがAIXなのでsshがありません。Linuxのみですか? この件とは別にsshに関しては調べてみようと思います。
- entree
- ベストアンサー率55% (405/735)
結論から言えばコマンドで逃げ手となる手段はないと思います。セキュリティを犠牲にしてもよいのであれば、suid を使えば良いかともいます。 chmod u+s command chown (exec-user) command これで実行すれば、そのコマンドは exec-user 権限で実行されるでしょう。
お礼
お礼が凄く遅くなって申し訳ございません、回答有難うございます。 セキュリティは犠牲にできませんのでコマンド自体のパーミッションは変更できないんです。そこでexpectをっと考えていました。
お礼
有難うございます。 SSH等のインストールに関してはサーバー管理者と相談してみます。