Linux Benutzter nur auf das Home - Verzeichnis Zugriff geben (Root-Server)?
Wie im Titel beschrieben würde ich gerne einem Linux Benutzer nur Zugriff auf das Home - Verzeichnis geben. Ich habe ein Rootserver und den Benutzer schon mit "useradd" hinzugefügt
5 Antworten
Du willst wahrscheinlich den ssh/sftp Zugriff auf das '/home/username' Verzeichnis des Benutzers beschränken. Dort soll er Daten up und downloaden dürfen. Er soll ansonsten nur ein paar, für ihn notwendige Befehle nutzen können.
Für das Szenario kannst Du dich hier umgucken:
https://www.google.com/search?client=firefox-b-d&q=ssh+chroot
Nein, das ist nich default für einen User ohne sudo.
Ein Benutzer ohne sudo startet, wenn er sich einloggt sicherlich in seinem homeverzeichnis /home/username , kann aber locker, nur z.B. mit 'cat ../../etc/passwd' die Datei lesen. In einer chroot Umgebung wäre /home/username für den eingeloggten / - dahinter wäre aus seiner Sicht nichts.
Erstmal kann ein User ohne sudo auch erstmal alle Befehle ausführen die nicht irgendwo in sbin liegen - z.B. rauch udimentäre nmap Sachen (wenn man den denn auf einem Server installiert hätte). Desweiteren wird sowieso nicht überall sudo eingesetzt, auch dafür gibt es gute Gründe.
Also mit Serbern kenne ich mich nicht aus, aber bei meinem Debian Rechner ändere ich die Rechtevergabe mit chmod wie folgt:
Ordnerrechte anzeigen lassen
ls -l
# Eigentümer ändern von z.B. root:root auf benutzername
sudo chown -R benutzername:benutzername "/Verzeichnis/"
# -R Ändert Eigentümer und Gruppe auf benutzername rekursiv
# Datei/Verzeichnis Rechte ändern
sudo chmod -R 744 "/Verzeichnis"
" " bei Leerzeichen nutzen!
Erste Stelle = Besitzer
Zweite Stelle = Gruppe
Dritte Stelle = Andere
z.B. 744
7 = Lesen, Schreiben und Ausführen
6 = Lesen und Schreiben
5 = Lesen und Ausführen
4 = Nur Lesen
3 = Schreiben und Ausführen
2 = Nur Schreiben
1 = Nur Ausführen
0 = Keine
Dann darf der einfach kein sudo haben. Fertig.
Und wenn er auch nicht lesen und nicht betreten darf, musst du ihm dafür r und x wegnehmen.
Er soll nur per sFTP Dateien bearbeiten, hochladen und löschen können. Die anderen Verzeichnisse sollen nicht veränderbar sein.
Das Stichwort wäre hier: chroot jail, das auf dem chroot() Syscall basiert. Allerdings gilt auch beim chroot, daß man einiges beachten muss, wenn der Nutzer wirklich eingekerkert werden soll.
Ferner kannst Du nach weiteren Möglichkeiten für Sandboxing schauen.
welchen Sinn soll das haben? Ein User soll doch auch Programme ausführen können, die nicht in seinem Home zu finden sind.
Aber warum? Das ist doch default für einen Nutzer ohne sudo.