

Perl初心者です。現在、ユーザのホームディレクトリのディスク容量を
Webでチェックできるcgiを作成しています。
my (~,$home,~)= getpwnam($user);
でユーザのホームディレクトリを取得して、
use File::Find
で容量を計算するところまではなんとか動くようになったのですが、ユ
ーザのホームディレクトリのパーミッションによっては、計算できない
ことがわかりました。
ホームディレクトリのパーミッションが、dwrx--x--x(711)だと計算で
きないのです。dwrxr-xr-x(755)なら計算できます。ほとんどのユーザ
が711なので全く意味がありません。
調べてみると、作成したCGIの権限がnobodyであることがわかりました
がここで行き詰まってしまいました。
現在ログインしているユーザの権限でCGIを実行させる方法がありまし
たらお教えください。できれば、CGIの組み方で回避できれば嬉しいの
ですが、環境やパーミッションを変更しないといけないのでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
サーバーのセキュリティーを低下させるのでsetuid出来ないように
なっているところがほとんどです、確かrim netなんかはcgiスクリ
プトの実行権限がユーザー毎になっていたと思いますが、そのよう
なところでないと駄目でしょう。ちなみに、お望みのような事が出
来る回避方法がそのサーバーに公式に用意されたものでなければ、
その行為は一種のクラッキングです。
ところでなんで755とか705じゃいけないんですか?
marimo_cx
この回答への補足
回答ありがとうございます。
>ところでなんで755とか705じゃいけないんですか?
複数のユーザが、Web上で各々のユーザIDを入力することでディスク容量をチェックできるようにしたいのです。他ユーザのパーミッションを勝手に変更することができないのです。
ユーザホームディレクトリは、SunOsのファイルサーバに存在していてそれをLinux上で動くこのCGIでさせようようとしています。
root権限をもっていますので、サーバの設定を変更することは可能です。回答の中でSetuidはセキュリティが低下するとありますが、これを(いまはそれが何かわかりません)使用すれば、ユーザ権限でCGIを動作できるのでしょうか?Setuidについて調べてみようと思います。
回答ありがとうございました。ApacheのsuEXECを導入して試してみようと思います。汚染された変数等、問題が次々と...初心者の私には何がなんだか..?
一歩前進することが出来ました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- その他(開発・運用・管理) ユーザ権限でソフトを起動すると必ず管理者パスワードをきかれてうまく利用できない 3 2022/05/10 00:07
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
- 数学 新規ユーザ数の波 14 2022/07/11 18:44
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- 公認会計士・税理士 申告書等の税理士欄について 5 2022/09/14 17:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
DLL(VC++で作った)で稼動中の...
-
CGIの実行権限(ディスク容...
-
VBAの再計算が反映されない件に...
-
VBAで関数をつくる
-
趣味で「乗換案内」みたいなソ...
-
逆行列求めたい
-
C# C1FlexGrid SUBTOTAL で計算式
-
表示アプレットと計算用プログ...
-
EXCELなどで「返す」という表現
-
fortranでプログラムをつくった...
-
数値計算の高速化 (cos, sin, exp)
-
プログラムが中断してしまう
-
VBAでユーザー定義関数作りにチ...
-
matlab計算での進捗状況を知りたい
-
整数aを入力し、aの2乗、3乗...
-
引き放し法による除算アルゴリ...
-
太陽の位置計算のプログラムを...
-
C言語 Σをつかったプログラム
-
[急募]Pythonについてです。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
排他的論理和 BCC(水平パリテ...
-
EXCELなどで「返す」という表現
-
変化させるセルが変化しない
-
エクセルで特定のセルのみを任...
-
CとFORTRANの計算速度はどちら...
-
モジュロ
-
バッチファイルでウインドウを...
-
Visual C++でdebugとreleaseで...
-
y=(x^2 +3x+1)^4を微分の定義を...
-
入射角反射角
-
スレッド処理からダイアログを...
-
60進数の四則計算
-
Javaと他言語比較について
-
VBAで関数をつくる
-
C言語 Σをつかったプログラム
-
CRC8を教えてください
-
C言語についてです。 再帰を使...
-
C言語について 下の画像は do-w...
おすすめ情報