User beschränkung

2

2carter2

Grünschnabel
Hi,

ich möchte gern einen user auf meinem Suse Linux root einrichten, der aber nur zugriff auf seinen eigenen ordner hat, also wenn er versucht aus dem ordner rauszukommen, da Permission Denied or sowas kommt, wie wenn man versucht in den root ordner reinzukommen, ist das irgendwie möglich?

MFg Carter
 
Hi und willkommen im Board

grundsätzlich hat root alle rechte, das heisst, das er natürlich in alle ordner kommt.

Wenn ich so die beschreibung lese, willst du evtl. einen fileserver oder FTP aufmachen, auf den usern drauf können nur in dem ordner/unterordner bleiben und dort schreiben /lesen können ?

falls ich das richtig verstanden habe dann melde dich nochmal ;>

falls du wirklich jemandem root rechte geben willst ( was abzuraten ist) kannst du beschrenkungen machen, die gilten dann aber auch für dich :>
also ich würde weder eine eigene gruppe anlegen oder direkt dem user die rechte geben und die geschichte mit root schnell vergessen

greetz
 
nein, das hast du falsch verstanden, ich möchte das wie folgt machen:

angenommen ich erstelle auf meinem dedicatet server 2 neue user, user1 und user2 doch die beiden können nun anschauen was der andere alles in seinem ordner hat, und auch ordner wie /opt/ anschauen, ihnen fehlen dazu nur die schreibrechte und ich möchte nun machen, dass die beiden user nur ihre eignen ordner sehen können also wenn user1 in putty z.B. cd /home/user2/ oder /srv oder /opt , kann man endlos weiterführen eingeben, soll da kommen Permission Denied oder sowas in der art, also ich möchte nicht dass sie irgendetwas anderes anschauen können auser ihre eignen ordner
 
neue gruppe anlegen die du mit den zugriffsrechtern versiehst und die neuen benutzer in diese gruppe hinzufügen
kannst die user dann aus allen anderen gruppen raus nehmen ausser aus deiner definierten gruppe die genau diese zugriffsrechte hat, dann sollte das kein problem sein
 
Ich habe es selbst nie probiert, aber schaue dir mal
Code:
chroot
an.

Das muss dann irgendwie in die Start-shell gebastelt werden.

Vielleicht den passwd-eintrag auf /usr/bin/myshell und die sieht dann so aus
Code:
chroot $HOME
/bin/bash

Hab keine Ahnung, ob das funktionieren könnte, aber versuch macht kluch. ;-)
 
Zuletzt bearbeitet:
hm ich weiß nicht genau wie ich das umsetzen kann :S hab den server noch nicht so lange und joar^^
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

btw kenn ich das chmod cmd nur weiß ich nicht, wie genau ich es für diesen zweck einbaue, also welches cmd ich genau in die shell schreiben soll bzw ow sich die start shell befindet :S
 
Zuletzt bearbeitet:
Ich und die anderen haben habe(n) dir Wege gezeigt, wie es vielleicht umzusetzen ist.
Wir (auf alle Fälle ich) werde(n) jetzt aber bestimmt nicht "Lerne Linux-Grundlagen auf'm Unixboard" machen, damit du schnell eine Lösung für dein Problem hast.
Arbeite dich in die Materie ein:

1. Benutzer und Gruppen
2. Dateirechte
3. Was passiert beim login
4. Grundlagen der Shell

Wenn du das alles drauf hast, kannst du die Tipps umsetzen.
Oder bist du in Zeitnot ? Hast du einen Fertigstellungstermin?
 
ja so ähnlich, ich sollte das noch heute erledigt haben, ich kenn mich mit linux eigentlich scho naus nur habe ich solch eine option nie gebraucht :S währe sehr nett wenn einer schritt für schriit sagen kann wie das geht, die mühe wird auch nicht umsonst sein^^
 
Wie schon gesagt, ich weiss nicht ob es wirklich so geht.
Aber fangen wir mal an: (weil es mich auch interessiert)

1. Du erstellst einen neuen User (user1)
2. du erstellst eine Datei /bin/myshell (root:root; 755)
Inhalt:
Code:
/bin/bash

3. Du änderst den Eintrag der Shell für user1 in der Passwd mit einem Editor deiner Wahl von "/bin/bash" nach "/bin/myshell"

4. Du machst mit dem user1 einen login, alles sollte normal laufen, also du befindest dich im $home des users1 und kannst überall hin cd'en.

5. Du änderst das script wie oben von mir vorgeschlagen mit dem chroot befehl.
6. du loggst dich wieder als user1ein und guckst was passiert.
 
ne, geht gar nicht, wenn ich versuche einzuloggen mit putty, schließt sich putty wieder, so als ob keine shell da wäre, aber habe im bin ordner ne myshell in der /bin/bash steht und die zugriffsrechte stimmen auch O.o
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

hab nun auch den fehler sehen können, da steht:

/bin/myshell: Exec format error
 
Zuletzt bearbeitet:
Ja ist ja auch ein Skript, ich glaube in sowas kann man sich nicht "rein-ssh'en".
Vielleicht ist die restricted Version der bash was für dich?
Link
Musst du mal schaun, obs einfach mit "/bin/rbash" geht, sonst kA, (wie?) kann man der Login-Shell eines Users Argumente (--restricted) mitgeben?
 
nein rbash funktioniert leider auch nicht, es muss doch irgendeine einfache methode geben, dass was ich möchte zu verwirklichen, plesk etc bietet sowas ja auch an, wenn man den usern die man anlegt ssh zugriff gibt kommen die auch nicht aus ihren ordnern raus :S
 
ja so ähnlich, ich sollte das noch heute erledigt haben, ich kenn mich mit linux eigentlich scho naus nur habe ich solch eine option nie gebraucht

Sorry, aber die Rechtevergabe ist Basiswissen. Man kann nicht sagen, man kenne sich aus wenn man wirklich die einfachsten Grundlagen nicht beherrscht. Und man sollte dann erst recht nicht an so einem Server rumbasteln. Den User nur in sein Verzeichnis sperren kannst du nicht (ohne Riesenaufwand, der nicht gerechtfertigt ist, da das Ausbrechen ohnehin zu leicht wäre).

Was bleibt ist dem User einfach keine Leserechte zu geben bzw. Ausführungsrechte bei Verzeichnissen und zwar in den Verzeichnissen, die er nicht sehen soll. Dass er in /bin und andere reinschauen kann macht viel sinn, sonst könnte er ja die Kommandos wie cp, ls, chmod, usw. nicht ausführen.

Davon abgesehen ist das zu Hauf im Internet und praktisch jedem Einsteigerbuch erklärt. Damit der Thread nicht noch jahrelang so weiter geht:
Code:
chmod u=rwX,go= -Rc /home/*
bzw. statt /home/* jedes beliebige andere Verzeichnis nehmen. Wenn du das mit Systemverzeichnissen machst, wirst du schnell merken, dass es keine gute Idee war.
 
hi,

wie macht man so eine änderung rückgängig? weil habe gerade ein wenig herum experimentiert und mein htdocs ordner "geschützt" und nun kommt immer wenn man mim browser raufwill

Forbidden
You don't have permission to access /xx/ on this server.

/edit habs hinbekommen xD

chmod -R 777 /pfad/pfad/
 
Zuletzt bearbeitet:
bzw. statt /home/* jedes beliebige andere Verzeichnis nehmen. Wenn du das mit Systemverzeichnissen machst, wirst du schnell merken, dass es keine gute Idee war.

http://www.freeos.com/articles/3127/ da ist erklärt was du gerade gemacht hast, warum jetzt der Webserver nix mehr anzeigt (Guck dir mal die Logdatei des Webservers an, meist /Var/log/apache/errors_log oder so ähnlich) und wie mans wieder hinbekommt.
 
jo hab vorhin schon editet habs hinbekommn, bevor ich deinen post gelesen hab, aber was ich gerne wissen würde ist, in welcher gruppe der user ist auf den der webserver läuft, bei owner steht root drin, aber das sind nur die ordner aber auf wen läuft der webserver? weil ich möchte gerne alles aussperren auser diesen user^^
 
Da du ja noch neu hier bist kleiner Tipp: Solche Fragen machen nur dann Sinn, wenn du auch sagst, welcher Webserver das ist und welche Distribution, sonst kann man dazu nämlich nur schwer was sagen. Irgendwas mit www oder Apache ist wahrscheinlich. Meist macht es aber Sinn, dass die Dateien dem User des Webservers nicht gehören, denn so kann ein wildgewordenes PHP Skript auch nicht Dateien löschen oder verändern.
 

Ähnliche Themen

Samba 3.6.25 - OpenLDAP Setup

Keine grafische Oberfläche (Debian Installation)

Samba User importieren

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

Keine Zugriff von Windows 10 auf Sambafreigaben

Zurück
Oben