- 締切済み
シェルの「su - 」について
シェルの中に「su - root -c」と「su root -c」と書かれた部分があります。 「su - root -c」にすると、bashまでrootになってしまって危険が伴うと思うのですが、そのようにする必要があるでしょうか? また2つをどのように使い分けたほうが良いでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4901/10362)
回答No.2
>「su - root -c」にすると、bashまでrootになってしまって危険が伴うと思うのですが もしかして、「su root -c foo」だとシェルを起動しないと思っているのでしょうか? su root -c fooでも su - root -c foo でもrootのログインシェルに指定されたシェルを起動してそのシェルがfooコマンドを実行します。 違いは、そのシェルが起動時にどの設定ファイルを読み込むかです。 シェルがbashの場合の違いは、man bashの「起動」の部分の ・--login オプション付きの非対話的シェルとして起動されると、 ・非対話的に起動されると、 の部分を読み比べてください。
- OKwebb
- ベストアンサー率44% (92/208)
回答No.1
環境変数を引き継ぎたい場合に「su - root -c」を使うかな。 Linuxの場合だったら su はほとんど使わず sudo を使うけど。
質問者
お礼
回答有難う御座いました!
お礼
回答有難う御座いました。 うまく行きました!