3

ファイルのアップロードを許可するWebサイトサーバーを移植しました。これで、ubuntu11.04でvpsが実行されます。アップロードされたファイルは、他のフォルダーと同様に、所有者:rootとグループ:rootを持つフォルダー呼び出しファイルに保存されます。

しかし、問題は、php関数(readfile())を実行してフォルダーからファイルを読み取ろうとしたときに、そのファイルが読み取られなかったことです。しかし、フォルダーの所有者とグループを10000と1005に変更した場合、これはと同じです。以前のサーバーにありました。PHPは、ファイルとダウンロードが開始されたことを即座に検出しました。何が問題なのか、どうやって起こったのか推測できませんでした。ファイルとそのコンテンツグループおよび所有者をrootに変更しようとしたためです。

誰かがこれがどのように起こったのか、そしてそれを再び自分のグループまたは所有者に変更する方法を説明できますか?また、現在私のVPSには10000および1005という名前のグループおよび所有者はありません。

サーバー上で行われたバグやハッキングのようなものですか。

4

1 に答える 1

4

ubuntu apache のユーザーはwww-data.

最初のシナリオでは、apache に正しいアクセス権がありませんでした。/var/www ディレクトリの 12.04 のデフォルトのアクセス許可を例にとります。

-rw-r--r-- 1 root root 177 Sep 15 11:43 index.html

ご覧のとおり、apache はこのファイルにしかアクセスできません。そして、それはそれがする必要があるすべてです。最初のセット-rw-はユーザーに対応します。パーマの 2 番目のセットはr--グループに対応し、3 番目のセットr--はそれ以外の全員に対応します。

php が実行されているwww-dataため、このファイルに書き込むことはできません。

uploadを使用して /var/www にディレクトリを作成すると、sudo mkdir uploadsアクセス許可が与えられます。

drwxr-xr-x 2 root root 4096 Nov 8 11:59 uploads

もう一度www-data、アップロード ディレクトリに書き込めません!

「その他」のアクセス許可を開くことができます (実際には www-data のみを書き込み可能にしたい場合に、どのユーザーもこのディレクトリに書き込むことができるため、良くありません)、www-dataこのディレクトリの所有者として追加できます。グループなどを作成しadminてそれにwww-dataを追加することもできます(または、www-data他のユーザーがそれを使用する必要がない場合はグループを変更するだけです。おそらく他の多くのより安全な方法です。私はシステム管理者ではありません。それがserverfaultの理由です)良いでしょう:))

ユーザーの問題に関しては、ユーザーが存在せず、使用しようとすると問題が発生しますchown

daniel@daniel:/var/www$ sudo chown doesnotexist:stuff uploads/
chown: invalid user: doesnotexist:stuff'

プレスネットのユーザーを確認しましたか? groupsまたはcat /etc/passwd? _

于 2012-11-08T17:01:34.143 に答える