Beim Extrahieren einer tgz
Datei ist mir aufgefallen, dass sich die Berechtigung in etwas Seltsames ändert! Die tgz-Datei gehört zu root: root, der Ordner gehört jedoch zu 502: games
[root@rocks7 common]# ls -l
-rw-r--r-- 1 root root 4779534 May 2 2012 scalapack-2.0.2.tgz
[root@rocks7 common]# tar xf scalapack-2.0.2.tgz
[root@rocks7 common]#
[root@rocks7 common]# ls -l
total 98576
drwxr-xr-x 10 502 games 4096 May 2 2012 scalapack-2.0.2
-rw-r--r-- 1 root root 4779534 May 2 2012 scalapack-2.0.2.tgz
Was ist das Problem hier?
centos
tar
compression
Mahmood
quelle
quelle
--no-same-owner
Antworten:
Der Tarball enthält ein
scalapack-2.0.2
Verzeichnis, das der Benutzer-ID 502 gehört, und jede Gruppen-ID, die der Spielegruppe (oder möglicherweise der Spielegruppe nach Namen) entspricht. Sie können dies sehen, indem Sie ausführenTar-Archive speichern zusätzlich zu den Dateiinhalten Eigentümer und Berechtigungen. Da Sie als Root extrahieren, werden diese Metadaten auf die extrahierten Dateien angewendet. Das Eigentum am Tarball selbst hat keinen Einfluss auf das Eigentum an den extrahierten Daten.
Da Sie CentOS ausführen , wird vermutlich GNU ausgeführt
tar
, und Sie können die Optionen--no-same-owner
und verwenden--no-same-permissions
, um Tarballs zu extrahieren, ohne die gespeicherten Eigentumsrechte und Berechtigungen anzuwenden. Anderetar
Implementierungen haben möglicherweise ähnliche Optionen ( z . B.-o
unter FreeBSDtar
).quelle
pax
hat dafür die (standardisierte) Option-p p
(p
nurp
Erlaubnisse reservieren).