Hallo zusammen: Bin Linux-Neuling, hoffe aber es ist legitim auch banale Fragen stellen zu dürfen. Ich habe nämlich ein kleines Verständnisproblem mit den Rechten unter Linux (SUSE 7.2). Ein Shell-Skript "Test" gehört dem User "x". Ich setze dem User das Recht, das Skript auszuführen, aber nicht zu lesen oder zu schreiben. Ergebnis: Der User darf die Datei NICHT ausführen. Wieso? 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. Wo ist mein Denkfehler? Wie kann ich die Rechte einer Datei so setzen, daß ein User sie ausführen, aber nicht editiern darf? Hoffe, mir kann einer helfen :) Grüße Bernd Tannenbaum Technisches Zentrum TZ I.T.E.N.O.S. GmbH · Lievelingsweg 125 · 53119 Bonn Tel.: + 49 (0)228 / 72 93 - 230 E-Mail: tannenbaum@itenos.de
On Wed, Jun 19, 2002 at 10:51:23AM +0200, Tannenbaum, Bernd wrote:
Ein Shell-Skript "Test" gehört dem User "x". Ich setze dem User das Recht, das Skript auszuführen, aber nicht zu lesen oder zu schreiben. Unnütz, da jeder User seine eingenen Dateien per chmod umsetzen darf. In diesem Fall müsstest Du also über die gruppe gehen (eigentümer root gruppe = eine Gruppe die der User angehört).
Ergebnis: Der User darf die Datei NICHT ausführen. Wieso? Wenn das Programm nicht lesbar ist, kann es nicht ausgeführt werden.
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 !). Er ist Eigentümer der Datei.
Das soll er aber nicht dürfen. Wo ist mein Denkfehler? siehe oben, gehe über die Gruppe!
greetinXs, Telefon: 07275/618351 Michael Hilscher Handy: 0173/3071899 Telefax: 07275/618352 -- Would Mozart have been more productive if he had scribes to help him, a secretary and a CEO to lead his way? -- Linus Torvalds
Hallo Bernd, * Am 19.06.2002 um 10:51 Uhr schrieb Tannenbaum, Bernd:
Ein Shell-Skript "Test" gehört dem User "x". Ich setze dem User das Recht, das Skript auszuführen, aber nicht zu lesen oder zu schreiben. Ergebnis: Der User darf die Datei NICHT ausführen. Wieso?
wenn das Script vom System nicht gelesen werden darf (Aufgrund der Berechtigung), dann kann es auch nicht ausgeführt werden ;-)
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 !).
korrekt, aber hast Du die Datei auch wieder gespeichert? Sicherlich nicht, denn sie ist vom <vi> nur im ReadOnly-Mode geöffnet worden. -Jürgen -- Die andere Schlange kommt stets schneller voran. / Registered Linux-User #130804 http://counter.li.org \ \ Linux Stammtisch Bremerhaven http://linux.hs-bremerhaven.de /
Hi, Am Mittwoch, 19. Juni 2002 11:47 schrieb Juergen Schwarting:
* Am 19.06.2002 um 10:51 Uhr schrieb Tannenbaum, Bernd:
[...]
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 !).
korrekt, aber hast Du die Datei auch wieder gespeichert? Sicherlich nicht, denn sie ist vom <vi> nur im ReadOnly-Mode geöffnet worden.
doch, hat er (nehm ich jetzt einfach mal an). Soll heißen: Das geht. Aber nur solange das Skript innerhalb des Verzeichnisses des Users liegt: Man nehme das Skript "rechte": ls -halF rechte ergibt: -r-xr-x--- 1 root users 18 Jun 19 12:04 rechte* Es ist also für root und Angehörige von users lesbar und ausführbar. Es liegt innerhalb des Verzeichnises /home/username Jetzt geht username hin und macht: vi rechte Bei Änderungen kriegt er die Meldung: Warning: Changing a readonly file. Er ändert was und will mit :x speichern: 'readonly' option is set (use ! to override) Also neuer Versuch: :x! funktioniert. ls -halF rechte ergibt jetzt aber: -r-xr-x--- 1 philipp users 15 Jun 19 12:12 rechte* Warum das funktioniert? Weil wir im Home des Users waren. Wenn wir das Skript also woanders hin verschieben (z.B. nach /bin oder /usr/bin), wo er nur r und x als Rechte auf das Verzeichnis hat, dann hat sich das mit dem Überschreiben der Datei auch erledigt. Gruß Philipp -- registered Linux user number 258854
* 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
participants (5)
-
B.Brodesser@t-online.de
-
Juergen Schwarting
-
Michael Hilscher
-
Philipp Zacharias
-
Tannenbaum, Bernd