0

perl コードの値は : ex.pl

system("cat /etc/shadow");

上記のファイルをルートに chown (chown root ex.pl) します。私の質問は、グループ (例: apache) のユーザーが上記の perl ファイルを実行すると、シャドウ ファイルが彼にカテゴライズされますか? 前もって感謝します 。

4

2 に答える 2

2

自分で試してみてください。機能しない理由を理解するには:

/etc/shadow通常、次のような権限があります。

[cnicutar@fresh ~]$ ls -l /etc/shadow
-rw------- 1 root root 316 Jul 20 09:36 /etc/shadow

スクリプトを実行するとき、誰がそれを所有しているかは問題ではありません (ただし、スクリプトに使用できない setuid を使用する場合を除く)。
重要なのは、誰がそれを実行しているかです。したがってapache、スクリプトが実行され、「その他」と見なされます。権限はありません。

于 2011-07-29T21:15:01.577 に答える
0

いいえ、perl コード (CGI スクリプト?) は apache ユーザーの権限で実行されるためです。ただし、Apacheユーザー(またはWebサーバーのユーザー、またはデーモンの場合はコードを実行しているもの)がsudoファイルにある場合は、 system("sudo cat /etc/shadow"); を実行できます。そしてそれはうまくいくでしょう。

于 2011-07-29T21:13:28.190 に答える