Hilfe bei einem Projekt

iBlack2201

New Member
Moin Moin


ich hab von meinem Teamleiter ein Projekt bekommen nur komm ich überhaubt nicht klar

So folgendes:

ich hab eine VM Box bekommen mit Cent os 6 drauf darauf läuft ein Gis system ......

ich soll das system jetzt so einstellen das wenn sich ein bestimmter Nutzer auf diese Box einwählt zb per Filezilla das dieser benutzer nur sein eigenes Home verzeichniss sieht und auch da nur seine daten hoch laden kann sonst nix ...... sprich der nutzer sollte die andern Nutzer nicht sehen können so wie das das eigentliche system ....... wirklich nur sein Home Verzeichniss

könnt ihr mir da helfen ?? wie ich da was einstelle usw usw ( noch dazu kommt das ich neuling im bereich Linux bin ^^ )


Danke euch schon mal
 

mr_brain

Registered User
Wenn du z.B. vsftpd nutzt, dann schau dir die Option chroot_local_user=YES an. Bei anderen FTP-Servern und SSH ist es ähnlich.
 

iBlack2201

New Member
danke dir für deine hilfe ..... das hab ich auch schon versucht inkl Jailkit

wenn sich der nutzer anmeldet hat er nur voll zugriff auf seinen ordner aber er kann trozdem die andere verzeichnisse usw usw sehen und in bestimmte ordner sogar schreiben ......... aber ich steh gerade echt auf dem schlauch
 

danton

Debian User
Wenn der Zugriff per FTP erfolgt, ist ggfl. die Konfiguration des FTP-Daemons nicht korrekt - welcher wird verwendet und wie sieht die Konfiguration aus?
Erfolgt der Zugriff per SFTP, muß eine entsprechende Konfiguration beim SSH-Daemon erfolgen.
 

ThomasChr

Member
Du hast also vsftpd installiert? Und du verbindest dich per FTP drauf?
Welche Einstellungen nimmst du im FTP Programm? Welches FTP Programm? Wie sieht deine vsftpd.conf aus?
 

iBlack2201

New Member
hi hab gerade vsftpd installiert

in der vsftpd.conf hab ich das hier eingetragen :

chroot_local_user=YES


anschliesend hab ich die conf gespeichert und denn service vsftpd reload ausgeführt .....

so weit so gut

der User Praktikant kann sich per sftp ( Filezilla ) auf denn server drauf schalten. er kann nur in dem Ordner Praktikant dateien hoch laden

aber in alle ander Ordner rein schauen

und in manche bestimmte ordner auch daten laden was ich nicht versteh ( zb denn ordner games usw

was muss ich noch in die conf eintragen ?? das der User Praktikant komplett eingespeert ist in seinem Home verzeichniss und nix weiters sieht und nutzen kann ??
 

ThomasChr

Member
1. Home Directory in der /etc/passwd anpassen/überprüfen.
2. Shell für die User auf '/bin/false' stellen (auch /etc/passwd).
3. vsftpd.conf wie folgt:
Code:
listen=YES
listen_ipv6=NO
write_enable=YES
local_umask=000
use_localtime=NO
chroot_local_user=YES
allow_writeable_chroot=YES
(grob)

4. Nun noch in der Datei '/etc/pam.d/vsftpd' die Zeile
Code:
auth    required        pam_shells.so
auskommentieren.

So gehts zumindest auf einem Ubuntu 16.04
 

iBlack2201

New Member
1. Home Directory in der /etc/passwd anpassen/überprüfen.
2. Shell für die User auf '/bin/false' stellen (auch /etc/passwd).
3. vsftpd.conf wie folgt:
Code:
listen=YES
listen_ipv6=NO
write_enable=YES
local_umask=000
use_localtime=NO
chroot_local_user=YES
allow_writeable_chroot=YES
(grob)

4. Nun noch in der Datei '/etc/pam.d/vsftpd' die Zeile
Code:
auth    required        pam_shells.so
auskommentieren.

So gehts zumindest auf einem Ubuntu 16.04

ok cool wenn mir jetzt noch als linux neuling sagtst wie man schritt 1 und schritt 2 macht werd ich es gleich mal testen
 

ThomasChr

Member
Die Datei kannst du eigentlich direkt editieren. Die Home-Directory und die Shell steht da einfach drin, aktuell könnte es '/bin/bash' für die Shell sein. Das musst du ändern.

Und aufpassen: Verbinden über FTP (mit Filezilla) ist was anderes als verbinden über SSH (Putty). Das verbinden über SSH geht danach nicht mehr. Nur noch das verbinden mit FTP zum Datei übertragen.
 

iBlack2201

New Member
Die Datei kannst du eigentlich direkt editieren. Die Home-Directory und die Shell steht da einfach drin, aktuell könnte es '/bin/bash' für die Shell sein. Das musst du ändern.

Und aufpassen: Verbinden über FTP (mit Filezilla) ist was anderes als verbinden über SSH (Putty). Das verbinden über SSH geht danach nicht mehr. Nur noch das verbinden mit FTP zum Datei übertragen.

ok das heist ich also root komm dann per putty nicht mehr drauf ??

das wäre ganz schlecht ^^
 

danton

Debian User
der User Praktikant kann sich per sftp ( Filezilla ) auf denn server drauf schalten. er kann nur in dem Ordner Praktikant dateien hoch laden

SFTP ist der SSH Filetransfer und läuft nicht über den vsftpd, sondern den SSH-Daemon. Soll der Zugriff über den vsftpd laufen, ist im Filezilla eine ftp-Verbindung zu erstellen bzw. wenn im vsftpd entsprechend konfiguriert auch ftps bzw. ftpes als verschlüsselte Verbindung.
 

iBlack2201

New Member
so dank eurer hilfe hab ich es so weit geschaft ....... der User Praktikant kann nur noch das Home verzeichnis sehen und nur noch in denn Ordner Download und Praktikant .......

aber ein problem hab ich noch wie kann ich dem User Praktikant nun die rechte entziehen das er die andern ordner im Home verzeichnis sieht ??
 

d4f

Kaffee? Wo?
Wenn du sehr granular arbeiten willst dann musst man von vsftpd auf proftpd wechseln welcher, analog zur .htaccess für Webserver, eine .ftpaccess Datei unterstützt mit der ein Konto sehr spezifisch in den Befehlen und Zugriffsrechten limitert werden kann.
Siehe: http://www.proftpd.org/docs/howto/ftpaccess.html

Über *NIX-Bordmittel mit Rechteverwaltung lässt sich eine selektive Filterung von Unterordner nicht vornehmen.
 

TerraX

Active Member
Auch vsFTP ermöglicht eine recht filigrane Steuerung der Zugriffsrechte pro User. Die Schlüsselworte dazu lauten "user_config_dir" (User-individuelle Config) sowie z.B. "hide_file", "deny_file", "cmds_allowed", "cmds_denied". Die ersteren beiden unterstützen Regex-Syntax.

Was ich nicht ganz verstehe, welche zusätzlichen Ordner befinden sich denn noch im Home des User "Praktikant", die er nicht sehen soll? Für FTP empfiehlt es sich u.U. nicht das Standard-Home des Unix-Accounts zu verwenden. Generell sollten Accounts für SSH-Login getrennt von denen für FTP und Mail verwaltet werden sofern man ausschließlich für die Authentifizierung auf Unix-Accounts setzt.
 

DeaD_EyE

Blog Benutzer
Vielleicht solltest du dich nochmal etwas zurück lehnen und darüber nachdenken, ob du es nicht einfach mit Symlinks machst.

Wichtig ist, dass du den FTP-Nutzer in sein Home-Verzeichnis einsperrst.
Wenn du via FTP dem Symlink folgen willst, musst du das irgendwo in der Konfiguration einstellen, ansonsten bis du nicht berechtigt in das Verzeichnis zu wechseln.

Den Rest erledigst du über Gruppen und User Berechtigungen.

Code:
/home-\
      |
      |-------Praktikant     <----------------------\
      |                |                            |
      |                |-Daten                      |
      |                |                            |
      |                \-Symlink: Aufgaben -------------\
      \-------Admin                                 |   |
                  |                                 |   |
                  |-Symlink auf ../Praktikant-------/   |
                  |                                     |
                  |                                     |
                  |-Daten                               |
                  |                                     |
                  |                                     |
                  \-Aufgaben_für_den_Praktikanten  <----/

https://wiki.ubuntuusers.de/ln/
Du brauchst Symbolische Verknüpfungen.
 
Top