User nur auf sein /home-Verzeichnis Zugriff geben
User nur auf sein /home-Verzeichnis Zugriff geben
Hallo,
ich möchte einem User nur auf sein /home-Verzeichnis Zugriff geben, d.h., er darf nicht weiter hinaus, auch nichts anschauen, er sitzt sozusagen im Ordner fest.
Ich habe auch schon gegoogelt und bin auf einige Lösungen gestoßen, die haben mir aber leider nicht viel weitergeholfen.
Der User soll per (S)FTP und Shell Zugriff haben.
Danke schon mal
Mit freundlichen Grüßen
Lukas
ich möchte einem User nur auf sein /home-Verzeichnis Zugriff geben, d.h., er darf nicht weiter hinaus, auch nichts anschauen, er sitzt sozusagen im Ordner fest.
Ich habe auch schon gegoogelt und bin auf einige Lösungen gestoßen, die haben mir aber leider nicht viel weitergeholfen.
Der User soll per (S)FTP und Shell Zugriff haben.
Danke schon mal
Mit freundlichen Grüßen
Lukas
Re: User nur auf sein /home-Verzeichnis Zugriff geben
Du kannst die zwei Punkte verbiegen, dann kommt man aus einem verzeichnis nicht mehr höher:
Wenn du das in /home als Root machst, dann kommt da kein User mehr höher als /home.
Code: Alles auswählen
chmod guo-rwx '..'
------------
Dieses verdammte Linux holt mir nicht mal ein Bier aus dem Kühlschrank!
Dieses verdammte Linux holt mir nicht mal ein Bier aus dem Kühlschrank!
Re: User nur auf sein /home-Verzeichnis Zugriff geben
@debianoli: Mach das mal und versuche als Benutzer irgendwas aufzurufen:
@Lukas: Wohin soll er denn nicht dürfen? Pass doch lieber die Verzeichnisse an.
Code: Alles auswählen
ls
Zuletzt geändert von pluvo am 02.04.2010 23:52:30, insgesamt 2-mal geändert.
-
- Beiträge: 473
- Registriert: 15.11.2007 22:07:42
- Lizenz eigener Beiträge: GNU General Public License
Re: User nur auf sein /home-Verzeichnis Zugriff geben
die user loggen sich nur von entfernt ein?
dann kannst du chroot-Unterstützung im ssh server aktivieren.
Folgendes muss die /etc/ssh/sshd_config dazu enthalten:
auf diese Weise kann sich der User mit dem Namen 'benutzername' zwar per sftp und sogar ssh einloggen, bleibt aber in seinem home-verzeichnis gefangen.
EDIT: 2 wichtige Dinge vergessen:
1.: das angegebene chroot-Verzeichnis muss dann aber root gehören
2.: damit auch der SSH-Login (und nicht nur sftp) funktioniert, muss man eine komplette chroot-umgebung, inkl. nötiger binaries und libraries erstellen.
dann kannst du chroot-Unterstützung im ssh server aktivieren.
Folgendes muss die /etc/ssh/sshd_config dazu enthalten:
Code: Alles auswählen
Subsystem sftp internal-sftp
Match User benutzername
ChrootDirectory %h
EDIT: 2 wichtige Dinge vergessen:
1.: das angegebene chroot-Verzeichnis muss dann aber root gehören
2.: damit auch der SSH-Login (und nicht nur sftp) funktioniert, muss man eine komplette chroot-umgebung, inkl. nötiger binaries und libraries erstellen.
Re: User nur auf sein /home-Verzeichnis Zugriff geben
Ja, hab ich getestet, der Inhalt des Verzeichnisses wird angezeigt. Wenn du das allerdings zB mit /home machst, dann kommt kein User mehr aus seinem Verzeichnis /home/user raus.pluvo hat geschrieben:@debianoli: Mach das mal und versuche als Benutzer irgendwas aufzurufen:Code: Alles auswählen
ls
------------
Dieses verdammte Linux holt mir nicht mal ein Bier aus dem Kühlschrank!
Dieses verdammte Linux holt mir nicht mal ein Bier aus dem Kühlschrank!
Re: User nur auf sein /home-Verzeichnis Zugriff geben
vm ist ein normaler Benutzer:debianoli hat geschrieben:Ja, hab ich getestet, der Inhalt des Verzeichnisses wird angezeigt. Wenn du das allerdings zB mit /home machst, dann kommt kein User mehr aus seinem Verzeichnis /home/user raus.
Code: Alles auswählen
vm@seth:~$ pwd
/home/vm
vm@seth:~$ ls /boot/
config-2.6.26-2-amd64 initrd.img-2.6.26-2-amd64 System.map-2.6.26-2-amd64
grub initrd.img-2.6.26-2-amd64.bak vmlinuz-2.6.26-2-amd64
Code: Alles auswählen
root@seth:/home# ls -la
insgesamt 12
drwxr-xr-x 3 root root 4096 20. Feb 2009 .
drwxr-xr-x 22 root root 4096 12. Apr 2009 ..
drwxr-xr-x 3 vm vm 4096 30. Mär 19:00 vm
root@seth:/home# chmod guo-rwx '..'
root@seth:/home# ls -la
insgesamt 12
drwxr-xr-x 3 root root 4096 20. Feb 2009 .
d--------- 22 root root 4096 12. Apr 2009 ..
drwxr-xr-x 3 vm vm 4096 30. Mär 19:00 vm
Code: Alles auswählen
vm@seth:~$ cd /
bash: cd: /: Permission denied
vm@seth:~$ ls /boot/
bash: /bin/ls: Permission denied
vm@seth:~$ man ls
bash: man: command not found
Code: Alles auswählen
Cannot execute /bin/bash: Permission denied
Re: User nur auf sein /home-Verzeichnis Zugriff geben
Anders als du, ich habe das aus dem User-Verzeichnis heraus gemacht. Hätte ich besser auch ausführlicher schreiben sollen. Also als root um Home von Test-User sepppluvo hat geschrieben:@debianoli: Wie hast du das denn getestet?
Code: Alles auswählen
root@olian:~$ pwd
/home/sepp
chmod o-r '..'
Code: Alles auswählen
chmod o-r -R /home/user/*
Frage: Funktioniert ein
Code: Alles auswählen
chmod o-r -R /*
------------
Dieses verdammte Linux holt mir nicht mal ein Bier aus dem Kühlschrank!
Dieses verdammte Linux holt mir nicht mal ein Bier aus dem Kühlschrank!
Re: User nur auf sein /home-Verzeichnis Zugriff geben
Der User kann dann zwar nicht mehr ins /home wechseln, aber ins oberste Verzeichnis:debianoli hat geschrieben:Anders als du, ich habe das aus dem User-Verzeichnis heraus gemacht. Hätte ich besser auch ausführlicher schreiben sollen. Also als root um Home von Test-User sepp
Code: Alles auswählen
cd /
Code: Alles auswählen
chmod 700 /home/test
Code: Alles auswählen
dpkg-reconfigure adduser
-
- Beiträge: 2094
- Registriert: 07.07.2006 18:32:05
Re: User nur auf sein /home-Verzeichnis Zugriff geben
ja also so ganz verstehe ich das auch nicht. Als User kann er sich zwar die anderen vorhanden Homeverzeichnisse anzeigen lassen, aber bspw. nicht deren Inhalte etc.. Wenn er sich auch per SSH einloggen können soll kannst du ihm ja nicht auf alles die Rechte verweigern, denn er muss ja Programme aus /usr/bin aufrufen können und Zugriff auf /tmp/ haben. Ich würde dem User noch die lesende Berechtigung auf /root entziehen und das müsste es gewesen sein. Blöd ist allerdings das du so nicht die Ausführung spezieller Programme verhindern kannst die nunmal alle User ausführen können.