Ich bin mit der Lösung nicht ganz einverstanden. Mein Vorschlag (rwxr-xr-x) wurde als falsch gewertet. Ich vermute die "richtige" Lösung ist rw-r--r--. Dies stimmt aber imho nur wenn die Datei mit den Rechten 0666 angelegt wird. Wenn ein Programm versucht, eine Datei mit den Rechten 0777 anzulegen, dann hätte die resultierende Datei die Rechte 0755, also rwx-r-xr-x.
Auch wenn 0666 die Vorgabe beim Anlegen von nicht ausführbaren Dateien ist, so kann mich (als Entwickler) niemand zwingen mich daran zu halten. Ausserdem spezifiziert die Frage nicht den Typ der Datei. Daher sind die maximal möglichen Rechte für irgendeine Datei 0755 und damit wäre Anwort 1 richtig... es sei denn ich steh grad aufm Schlauch :)
Lösung
Nudge (Gast)
· 12. März 2010, 22:14
Ja, das habe ich ebenso gedacht. Natürlich stellt sich die Frage, wie man die 755 schafft. Also die Datei anlegen und dann die Execute-Rechte setzen. Insofern wäre nach dem Neuanlegen der Datei tatsächlich 644 die richtige Antwort.
Lösung
MiniMe (Gast)
· 15. März 2010, 09:41
Natürlich stellt sich die Frage, wie man die 755 schafft.
"touch" ist nicht das einzige Werkzeug, um eine Datei zu erzeugen ;) In dem Fall hätte "/meine/datei" die Rechte 755.
Verzeichnisse
bernd (Gast)
· 6. Oktober 2010, 14:15
Sind Verzeichnisse keine Dateien?
Außerdem störe ich mich an dem "maximale Rechte", da Umask halt nur die Standard-Rechte vorgibt, falls nichts anderes angegeben ist, und nicht die maximalen Rechte, welche ich einräumen kann.
Verzeichnisse
Anselm Lingnau (eingetragen)
· 6. Oktober 2010, 16:28
Aus der Sicht der umask sind Verzeichnisse keine Dateien.
(Man kann sicher argumentieren, dass auf der physikalischen Ebene des Dateisystems Verzeichnisse Dateien verflixt ähnlich sehen – mit Inodes und so weiter –, aber das ändert nichts an der Tatsache, dass man außerhalb des Kernels völlig andere Systemaufrufe braucht, um auf Verzeichnisse zuzugreifen, als auf Dateien. Was uns Linux/Unix-Benutzer anbetrifft, sind Verzeichnisse also in der Praxis keine Dateien.)
umask Lösungshinweis
Oliver Lau (eingetragen)
· 6. April 2011, 20:19
Die umask 022 wird bei Dateien von 666 und bei Verzeichnissen von 777 subtrahiert. Dann kommt man zu der richtigen Lösung.
Standardmäßig ist die umask auf 022 gesetzt. Man kann sie sich mit dem Kommando umask anzeigen lassen und verändern.
Sernastenda
zu home:
seo tool gabon http://onlineplacementseo.info/search-engine-optimization/engine-engine-marketing-placement-search-search search ...
Lösung
MiniMe (Gast) · 12. Januar 2010, 15:35
Ich bin mit der Lösung nicht ganz einverstanden. Mein Vorschlag (rwxr-xr-x) wurde als falsch gewertet. Ich vermute die "richtige" Lösung ist rw-r--r--. Dies stimmt aber imho nur wenn die Datei mit den Rechten 0666 angelegt wird. Wenn ein Programm versucht, eine Datei mit den Rechten 0777 anzulegen, dann hätte die resultierende Datei die Rechte 0755, also rwx-r-xr-x.
Auch wenn 0666 die Vorgabe beim Anlegen von nicht ausführbaren Dateien ist, so kann mich (als Entwickler) niemand zwingen mich daran zu halten. Ausserdem spezifiziert die Frage nicht den Typ der Datei. Daher sind die maximal möglichen Rechte für irgendeine Datei 0755 und damit wäre Anwort 1 richtig... es sei denn ich steh grad aufm Schlauch :)
Lösung
Nudge (Gast) · 12. März 2010, 22:14
Ja, das habe ich ebenso gedacht. Natürlich stellt sich die Frage, wie man die 755 schafft. Also die Datei anlegen und dann die Execute-Rechte setzen. Insofern wäre nach dem Neuanlegen der Datei tatsächlich 644 die richtige Antwort.
Lösung
MiniMe (Gast) · 15. März 2010, 09:41
Ungefähr so:
int main() { creat("/meine/datei", S_IRWXU | S_IRWXG | S_IRWXO); return 0; }
"touch" ist nicht das einzige Werkzeug, um eine Datei zu erzeugen ;) In dem Fall hätte "/meine/datei" die Rechte 755.
Verzeichnisse
bernd (Gast) · 6. Oktober 2010, 14:15
Sind Verzeichnisse keine Dateien?
Außerdem störe ich mich an dem "maximale Rechte", da Umask halt nur die Standard-Rechte vorgibt, falls nichts anderes angegeben ist, und nicht die maximalen Rechte, welche ich einräumen kann.
Verzeichnisse
Anselm Lingnau (eingetragen) · 6. Oktober 2010, 16:28
Aus der Sicht der umask sind Verzeichnisse keine Dateien.
(Man kann sicher argumentieren, dass auf der physikalischen Ebene des Dateisystems Verzeichnisse Dateien verflixt ähnlich sehen – mit Inodes und so weiter –, aber das ändert nichts an der Tatsache, dass man außerhalb des Kernels völlig andere Systemaufrufe braucht, um auf Verzeichnisse zuzugreifen, als auf Dateien. Was uns Linux/Unix-Benutzer anbetrifft, sind Verzeichnisse also in der Praxis keine Dateien.)
umask Lösungshinweis
Oliver Lau (eingetragen) · 6. April 2011, 20:19
Die umask 022 wird bei Dateien von 666 und bei Verzeichnissen von 777 subtrahiert. Dann kommt man zu der richtigen Lösung.
Standardmäßig ist die umask auf 022 gesetzt. Man kann sie sich mit dem Kommando umask anzeigen lassen und verändern.
Oliver Lau, Einbeck