Thread chmod nutzlos? - Ubuntu (13 answers)
Opened by Snicker at 2008-11-20 20:32

murphy
 2008-11-21 18:09
#116495 #116495
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Snicker+2008-11-21 16:51:25--
[...]
1.
beim chmod ändert sich leider nichts. Eine Fehlermeldung bekomme ich auch nicht zurück. Tippe mal, dass es an der Live session liegt.


Wenn die Datei auf einem unixfremden Dateisystem liegt, also zum Beispiel auf einem FAT-formatierten USB-Stick, kann es in der Tat sein, dass chmod wirkungslos ist. In dem Falle muss man notfalls die Mountoptionen für das betreffende Dateisystem so anpassen, dass die Rechte passend gesetzt sind.

Quote
Es ist schon richtig, dass 0744 = rwxr--r-- ist. Unter dem aktuellen User soll die Datei ausführbar sein. Dachte, dass ich dadurch die Textdatei $einstellungen in einem Fenster öffnen lassen könnte.


Das ist allerdings ein Trugschluss. Wenn man eine Datei ausführbar macht, wird der Kernel versuchen sie auszuführen, wenn er angewiesen wird, das zu tun. Bei einer reinen Textdatei ohne #!-Zeile wird das aber immer fehlschlagen.

Ein Mechanismus, der das "Starten" von Dateien und Anwendungsprogrammen in der gleichen Weise ermöglicht, ist unter Unix anders als unter Windows nicht in den Systemkern integriert. Ich persönlich halte dieses andere Verhalten auch für ein sinnvolles sicherheitsrelevantes Feature, aber das mag Geschmackssache sein.

Wenn Du ein Verhalten ähnlich wie unter Windows auslösen willst, musst Du eine API Deiner Desktopumgebung ansprechen. Unter Ubuntu also vermutlich irgendeine Funktion aus den GNOME-Bibliotheken. Da diese Bibliotheken in C geschrieben sind, wirst Du eventuell ein paar Probleme haben, sie mit Perl direkt anzusprechen, daher empfehle ich Dir, vielleicht einfach die Manpage des Programmes gnome-open durchzulesen und selbiges dann von Perl aus über -f system anzusteuern.

Quote
2./3.
das | ist, wie ich es nun nachgelesen habe auf Unix falsch. Bei Windows führt es dazu, dass das Programm / Datei im UI aufpoppt. In Windows wurde hier immer der Editor gestartet, der mit die Werte aus meiner Textdatei $einstellungen angezeigt hat.
[...]


Die Datei als Pipe zu öffnen, ist auch unter Windows falsch. Es mag zwar zufällig manchmal funktionieren, aber je nachdem was für ein Programm mit der Datei verknüpft ist, kann dabei alles mögliche unverhergesehene passieren, da die Eingabe dann eventuell an das Programm gesendet würde und nicht in die Datei.

Dieses unvorhersehbare, von Rechner zu Rechner unterschiedliche Verhalten, ist der genau der Grund, warum ich die Herangehensweise von Windows an das "Starten" einer Datei für nicht sehr glücklich halte.

Ich würde Dir also auch für die Windowsvariante Deines Programmes eher empfehlen, erst normal in die Datei zu schreiben und dann per -f system den Kommandozeilenbefehl start zu benutzen oder über ein geeignetes Modul direkt auf die entsprechende Funktion der Win32-API zuzugreifen.
When C++ is your hammer, every problem looks like your thumb.

View full thread chmod nutzlos? - Ubuntu