私は自分のウェブサーバにrootで、私は自分のウェブサイトを管理するためのperlスクリプトを書いていました。ブラウザから呼び出され、このスクリプトは保守のためのユーザーインターフェイスを表示します。私のブラウザからこのスクリプトを起動できるようにするには、ユーザー名とパスワードを入力する必要があります。だから誰も私がこのスクリプトを実行することはできません。cgi-perl-scriptがroot-authorizationを使って作業を行う方法を教えてください。
私は、このボタンをクリックすると、サーバー上のいくつかのファイルの名前を変更します。 perlスクリプトから私はシェルコマンド`mv oldFilename newFilename`
を呼び出しますが、何も起こりません。 Apacheのエラーログはこのメッセージを表示:
[timestring] [エラー] [クライアントNNNN] MV:アクセスが拒否されました、リファラ:newFilenameにoldFilenameを移動することはできませんリファラ
ファイル名の所有者はrootで、アクセス許可は0644に設定されています(誰でも読むことができ、rootのみが書き込み可能)
この問題の最適な解決策は何ですか?ファイルのアクセス権を0666に変更するよりも良い方法はありますか?私はパーミッションを変更したくないです。 "シェルの親愛なる、ここにrootのパスワードです。"
システムのすべてのディレクトリを「0775」に、すべてのファイルを「0664」に変更する必要はありません。 –
それは働いた!ありがとうございました! –