# Beim kopieren Dateirechte vererben

## schmidicom

Ich möchte einen Ordner auf dem selben System verschieben und dabei sowohl die Rechte des Ordners wie auch seines Inhalts durch die Rechte (inkl. ACL's) des neuen übergeordneten Ordners ersetzen, nur finde ich mit google keine Lösung dafür. Die Dateirechte nach dem kopieren von Hand neu setzen wäre mir zu kompliziert vor allem weil es eben ACL's sind.

Weiß hier jemand wie ich das hinbekommen könnte?

----------

## fuchur

Hi

Wie wäre es den wenn du sie doch im nach hinein mit chmod setzt. "chmod --help" zeigt 

```
...

--reference=RDATEI verwendet den Modus von RDATEI statt des

                               angegebenen MODUS
```

 solltest dann den Überordner als "RDATEI" nehmen

in verbindung -R. Müsste eigentlich funktionieren ohne das ich das selber getestet habe.

MfG

----------

## schmidicom

Ich dachte immer chmod könnte nicht mit ACL's umgehen? Aber versuchen werde ich es, mal sehen was passiert.

----------

## fuchur

Hi

Nun ja, da gibt es noch "setfacl" sollte aber auch damit keine Zauberei sein wenn man mal "setfacl --help" eingibt.

MfG

----------

## schmidicom

Also das mit chmod hat wie erwartet nicht funktioniert und setfacl scheint sowas wie reference nicht zu kennen...

----------

## fuchur

Hi

 *schmidicom wrote:*   

> Also das mit chmod hat wie erwartet nicht funktioniert und setfacl scheint sowas wie reference nicht zu kennen...

 

Dann scheinen wohl beide Programme buggy zu seine sehr wahrscheinlich auch "getfacl", musst halt mal ein Buggreport aufmachen nicht das noch andere

in die gleiche "Falle" laufen ... 

Mfg

----------

## mv

Since coreutils mit USE="acl xattr" installiert?

----------

## schmidicom

 *mv wrote:*   

> Since coreutils mit USE="acl xattr" installiert?

 

```
server ~ # qlist -IvU coreutils

sys-apps/coreutils-8.20 (acl gmp nls xattr)
```

Inzwischen habe ich die Rechte, Besitzer, Gruppe und ACL's von Hand Rekursiv nachgebastelt da die Zeit drängte und ein Lösung her musste. Bis jetzt scheint es zu funktionieren.

----------

## mv

Der "übliche" Weg ist die Benutzung von 2 tar's über eine Pipe: tar kann mit Sicherheit acl's (benötigt aber ev. entsprechende Optionen); als Alternative gibt es noch star.

----------

## firefly

 *mv wrote:*   

> Der "übliche" Weg ist die Benutzung von 2 tar's über eine Pipe: tar kann mit Sicherheit acl's (benötigt aber ev. entsprechende Optionen); als Alternative gibt es noch star.

 

Ich glaube du hast ihn missverstanden. Er möchte nicht die ursprünglichen rechte/acls beim Kopieren beibehalten, sondern die kopierten Dateien/Verzeichnisse sollen die Rechte/acls vom neuen "Parent" Verzeichnis (in das die Dateien/Verzeichnisse kopiert werden) erben.

----------

## schmidicom

 *firefly wrote:*   

>  *mv wrote:*   Der "übliche" Weg ist die Benutzung von 2 tar's über eine Pipe: tar kann mit Sicherheit acl's (benötigt aber ev. entsprechende Optionen); als Alternative gibt es noch star. 
> 
> Ich glaube du hast ihn missverstanden. Er möchte nicht die ursprünglichen rechte/acls beim Kopieren beibehalten, sondern die kopierten Dateien/Verzeichnisse sollen die Rechte/acls vom neuen "Parent" Verzeichnis (in das die Dateien/Verzeichnisse kopiert werden) erben.

 

Ja genau das, und unter Windows kann man mit xcopy angeblich erreichen das die alten Rechte beim kopieren gelöscht und folglich durch die des neuen "Parent" ersetzt werden. Also dachte ich das es auch unter Linux sowas geben müsste aber irgendwie scheint das hier wohl kein Bedürfnis zu sein.

----------

## boospy

Hallo Leute,

mit Unixacl's arbeite ich schon seit einiger Zeit. Ist sehr angenehm mit ein paar kleinen Ausnahmen. Es gibt immer zwei Optionen. Mit der einen setzt einen Ordner DefaultACLs die dann immer weiter vererbt werden. Mit der zweiten Option setzt die ACLs des Ordners. Beispiel:

```
setfacl -R  -d -m group:vdr:rwx /home/vdr-aufnahmen

setfacl -R  -m group:vdr:rwx /home/vdr-aufnahmen
```

Das würde der Gruppe VDR also alle Rechte einräumen. Beachte aber folgendes. Beim Kopieren von einem ACLbereich in einen anderen wird immer die ACL/REchte des Ziels übernommen. Beim verschieben bleiben die Rechte der Quelle erhalten. Das gilt nicht bei übergreifenden Dateisystemen. Also wenn du beispielsweise was von deinem lokalen Home in ein NFSshare verschiebst werden trotzdem die Rechte/ACL des Ziels übernommen. 

Und ja das nervt. Hab mal was gelesen das man mit dem Kernelscheduler so solche Verzeichnisse überwachen kann. Dann könnte man was verschieben egal wo man steh und Scheduler setzt die ACLs live.

Hier nochmal alles genau zum nachlesen: http://wiki.ubuntuusers.de/ACL

lg

boospy

----------

