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の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
Visual C++でdebugとreleaseで...
-
排他的論理和 BCC(水平パリテ...
-
Javaでのある数の小数点乗に...
-
★PHP★平日、休日の区別はできま...
-
素数を自動的に作る
-
骨折リスク評価のFRAXについて...
-
C言語 log実装
-
VBAで関数をつくる
-
C言語初心者。静磁場の計算。台...
-
エクセルで特定のセルのみを任...
-
60進数の四則計算
-
傾いた四角形内の範囲の条件式
-
数値計算の高速化 (cos, sin, exp)
-
C言語で電卓を作成する。修正お...
-
関数電卓をc言語でつくりたいの...
-
変化させるセルが変化しない
-
prolog計算
-
CRC8を教えてください
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
排他的論理和 BCC(水平パリテ...
-
EXCELなどで「返す」という表現
-
バッチファイルでウインドウを...
-
モジュラス103の計算とは何でし...
-
傾いた四角形内の範囲の条件式
-
Visual C++でdebugとreleaseで...
-
変化させるセルが変化しない
-
骨折リスク評価のFRAXについて...
-
C# 計算処理中に実行中ウィン...
-
VBAでの勤務時間計算
-
べき乗の計算が遅い理由
-
C言語についてです。 再帰を使...
-
Excel VBAにてFFT
-
数値計算の高速化 (cos, sin, exp)
-
VBとVBAの違い
-
VB6で正確なミリ秒を計測したい...
-
スレッド処理からダイアログを...
-
matlabで計算終了
おすすめ情報