Selenith

Projets, Memos, Infos.

[linux] creer dossier partagé ssh sans chroot

Configuration de base

Pour commencer il va falloir creer un utilisateur sans shell ni home. L'interet est de securiser au maximum en empechant l'utilisateur d'acceder au systeme.

L'utilisateur utilisé ici sera invite.

sudo useradd --no-create-home -s /bin/false invite


Ensuite si ca n'est pas deja fait, installez le daemon ssh.
Il va falloir creer un dossier de partage qui sera le dossier racine a la connexion.

sudo mkdir /srv/partage


Le fonctionnement de ssh est fait de tel sorte qu'aucun utilisateur ne peut avoir les droits sur le dossier racine.
Il va donc falloir creer un sous dossier dans lequel l'utilisateur aura tous les droits.

sudo mkdir /srv/partage/echange


Puis attribuer les droits a s'utilisateur

sudo chown invite:invite /srv/partage/echange


Ensuite, editez le fichier  /etc/ssh/sshd_config

Ajoutez en fin de fichier

 #config pour creer une cage scp sans chroot
Match user invite
        ChrootDirectory /srv/partage
        X11Forwarding no
        AllowTcpForwarding no
        # ForceCommand /usr/lib/openssh/sftp-server
        ForceCommand internal-sftp


Puis rechargez le daemon ssh.

 sudo service ssh reload


Et voila, votre utilisateur aura acces a son dossier echange dans lequel il pourra deposer/supprimer/modifier ses fichiers et ses dossiers.
 


Configuration avancée

 


Vous pouvez egalement lier un groupe d'utilisateur a votre dossier.

On va creer un groupe pour le sftp. Il va s'appeler partagesftp

sudo groupadd partagesftp


on lui ajoute ensuite un ou plusieurs utilisateur.
 

sudo useradd --no-create-home -g partagesftp -s /bin/false toto
sudo passwd toto
sudo useradd --no-create-home -g partagesftp -s /bin/false titi
sudo passwd titi


Avec dans ssh_config
 

#config pour chroot propre scp
Match groupe partagesftp
        ChrootDirectory /srv/partage
        X11Forwarding no
        AllowTcpForwarding no
        # ForceCommand /usr/lib/openssh/sftp-server
        ForceCommand internal-sftp -u 2 # modification du umask par defaut


On n'oublie pas de recharger la config.
 

sudo service ssh reload

Réagissez à cet article

Pour poster un commentaire, utilisez le formulaire ci-dessous :