Nochmals Benutzerverwaltung

Wie kann ich Benutzern nun nur bestimmte Rechte geben?
Ich habe z.B. einem Benutzer keiner Gruppe zugefügt und doch kann ich auf alles zugreifen wie vorher.
Wie werden eigentlich die Zugriffsrechte für meine Win98 Partition und das CD Laufwerk gemanagt?
Eines meiner konkreten Probleme ist z.B. dass ich nur als Root den shutdown befehl nutzen kann.
Ich hab schon in Handbüchern und anderen Werken nachgeschlagen, aber nichts gefunden.

Danke
Mario

Hi,

Wie kann ich Benutzern nun nur bestimmte Rechte geben?
Ich habe z.B. einem Benutzer keiner Gruppe zugefügt und doch
kann ich auf alles zugreifen wie vorher.

???
Wo möchtest du zugreifen bzw. nich zugreifen. Und welchen user benutz du? Welche owner haben die files/dirs.
Und wie hast du es geschafft einem User keine Groupe zuzuordnen. Nogroup?

Wie werden eigentlich die Zugriffsrechte für meine Win98
Partition und das CD Laufwerk gemanagt?

???
Hmmm… meinst du wie sich die partion verhält wenn sie gemountet ist ?
-> man mount
bzw.
-> man ls (ls -la /meine_gemountete_win98_partition)

Eines meiner konkreten Probleme ist z.B. dass ich nur als Root
den shutdown befehl nutzen kann.

-> man sudo

Ich hab schon in Handbüchern und anderen Werken
nachgeschlagen, aber nichts gefunden.

Glaub ich nicht … bzw. wenn dus getan hast nicht hartnäckig genug.

Use The Source Luke

Markus

Wie kann ich Benutzern nun nur bestimmte Rechte geben?

Hmmm. Vielleicht mit chown, chgrp und chmod?

Ich habe z.B. einem Benutzer keiner Gruppe zugefügt und doch
kann ich auf alles zugreifen wie vorher.

Du irrst. Du hast dem Benutzer sehr wohl einer Gruppe zugefügt, weil alles andere schlichtweg nicht geht. Wenn Du mal einen Blick in /etc/passwd werfen möchtest: Dort wirst Du sehen, dass Der User einer primary-Gruppe zugewiesen ist. Da steht bestimmt sowas ähnliches wie:

stefan:100:500:Stefan Schustereit:/home/stefan:/bin/bash

wobei die 500 für die primary-Gruppe steht (deren Name Du dann in /etc/group nachschauen kannst).

Benutzer können bestimmte Rechte auf Dateien haben, wobei Dateien sowohl Daten oder Programme enthalten können als auch Unterverzeichnisse sein können. Auf diese Dateien kann nun ein User in verschiedener Weise zugreifen: lesen, schreiben oder ausführen, oder ein Mix aus diesen Aktionen. Soll beispielsweise nur ein User auf eine Datei zugreifen können, so reicht es, mit dem Befehl ‚chmod 600 filename‘ und ‚chown username filename‘ diese Datei genau diesem User zuzuordnen (bei einem Programm oder Verzeichnis wird aus der 600 einr 700). Sollen mehrere User auf die Datei zugreifen können, so ist eine Gruppe einzurichten, und die Datei dieser Gruppe zuzuordnen: ‚chmod 660 filename‘ und ‚chgrp groupname filename‘.

Eines meiner konkreten Probleme ist z.B. dass ich nur als Root
den shutdown befehl nutzen kann.
Ich hab schon in Handbüchern und anderen Werken
nachgeschlagen, aber nichts gefunden.

Wie schon Markus in seiner Antwort weise auch ich auf sudo hin, wobei ich mich natürlich frage, warum ein User außer root einen shutdown ausführen soll. Man könte auch ein setUID-Flag setzen: Mit dem Befehl ‚chmod 4755 /sbin/shutdown‘ sollte es eigentlich auch funktionieren. Achtung: Das ist kein guter Tipp, und niemand sollte so was machen, aber zum Testen darf das mal OK sein. Rückgängig macht man das ganze mit ‚chmod 755 /sbin/shutdown‘.

Das setUID-Flag sorgt dafür, dass das Programm shutdown so ausgeführt wird, als hätte es root aufgerufen. Solche Programme sollte man auf seinem System so gut es geht vermeiden, weil dann jeder User da machen kann, was er will!

Stefan

Ich meine bei meinen Windows-Partitionen werden ja dann auch Zugriffsrechte angezeigt. Im Windows-Dateisystem gibt es solche Zugriffsrechte eigentlich nicht (außer dem billigen Schreibschutz-Flag da). Wie wird eine Zugriffsrechtänderung jetzt auf meiner WindowsPartition gespeichert?
Das war eigentlich meine Frage.
Kleines Beispiel:
Wenn ich andere Benutzer auf C:\Textdateien\ zugreifen und schreiben lassen möchte, diese aber in den restlichen Ordnern nichts verloren haben. Dann ändere ich in Linux die Zugriffsrechte des Verzeichnisses, wo wird diese Änderung dann gespeichert.

Ich benutze mein Linux „nur“ auf einem normalen Computer, wo also jeder Benutzer den Computer ausschalten können sollte.
Ich habe das mit den Gruppen ausprobiert, da gibt es ja so Gruppen wie cdrom oder pppusers. Auf das CD Rom kann ich jederzeit zugreifen auch wenn ich nicht in dieser Gruppe bin auf das Internet kann ich nicht zugreifen auch wenn ich Mitglied dieser Gruppe bin. Zu was sind dann diese Gruppen gut?
Muss ich für jedes eine neue Gruppe anlegen, die nur auf dieses Programm oder Script zugriff hat?

Danke
Mario

Eines meiner konkreten Probleme ist z.B. dass ich nur als Root
den shutdown befehl nutzen kann.

-> man sudo

Immer wieder gut: http://www.dcoul.de/infos/alle_macht_dem_user.html

Sebastian

Ich habe das mit den Gruppen ausprobiert, da gibt es ja so
Gruppen wie cdrom oder pppusers. Auf das CD Rom kann ich
jederzeit zugreifen auch wenn ich nicht in dieser Gruppe bin
auf das Internet kann ich nicht zugreifen auch wenn ich
Mitglied dieser Gruppe bin. Zu was sind dann diese Gruppen
gut?

Nun, es scheint mir vor allem bei SuSE ganze Abteilungen zu geben, die nichts anderes machen als Gruppen einzurichten :frowning: Die meisten dieser Gruppen sind für den normalen Betrieb eines Linux-Systems völlig irrelevant. So wird die Gruppe ‚informix‘ zum Beispiel nur dann gebraucht, wenn Du die Informix-Datenbank installierst. Die Gruppen existieren sozusagen nur in einer Art vorauseilenden Gehorsams.

Ich habe mich nicht ausreichend damit beschäftigt, welche Gruppen wirklich gebraucht werden, aber mehr als die ersten drei (‚root‘,‚bin‘ und ‚daemon‘) sind es meiner Meinung nach nicht - man möge mich verbessern, wenn ich da völlig falsch liege.

Im Zweifel lässt man alle Gruppen da, wo sie sind und kümmert sich nicht weiter drum. Wichtiger ist das Verständnis von Gruppen. In Kurzform:

Mit Gruppen können Zugriffsrechte auf Dateien vergeben werden. Um es ganz haarspalterisch zu sagen, kann man niemandem das Recht geben, den Rechner herunter zu fahren, sondern nur, das shutdown-Kommando auszuführen. Alle anderen Prozesse, die man vielleicht ebenfalls zum Herunterfahren eines Rechners benutzen könnte, sind davon nicht betroffen. Oder: Man kann nicht jemandem das Recht geben, Bildschirmschoner zu starten. Man kann ihm letztendlich nur das Recht auf das Progarmm ‚xlock‘ geben.

Um es Unix-spezifischer zu sagen: Man kann einem Benutzer das Recht geben, einen Prozess zu starten, indem man ihm das Recht gibt, auf eine bestimmte Datei zuzugreifen, die das execute-Flag hat, und man kann ihm das Recht geben, aus Dateien zu lesen und in sie zu schreiben, in dem man auch dort entsprechende Rechte auf Dateiebene vergibt.

Der Besitzer einer Datei darf oftmals in diese schreiben, sie lesen und auch ausführen (wenn das Sinn macht. Niemand will ein JPEG ausführen oder ein StarOffice-Dokument. Zumindest ich nicht). Im Gegensatz zu Windows aber kann jede Datei nur einen einzigen Besitzer haben! Alle anderen, die zugreifen sollen, müssen daher entweder in einer Gruppe sein, die ein Zugriffsrecht auf diese Datei hat, oder aber die Datei (das Programm, das Verzeichnis) muss jedermann auf dem System erlauben, gewisse Dinge mit ihr anzustellen, egal ob er sich in einer bestimmten Gruppe befindet oder nicht. Letzteres trifft auf die meisten Programme zu, aber auf fast keine Datei (außer denen, die der User selber angelegt hat).

Muss ich für jedes eine neue Gruppe anlegen, die nur auf
dieses Programm oder Script zugriff hat?

Nope, das musst Du nicht. Manche Programme können aber nur von bestimmten Personen ausgeführt werden, wie zum Beispiel ‚SuSEconfig‘ in /sbin (darf nur root), während die meisten auch von normalen Benutzern aufgerufen werden können.

Wenn Du willst, schicke ich Dir per Mail ein paar Powerpoint-Folien, die ich mal für eine Schulung gemacht habe.

Stefan

Ich meine bei meinen Windows-Partitionen werden ja dann auch
Zugriffsrechte angezeigt. Im Windows-Dateisystem gibt es
solche Zugriffsrechte eigentlich nicht (außer dem billigen
Schreibschutz-Flag da). Wie wird eine Zugriffsrechtänderung
jetzt auf meiner WindowsPartition gespeichert?

SCHREI … PLONK

Das war eigentlich meine Frage.
Kleines Beispiel:
Wenn ich andere Benutzer auf C:\Textdateien\ zugreifen und
schreiben lassen möchte, diese aber in den restlichen Ordnern
nichts verloren haben. Dann ändere ich in Linux die
Zugriffsrechte des Verzeichnisses, wo wird diese Änderung dann
gespeichert.

Sorry aber darauf werde ich dir nicht antworten.

Kopfschüttelnd

Markus

Wäre nett.
Vielen Dank für deine Hilfe!

Mario