Les répertoires /home/albums et /home/films sont accessibles en sftp pour quelques utilisateurs.
Environnement chrooté pour les utilisateurs
Les utilisateurs faisant partie du groupe sftp-users seront automatiquement chroot à l'intérieur d'un répertoire ~/mount lors de leur connexion.
Match Group sftp-users ChrootDirectory %h/mounts ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
Accès partagé aux répertoires
Création de l'utilisateur et son environnement
#!/bin/sh home_dir=/home/sftp/"$1" useradd --create-home --home "${home_dir}" --groups sftp-users "$1" --shell /bin/false test -d ${home_dir} || exit 0 chown root ${home_dir} mkdir "${home_dir}"/mounts mkdir "${home_dir}"/mounts/films mkdir "${home_dir}"/mounts/albums test -d "${home_dir}"/.ssh || sudo -u "$1" mkdir "${home_dir}"/.ssh
Montage des répertoire pour les utilisateurs déclarés
#!/bin/sh activate() { # Ensure the path exists test -d $2 || return 1 # Prevent the mountpoint for being mounted twice or more mountpoint $2 && return 1 mount --rbind $1 $2 } for dir in /home/sftp/*/mounts do echo ${dir} activate /home/mpd/music ${dir}/albums activate /home/films ${dir}/films activate /home/peer2peer ${dir}/peer2peer done