• Vastliggende pagina
  • Info
  • Bijlages
Verschillen tussen versies 21 en 22
Versie 21 sinds 2009-11-10 20:04:40
Grootte: 6632
Auteur: testcees
Commentaar:
Versie 22 sinds 2009-11-19 19:33:48
Grootte: 6628
Auteur: rachidbm
Commentaar:
Verwijderingen worden op deze manier gemarkeerd. Toevoegingen worden op deze manier gemarkeerd.
Regel 15: Regel 15:
Voor achtergrondinformatie over SSH zie de [[community/Openssh-server|OpenSSH]] pagina. Als een gebruiker SSH toegang heeft kunnen (bijna) alle mappen worden bekeken. Dit zal niet direct schade aan richten, maar soms is het wenselijk de toegang te beperken tot een eigen ("home") map. Om meerdere gebruikers te beperken tot een gezamelijke map zie: [[#Meerdere_gebruikers_delen_een_map|Meerdere gebruikers delen een map]] Voor achtergrondinformatie over SSH zie de [[community/Openssh-server|OpenSSH]] pagina. Als een gebruiker SSH toegang heeft kunnen (bijna) alle mappen worden bekeken. Dit zal niet direct schade aan richten, maar soms is het wenselijk de toegang te beperken tot een eigen ("home") map. Om meerdere gebruikers te beperken tot een gezamelijke map zie: [[#Meerderegebruikersdeleneenmap|Meerdere gebruikers delen een map]]

Deze pagina staat in de ontwerpdocumentatie. De inhoud is waarschijnlijk nog niet klaar om in de documentatie geïntegreerd te worden en kan fouten bevatten. Indien u fouten opmerkt mag u ze zeker verbeteren, rekening houdende met onze richtlijnen.

Discussieer over dit artikel in het forum.

SSH Toegang Beperken

Voor achtergrondinformatie over SSH zie de OpenSSH pagina. Als een gebruiker SSH toegang heeft kunnen (bijna) alle mappen worden bekeken. Dit zal niet direct schade aan richten, maar soms is het wenselijk de toegang te beperken tot een eigen ("home") map. Om meerdere gebruikers te beperken tot een gezamelijke map zie: Meerdere gebruikers delen een map

Eigen map

De onderstaande stappen dienen te worden uitgevoerd in een terminal. Meer info hierover in Werken met de Terminal.

In /etc/ssh/sshd_config moet worden ingesteld dat OpenSSH de interne SFTP gebruikt. Wijzig de configuratie:

sudo nano /etc/ssh/sshd_config

Info (!) als de Ubuntu desktop geïnstalleerd is kan ook gksudo gedit /etc/ssh/sshd_config gebruikt worden.

Zoek de regel met Subsystem en maak daarvan:

Subsystem sftp internal-sftp

Maak een Match aan. Hiermee krijgen bepaalde gebruikers een eigen (beperkte) toegang.

Voeg onderaan het bestand de onderstaande regels toe:

Match group sftponly
    ChrootDirectory /home/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

Sla de nieuwe configuratie op.

Maak een gebruikersgroep aan voor de gebruikers met beperkte toegang. In dit voorbeeld noemen we deze groep sftponly.

sudo addgroup sftponly

Maak een gebruikersnaam aan. In dit voorbeeld is de gebruikersnaam gast:

sudo useradd -G sftponly gast

Geef de gebruikersnaam gast een wachtwoord:

sudo passwd gast

Maak een eigen map aan voor de gebruiker gast:

sudo mkdir /home/gast

In de ssh configuratie (sshd_config) is ingesteld dat deze map de hoofdmap is. Dit moet ook in het gebruikersprofiel van gebruiker gast worden opgegeven:

sudo usermod -d / gast

Herstart ssh:

sudo /etc/init.d/ssh restart

De gebruiker gast kan nu inloggen maar is beperkt tot (lezen van) de map /home/gast.

Om het mogelijk te maken bestanden te plaatsen kan een submap met schrijfrechten worden gemaakt:

sudo mkdir /home/gast/uploads
sudo chgrp sftponly /home/gast/uploads
sudo chmod g+w /home/gast/uploads

Gebruiker gast kan bestanden plaatsen in de map uploads

Inloggen

Log vanaf een andere computer in als gast:

sftp gast@ipadres

De opdracht pwd toont de huidige map en als het goed is:

$ pwd
Remote working directory: /

Info (!) Filezilla is een grafische client voor SFTP en FTP. sudo apt-get install filezilla . Het is open-source, gratis te krijgen en draait op linux, Windows en Mac OS

Het is veiliger om in plaats van wachtwoorden sleutels te gebruiken om in te loggen. Meer info hierover is te vinden op de pagina over SSH Sleutels

Meerdere gebruikers delen een map

Hierboven is uitgelegd hoe toegang van gebruikers beperkt kan worden tot hun eigen map. Nu wordt er beschreven hoe de toegang (voor een groep stfp gebruikers) beperkt kan worden tot dezelfde map. Bijvoorbeeld wanneer je met meerdere mensen dezelfde bestanden wilt delen.

  • Er wordt vanuit gegaan dat bovenstaande stappen voor het beperken tot een "Eigen map" zijn uitgevoerd.

Opzetten

Maak een gezamelijke map voor de groep sftp gebruikers. In dit voorbeeld /srv/share maar ook een andere map is mogelijk. Plaats deze map op een schijfpartitie met voldoende vrije ruimte, bijvoorkeur gescheiden van het besturingssysteem.

sudo mkdir /srv/share

Wijzig de configuratie:

sudo nano /etc/ssh/sshd_config

Zoek de regel met Match group sftponly:

Match group sftponly
    ChrootDirectory /home/%u

Wijzig de regel met ChrootDirectory /home/%u in:

ChrootDirectory /srv/share

Sla de nieuwe configuratie op en herstart ssh:

sudo /etc/init.d/ssh restart

Om het voor deze groep van gebruikers mogelijk te maken ook bestanden te plaatsen kan er een submap met schrijfrechten worden gemaakt:

cd /srv/share
sudo mkdir uploads
sudo chgrp sftponly uploads
sudo chmod g+w uploads

De gebuikers kunnen nu bestanden plaatsen in de map uploads. Om dit te verduidelijken zou je het onderstaande kunnen doen:

cd /srv/share/
sudo touch zet.nieuw.bestanden.in.uploads

Test of het werkt door in te loggen.

Als de stappen voor het beperken tot een Eigen map zijn uitgevoerd kan de eigen map van sftp-gebruiker gast /home/gast worden gewist. In plaats hiervan wordt nu de gezamelijke map /srv/share gebruikt.

Meer gebruikers toevoegen

Met een adduser opdracht kan een nieuwe sftp gebruiker worden gemaakt voor de gedeelde map.

  • Vervang GEBRUIKERSNAAM door de gewenste gebruikersnaam.

sudo adduser --home / --no-create-home --ingroup sftponly GEBRUIKERSNAAM

Nadat je het wachtwoord hebt ingevoerd, kan je de rest leeg laten.

Permissies

De map /home/share heeft als eigenaar en groep root en dit moet zo blijven! Je mag wel submappen maken met andere rechten. Dit heeft te maken 'chroot'. De sftponly gebruikers hebben alleen schrijfrechten op de map uploads. Waarschijnlijk wil je zelf makkelijk bestanden in alle mappen kunnen zetten. Dit kan bijvoorbeeld door zelf (EIGEN-INLOGNAAM) eigenaar van de submappen te worden met de opdracht:

sudo chown EIGEN-INLOGNAAM /srv/share/*

Als je iets kopieert van uploads naar een andere map. Zal het de eigenaar van de degene die het bestand heeft toegevoegd overnemen. Het is ook mogelijk om de gebruiker die kopieert eigenaar te maken. Dit doe je door het volgende commando uitvoeren:

chmod +s /srv/share/*


CategoryNetwerkenEnServers

community/SftpServer (laatst bewerkt op 2015-06-14 14:57:12 door testcees)