* Tannenbaum, Bernd schrieb am 19.Jun.2002:
Bin Linux-Neuling, hoffe aber es ist legitim auch banale Fragen stellen zu dürfen.
Welche Frage ist nicht banal, wenn man sie beantworten kann?
Ein Shell-Skript "Test" gehört dem User "x".
Ein shellskript Test zu nennen ist schon mal eine schlechte Idee, weil es ein shellinterner Befehl namens test gibt. Linux ist zwar Casesensitiv, Test ist somit was anderes als test, aber Großbuchstaben würd ich ehr nicht verwenden. Wenn es Dir nichts ausmacht, ist es aber auch nicht schlimm.
Ich setze dem User das Recht, das Skript auszuführen, aber nicht zu lesen oder zu schreiben.
Ein Skript muß man anders als ein binary lesen können um es auszuführen, da es ja interpretiert wird. Der Interpreter muß es ja lesen können.
Ergebnis: Der User darf die Datei NICHT ausführen. Wieso?
Weil der Interpreter, also die bash, die ja mit den Rechten des Users läuft, die Datei nicht lesen darf. Bei einem Binary würde es funktionieren.
Ich setze dem User das Recht, das Skript auszuführen und zu lesen. Ergebnis: Der User darf die Datei jetzt ausführen, allerdings auch lesen UND EDITIEREN (mit vi und !). Das soll er aber nicht dürfen.
Editieren darf er es, kann es aber nicht unter dem gleichen Namen abspeichern, es sei denn, er hat auch die Schreibrechte.
Wo ist mein Denkfehler? Wie kann ich die Rechte einer Datei so setzen, daß ein User sie ausführen, aber nicht editiern darf?
Kein Schreibrecht geben. Allerdings darf er auch kein Schreibrecht auf dem Verzeichnis haben, da vi sonst die Datei löscht, was es darf, weil zum löschen der Datei nur das Schreibrecht des Verzeichnisses benötigt wird, und nicht die der Datei. Anschließend wird die Datei wieder neu angelegt. Das geschieht aber nur, wenn man die Datei mit :w! abspeichert. Ohne ! geht es nicht. Bernd -- Umsteiger von Microsoft Windows xx? Hast Du schon file://usr/doc/howto/de/DE-DOS-nach-Linux-HOWTO.txt gelesen? Auch file://usr/doc/Books/Linuxhandbuch.dvi ist zu empfehlen. |Zufallssignatur 1