初めて自分の家と他人の家が違う、と意識した時

こんにちわ。linuxを利用してのサーバー公開を目指して勉強しています。
ファイルやディレクトリの権限について学んでいる中で疑問に思ったのですが、CGIなどのWEBアプリケーションや、tomcat、apache等のサーバーアプリケーションの実行権限(root、一般ユーザー)は、何に依存しているのでしょうか?
例えば、tomcatの起動スクリプトや本体のファイルがrootの所有であった場合、tomcatが行うファイルアクセス等もroot権限で行われるのでしょうか。それとも別にそれを記述するファイル等が存在しているのでしょうか?

A 回答 (2件)

実行させるユーザに依存。



サーバアプリなら一般的には専用ユーザを準備します。子プロセスならnobodyなどもありますね(Apacheならhttpd.confで指定)。
指定の仕方はアプリに依存します。

所有者とは関係ありません。単純に実行権限があればよいだけなので。

昔はrootで全て実行されていた時代もありましたが(確か)、プロセスをのっとられてしまうとroot権限をのっとられてしまうのと同じなのでユーザを分ける事になったかと。

この回答への補足

すいません。お礼に書いた文章ですが、勘違いしていたようです。
実行させるユーザに依存するとのことなので、rootでインストールした後、実行権限を一般ユーザに与えるようにしようと思います。
ただ、自動起動の設定をした場合などはどのようになるのでしょうか?ntsysvなどはrootから起動するように思ったので。

補足日時:2006/10/07 20:53
    • good
    • 0
この回答へのお礼

解答ありがとうございます。
なるほど。実行させるユーザによるのですね。
virtual pcを使い、Lan内に未公開サーバーを設置して色々練習もしているのですが、tomcatをrootでインストールしていいものか考え込んでいました。専用のユーザを作成して、インストールしてみようと思います。

お礼日時:2006/10/07 20:34

一般的に


 どのサーバも起動直後は、root権限
で動いています。

その後、サーバソフトウェアは
 自分のroot権限を一般ユーザ権限へと変更します。
(setuid(2), setgid(2)をcall)

このroot権限から一般ユーザ権限への変更タイミングは
サーバソフトウェアにより異なります。

また、その設定ファイルも
サーバソフトウェアにより異なります。

一般的なLinuxOS上の話としては、以上です。
    • good
    • 0
この回答へのお礼

解答ありがとうございます。お礼が大変遅れてしまって申し訳ありませんでした。

お礼日時:2007/03/15 10:54

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