正しい許可を取得しながらファイルを解凍しますか?


17

次を使用して、サーバー上のファイルを解凍しました。

unzip filename

ただし、これにより、所有者/グループのアクセス許可を持つすべてのファイルが発生したようです0 0

アップロードしたファイルはPHPソフトウェアスクリプトだったので、ファイルを解凍するときにアクセス許可を適切に設定する方法と、ファイルの設定方法を知りたいのですが。

回答:


10

私が知っている限り、Zipはファイルの所有権/アクセス許可の保存をサポートしていません。unzipがこれらの権限でファイルを作成するように、umaskを設定してみてください。走る

umask 644

前にunzip


実際にウィンドウで圧縮されていました、ごめんなさい。
ブレット

1
Windows上で作成されたか、* nix上で作成されたかは関係ありません。Zipは、UNIXファイルのアクセス許可をサポートしていません。作成場所に関係なく。
lawl0r

ええ、私は知っています...しかし、あなたは私がumaskこれらの許可でzipを作成するように設定することができると言いました。しかし、私は窓でそれを行うことができるとは思わない?
ブレット

unziping
lawl0r

8
@ lawl0rはい、できます。それらを表示するには、-Zオプションを使用します。
OrangeDog

20

実際、ここでのいくつかの答えは正しくありません。ZIPファイルには、ファイルのアクセス許可も設定できます。(*)以下を使用して、ZIPファイル内のファイルの権限をリストできます。

unzip -Z

ZIPファイルの作成に使用したツールに、アクセス許可が保存されていないか、正しく保存されていない可能性があります。

したがって、ZIPファイルを自分で作成した場合は、ZIPファイルを作成したツールを確認してください。zipする前にパーミッションを設定する方法があるかもしれません(mavenなど)、または元のパーミッションを保持します(しかし、それはパーミッションをサポートするシステムでのみ動作します-つまり、Windowsでは動作しません)。

自分ZIPファイルを作成しなかった場合、唯一のチャンスは、解凍後に正しいアクセス権を設定することです。たとえば、

chmod -R [permissions] [directory]

(*)この機能は、Mavenアセンブリプラグインと組み合わせて使用​​します。このプラグインでは、ZIPファイルに入るファイルのfileModeを指定できます。


1
私はあなたが正しいと思いますが、答えを提案する方法は正しくありません。あなたは...新しいものでは批判するより良い答えを提供するために、焦点を当てるべきである
フランシスコタピア

2
@FranciscoTapia私は答えを更新しました(いくつか試してみました)が、他の答えが間違っているというヒントは残しておきます。私はそれが重要だと思います。
デビッドタンザー

1
UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler.Windows / mingwで。現在、Linuxボックスにアクセスできませんが、-Zも機能します。とにかく、ヒントをありがとう!
デビッドタンザー

3
@David Tanzer、あなたの答えは受け入れられなくても最高です。実際、アーカイブ(Windows、Linuxなど)の起源は重要です。Linux(Zip 3.0UnZip 6.00)でテストしました。ファイルがアーカイブに配置されると、アクセス許可が保存されます。そして、それらは抽出されたファイルで復元されます(Linuxでファイルが抽出されたときなど)。Windowsボックスで抽出する場合、明らかにアクセス許可は適用されません。解凍中にパーミッションを保持せず、umaskを尊重する特定のスイッチ(tarのような--no-same-permissions)をunzipで見るのは本当にクールです。
flaz14

1
@DanielFパーミッションは、作成プログラムがそれらをそこに置いた場合にのみ存在するため、アーカイブがWindowsで作成された場合、zipinfo/ unzip -Zは推測しかできません。アクセス許可があるかどうかを確認するには、zipinfo -v/ unzip -Zvを使用し、「MSDOS以外の外部ファイル属性」を探します。「ファイルシステムまたはオペレーティングシステムの起源」がUNIXである場合、2つの最上位バイトはUNIXのアクセス許可(8進数ではなく16進数)です。
アレックスシュピルキン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.