プロが教えるわが家の防犯対策術!

SE初心者です。
telnet(bash)でスクリプトを作成しています。
root実行権限のあるシェルを
別ユーザーで実行させるために(rootのパスは暗号化させて)親シェルを作成したいです。
su - でパスワードを聞かれた時に対話式で暗号化したパスワードを組み込むシェルを作成したいのですが行き詰まってます。。。
色々調べたのですが知識が無いので理解するのもやっとです…
ちなみに、sudoは使えません。
expectも使えませんでした…

親シェルの中身としては、
1.su -
2.パスワード(暗号化)
3.rootで実行したいシェル
のみの、シンプルなものを期待しています…
有識者の方、ご教授お願いします。

A 回答 (2件)

その条件では無理です。


別の方法を考えましょう。

例えばsudoの使えない原因を撲滅するとか。
    • good
    • 0

そのシェルスクリプトを呼び出すプログラムを作ってそのオーナーをrootにしてSUIDするんじゃ駄目かな。

例えば、
int main() {
setuid(0);
system( "/path/to/script.sh" );
return 0;
}
というCプログラムを作る。コンパイルする。これのオーナーをroot.usersにする。パーミッションを4550にする。
/path/to/script.shはオーナーはroot.rootにしてパーミッションは0700にする。
また、このプログラム中の/path/to/script.shは絶対に絶対パスで指定して、絶対に「プログラムと同じ場所にあるscript.shを実行」とかしない事。

~~~~

ANo.1の方もおっしゃってるけど、suでパスワードを撃破するくらいなら別の方法を考えるか諦めるかした方がいいと思う。仮に実現できたとしてもパスワードなしでsuができるってのはパスワード無しにrootになれるsudoが全ユーザーに開放されてるって事だよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!