Cette procédure permet de configurer un répertoire sftponly créé spécifiquement pour les transferts sftp. Les utilisateurs ne peuvent voir aucun fichier ou répertoire se trouvant en dehors du répertoire de transfert.
Avant de commencer
Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .
# groupadd sftp # useradd -m -G sftp -s /bin/false sftponly # chown root:root /export/home/sftponly # mkdir /export/home/sftponly/WWW # chown sftponly:staff /export/home/sftponly/WWW
Dans cette configuration, /export/home/sftonly est le répertoire chroot auquel seul le compte root peut accéder. L'utilisateur dispose de l'autorisation d'écriture sur le sous-répertoire sftponly/WWW.
Dans le fichier /etc/ssh/sshd_config, localisez l'entrée sftp subsystem et modifiez le fichier comme suit :
# pfedit /etc/ssh/sshd_config ... # sftp subsystem #Subsystem sftp /usr/lib/ssh/sftp-server Subsystem sftp internal-sftp ... ## Match Group for Subsystem ## At end of file, to follow all global options Match Group sftp ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no
Vous pouvez spécifier le chemin chroot à l'aide des variables suivantes :
%h : spécifie le répertoire d'accueil.
%u : spécifie le nom d'utilisateur de l'utilisateur authentifié.
%% : séquence d'échappement du signe %.
Les fichiers de votre environnement chroot sont susceptibles d'être différents.
root@client:~# ssh sftponly@server This service allows sftp connections only. Connection to server closed. No shell access, sftp is enforced. root@client:~# sftp sftponly@server sftp> pwd sftp access granted Remote working directory: /chroot directory looks like root directory sftp> ls WWW local.cshrc local.login local.profile sftp> get local.cshrc Fetching /local.cshrc to local.cshrc /local.cshrc 100% 166 0.2KB/s 00:00user can read contents sftp> put /etc/motd Uploading /etc/motd to /motd Couldn't get handle: Permission denieduser cannot write to / directory sftp> cd WWW sftp> put /etc/motd Uploading /etc/motd to /WWW/motd /etc/motd 100% 118 0.1KB/s 00:00user can write to WWW directory sftp> ls -l -rw-r--r-- 1 101 10 118 Jul 20 09:07 motdsuccessful transfer sftp>