次のコマンドを使用して、サーバー上のファイルを解凍しました。
unzip filename
ただし、これにより、すべてのファイルの所有者/グループの権限が0 0
。
アップロードしたファイルはPHP
ソフトウェアスクリプトだったので、ファイルを解凍するときに権限を適切に設定するにはどうすればよいですか。
Zipは、私の知る限り、ファイルの所有権/権限の保存をサポートしていません。 unmaskがこれらの権限を持つファイルを作成するように、umaskを設定してみてください。走る
umask 644
unzip
の前。
実際、ここのいくつかの答えは正しくありません。 Zipファイルには、ファイルのアクセス権も設定できます。 (*)次のコマンドを使用して、Zipファイル内のファイルの権限をリストできます。
unzip -Z
おそらく、Zipファイルの作成に使用したツールが権限を保存していないか、権限を正しく保存していない可能性があります。
したがって、自分でZipファイルを作成した場合、Zipファイルを作成したツールを確認してください。たぶん、(mavenのように)zipする前にパーミッションを設定する方法があるか、または元のパーミッションを保持します(ただし、これは、パーミッションをサポートするシステムでのみ機能します-つまり、Windowsでは機能しません)。
Zipファイルを自分で作成しなかった場合の場合、解凍後に適切な権限を設定することが唯一のチャンスです。たとえば、
chmod -R [permissions] [directory]
(*)その機能をMavenアセンブリプラグインと組み合わせて使用します。Zipファイルに入れるファイルのfileModeを指定できます。