Post by Christian Garbscat cert-out/cgarbs.crt > /etc/news/cert.pem
% ls -l /etc/news/cert.pem
-rw-r--r-- 1 acme-tiny news 3786 Dec 3 00:00 /etc/news/cert.pem
cat(1) ist an der Stelle total praktisch, da durch die
Ausgabeumleitung die Dateirechte erhalten bleiben (cp(1) macht das
soweit ich weiß nicht).
Genau.
Das Shell öffnet bei Ausgabeumlenkung (»> Zieldatei«) die zu
beschreibende Datei mit den (potentiellen) Zugriffserlaubnissen
Lesen und Schreiben für den Eigentümer, seine Gruppe und alle
anderen:
open("Zieldatei", O_WRONLY | O_TRUNC | O_CREAT, 0777)
Wenn es die Zieldatei schon gibt, wird an den Zugriffserlaubnissen
nichts geändert.
Wenn es die Zieldatei noch nicht gibt, sie also dadurch erzeugt
wird, erhält sie als Zugriffserlaubnisse die angegebenen (allen
das Lesen und Schreiben zu erlauben), eingeschränkt durch – falls
vorhanden – die default access control lists des Verzeichnisses,
in dem der Dateiname erzeugt wird oder – falls nicht vorhanden –
das umask.
»cp« ermittelt im Gegensatz dazu zuerst die Zugriffserlaubnisse
der Datei, von der kopiert werden soll, und gibt sie als dritten
Parameter beim Öffnen der Zieldatei an.
Wenn es die Zieldatei schon gibt und sie wiederverwendet werden kann,
wird an den Zugriffserlaubnissen nichts geändert.
Wenn sie nicht wiederverwendet werden kann, wird sie – wenn das
Option »-f« angegeben ist – entfernt.
Wenn es diese Datei noch nicht (oder jetzt nicht mehr) gibt, sie
also dadurch erzeugt wird, erhält sie als Zugriffserlaubnisse die
Zugriffserlaubnisse der Datei, von der kopiert wird, eingeschränkt
durch – falls vorhanden – die default access control lists des
Verzeichnisses, in dem der Dateiname erzeugt wird oder – falls
nicht vorhanden – das umask.
Wenn man »cp« das Option »-p« mitgibt, passt »cp« nach dem
Kopieren (u.a.) die Zugriffserlaubnisse an die der Kopierquelle
an.