• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Benutzerrechte

JBOpael

Newbie
tach zusammen,
gibt es ne möglichkeit einem benutzer nur die rechte zu geben auf seinem eigenen homeverzeichnis zuzugreifen ohne das er irgendwelche anderen daten sehen kann?

Mein vorhaben: ein user soll sich über ssh am server anmelden um da ein programm zu starten. bzw seine einstellungen an diesem programm tätigen. er darf aber nicht in unterverzeichnisse abtauchen.
 
A

Anonymous

Gast
JBOpael schrieb:
Mein vorhaben: ein user soll sich über ssh am server anmelden um da ein programm zu starten. bzw seine einstellungen an diesem programm tätigen. er darf aber nicht in unterverzeichnisse abtauchen.

Wenn dein User nur ein einziges Programm auf der Linuxkiste ausführen darf, gibt es vielleicht eine ganz einfache Möglichkeit, du änderst die AnmeldeShell des Users auf genau dieses Programm
Beispiel:
Code:
Pingu:/etc # id
uid=0(root) gid=0(root) groups=0(root)
Pingu:/etc # chsh -s /usr/bin/mc heinz
Changing login shell for heinz.
Warning: "/usr/bin/mc" is not listed in /etc/shells.
Shell changed.
Erklärung:
wir sind als root angemeldet und haben mit chsh die Anmeldeshell des Users heinz auf mc gesetzt. Die Warning kommt daher, weil diese Anmeldeshell nicht in der /etc/shells eingetragen ist, aber da wir root sind, dürfen wir das trotzdem.
Immer wenn sich jetzt heinz an einer Konsole anmeldet, wird das Programm mc aufgerufen, und wenn er es verläßt - exit und tschüß.
Damit hat er keine Chance irgend etwas anderes zu machen, als das was er mit mc machen könnte.

Leider schreibst du nicht was für ein Programm dein User ausführen soll und darf, also musst du selbst einschätzen, oder ausprobieren ob das mit diesem Programm evtl. Sinn machen könnte.

robi
 
Hi

Ich hätte genau das gleiche vor! Ich möchte das für meine Schwester nur ihr Homeverzeichnis sichtbar ist. Außerdem soll sie ins Internet kommen und drucken können. Sonst nix!
Wenn ich es irgendwie mal schaffe sollte es auch gehen das wenn mein PC läuft das sie über Netzwerk von ihrem XP aus drucken kann...

Danke für die Hilfe!
 

nbkr

Guru
Das ganze sollte eigentlich kein Problem sein. Standardmäßig kann ein einfacher Benutzer nicht an empfindlichen Dateien rumfummeln oder das System irgendwie "kaputt" machen. Linux/Unix ist ja als Mehrbenutzersystem geplant - ergo kann/sollte man auch einfach weitere User anlegen können. Also einfach noch ein User für deine Schwester anlegen und gut ist.

Bugs, Konfigfehler und Irrtümer natürlich vorbehalten.
 
Ich möchte aber das sie alles andere auch nicht sieht. Also wenn sie auf den Arbeitsplatz kickt soll da nur ihr Homeverzeichnis drin sein und sonst nix. Keine weiteren Festplatten, Laufwerke oder sonstiges.

So wie es auf Mac OS X auch geht.
 

nbkr

Guru
Du kannst in Gnome den Arbeitsplatz ganz abschalten soweit ich weiß, ist aber nur Kosmetik. Darf man fragen warum Du das willst? Selbst wenn Sie die Laufwerke sieht - was solls, sie hat eh keinen Zugriff darauf. Ansonsten: KDE Kiosk Modus ist dein Freund.
 
Ähm doch. Also sie kann sich immernoch durch die Ordner klicken. Sie kann zwar nix öffnen aber sie kann alle Dateien sehen.

Hmm ich habe gerade festgestellt, dass ich ein wenig zu wenig rechte gegeben habe... jetzt konnte ich mich mit dem account nicht mal mehr anmelden. Was habe ich denn da jetzt zu viel raus genommen.

Momentan ist sie in den Gruppen dialout, video, nogroup
 
Ok ich hab mir das jetzt gerade alles noch mal angesehen.

Momentan habe ich einen neuen Benutzer erstellt und noch mal nix an dem gemacht.

So jetzt konnte ich eine Partition vor dem Zugriff schützen aber sie kann sich auf der Patition von dem Linux umsehen und alle Dateien öffnen die in /home sind. Also /home ist eine weitere Partition und in home direkt sind alle eigenen Dateien und unter /home/user das Homeverzeichnis. Dann gint es da noch zwei NTFS Partitionen bei denen ich die Zugrifsrechte nicht ändern kann.

Und ich möchte jetzt das außer /home/schwester nix geöffnet werden kann.
 

nbkr

Guru
Den User "nix" öffenen zu lassen ist nicht sinnvoll. Da bist Du stunden mit beschäftigt an den Rechten rumzufummeln und am Ende machst Du mehr kaputt als richtig. Ein Beispiel: Firefox liegt in /usr/bin/firefox-bin. Da muss jeder der den Firefox nutzen können soll mindestens Leserechte haben. Anders gehts nicht und es funktioniert so auch wunderbar. Mit anderen Systemdateien verhält es sich ähnlich.

Das einzige um dessen Schutz Du Dich kümmern musst sind die Homeverzeichnise der User und evtl. Datenverzeichnisse.

Beim Homedir sollte ein chmod 0700 schon ausreichen, dass nur noch der jeweilige Benutzer Zugriffsrechte hat.

NTFS Partitionen (wie allgemein Partitionen) kann man so einstellen das diese nur von Root gemountet werden können. Über Sudo kannst Du dann dieses Recht an die Person weitergeben die sonst noch von der Windowsplatte lesen können soll. Schreiben geht auf NTFS sowieso erstmal nicht - mit einer FAT Partition siehts genauso aus. Im übrigen glaube ich kann man bei NTFS und FAT einstellen "wem" die Dateien gehören die da gemounten werden und mit welcher Umask (also welche Rechte die Dateien haben). Richtig eingestellt passt auch das.
 
Ah ok stimmt. Daran hatte ich nicht gedacht. Das wird auch der Grund gewesen sein warum ich erst nicht mehr mit dem anderen user anmelden konnte da sie keinen Rechte mehr hatte die Programme zu starten...
Ok dann werde ich die Ordner alle ändern.

Die beiden NTFS Platte breuchten eigendlich gar nicht angzeigt werden. Auf der einen ist Windoof und auf der anderen Spiele. Hab das schon mal versucht das in der fstab einzustellen, dass diese Partitionen nicht angezeigt werden aber ohne Erfolg. Das wird dann aber auch nicht gehen oder?

Was macht chmod 0700?

Danke für deine Hilfe!
 

sc_m

Member
keine_Ahnung schrieb:
Hab das schon mal versucht das in der fstab einzustellen, dass diese Partitionen nicht angezeigt werden aber ohne Erfolg. Das wird dann aber auch nicht gehen oder?
Für Windows-Partitionen sind die Optionen uid/gid und umask dafür zuständig, die Zugriffsrechte beim Mounten festzulegen. Die nötigen Informationen findet man natürlich mit "man mount".
 
also meine fstab sieht so aus:

/dev/hda1 /windows/C ntfs ro,users,gid=users,umask=0002,nls=utf8 0 0
/dev/hda5 /windows/D ntfs ro,users,gid=users,umask=0002,nls=utf8 0 0

wo kann ich da jetzt hide sagen? wenn ich gid=root setze dann kann nur noch der root drauf zugreifen aber ich würde die Partitionen immernoch sehen, habe ich das richtig verstanden?
 

sc_m

Member
Das hast du insofern richtig verstanden, als dann außer root niemand darauf schreiben kann. Dann sorgt umask=0007 dafür, dass außer root auch niemand lesen kann.
 

nbkr

Guru
Verstecken von Partitionen geht nicht über die fstab. Mounte die beiden Partitionen einfach nicht. Setz vor die Einträge in der fstab ein # und die Partitionen werden nicht eingehängt und sind somit nicht zugreifbar / erreichbar.
 
OK das mit den Zugriffsrechten hat geklappt. Aber warum werden die noch angezeigt wenn sie gar nicht gemounted sind? Das macht doch keinen Sinn oder?

#/dev/hda1 /windows/C ntfs ro,users,gid=root,umask=0007,nls=utf8 0 0
#/dev/hda5 /windows/D ntfs ro,users,gid=root,umask=0007,nls=utf8 0 0
 

nbkr

Guru
Nach der Änderung der fstab musst Du die Platten natürlich nochmal unmounten. Die sind ja vom letzten Boot noch eingebunden. Du hast jetzt nur dafür gesorgt das die Platten beim _nächsten_ Boot nicht mehr eingebunden werden.
 

Ahl-Pann

Member
Wenn ich das jetzt richtig sehe, musst du noch einmal neustarten oder die Platten selbst einmal umounten...

edit: Hups, zu langsam...
 
Oben