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.
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.