J'espérais que quelqu'un pourrait m'aider avec ce problème
"Essayer de configurer un utilisateur SFTP avec un accès limité."
J'utilise Ubuntu 16.04.2 x64 sur un serveur DigitalOcean. J'ai posté ceci sur le forums DigitalOcean aussi.
system user
s'appelle serverpilot
serverpilot
a les privilèges root,home
se trouve dans: /srv/users/serverpilot
public
se trouve dans: /srv/users/serverpilot/apps/test-app/public/
Je veux ajouter un deuxième utilisateur, mais limiter ce que l'utilisateur peut faire:
newsletters
, ce sera dans le dossier public
.newsletters
C’est le chemin complet du dossier newsletters
: /srv/users/serverpilot/apps/test-app/public/newsletters
J'ai suivi ce guide Comment puis-je limiter un utilisateur à un répertoire spécifique? par Maxamilian Demian (@Maxoplata), Jonathan Tittle (@jtittle) a très bien répondu.
Cependant, j'ai toujours des problèmes pour me connecter via SFTP
J'ai énuméré toutes les étapes que j'ai effectuées - j'espère qu'une personne plus expérimentée sera capable de détecter mes erreurs!
root
user-sftp-only
adduser user-sftp-only
compgen -u
user-sftp-only
est au bas de la listegrep user-sftp-only /etc/passwd
génère:
user-sftp-only:x:1004:1007:,,,:/home/user-sftp-only:/bin/bash
user-sftp-only
les privilèges rootgpasswd -a user-sftp-only Sudo
root
user-sftp-only
public
appelé newsletters
:cd /srv/users/serverpilot/apps/test-app/public/
Sudo mkdir newsletters
Toujours dans le dossier public
de l'étape précédente, je lance
$ ls -al
drwxr-xr-x+ 3 serverpilot serverpilot 4096 Mar 7 15:26 .
drwxr-xr-x+ 3 serverpilot serverpilot 4096 Mar 3 16:22 ..
-rw-r--r--+ 1 serverpilot serverpilot 3393 Mar 3 16:22 index.php
drwxrwxr-x+ 2 root root 4096 Mar 7 15:26 newsletters
Après avoir lu divers articles de DigitalOcean, je sais que je dois créer un groupe et affecter mon nouvel utilisateur user-sftp-only
à ce groupe, puis remplacez root root
par le nom de mon utilisateur et de mon groupe.
user-sftp-only
Sudo groupadd group-sftp-only
compgen -g
group-sftp-only
est au bas de la liste Remarque: Je remarque que mon nouvel utilisateur appelé user-sftp-only
figure également dans cette liste?
root
user-sftp-only
à un groupe appelé group-sftp-only
Cela signifie qu'il n'est plus possible de SSH dans l'utilisateur user-sftp-only
usermod -g group-sftp-only -d /srv/users/serverpilot/apps/test-app/public/newsletters -s /sbin/nologin user-sftp-only
-g
spécifie le nom du groupe-d
spécifie le répertoire de base de l'utilisateur-s
spécifie l'accès au shell (/ sbin/nologin signifie que SSH est désactivé pour cet utilisateur)Connecté en tant que root
$ grep user-sftp-only /etc/passwd
user-sftp-only:x:1001:1004:,,,:/srv/users/serverpilot/apps/test-app/public/newsletters:/sbin/nologin
root
nano /etc/ssh/sshd_config
#Subsystem sftp /usr/lib/openssh/sftp-server -l INFO
Au même en bas de sshd_config
ajouté ceci:
Subsystem sftp internal-sftp
Match group group-sftp-only
ChrootDirectory %h
ForceCommand internal-sftp
root
service ssh restart
root
user-sftp-only
/srv/users/serverpilot/apps/test-app/public/newsletters
Utilisé pour s'assurer que le répertoire personnel appartient à l'utilisateur et au groupe.
chown -R user-sftp-only:group-sftp-only /srv/users/serverpilot/apps/test-app/public/newsletters
Toujours connecté en tant que root
:
$ cd /srv/users/serverpilot/apps/test-app/public/`
$ ls -al
drwxr-xr-x+ 3 serverpilot serverpilot 4096 Mar 7 15:26 .
drwxr-xr-x+ 3 serverpilot serverpilot 4096 Mar 3 16:22 ..
-rw-r--r--+ 1 serverpilot serverpilot 3393 Mar 3 16:22 index.php
drwxrwxr-x+ 2 user-sftp-only group-sftp-only 4096 Mar 7 15:26 newsletters
$ cd /srv/users/serverpilot/apps/test-app/public/newsletters
$ ls -al
drwxrwxr-x+ 2 user-sftp-only group-sftp-only 4096 Mar 7 15:26 .
drwxr-xr-x+ 3 serverpilot serverpilot 4096 Mar 7 15:26 ..
C'est là que je suis en train de faire. Cependant, je ne peux pas me connecter en tant que nouvel utilisateur user-sftp-only
via SFTP
tail -f /var/log/syslog
Essayez de vous connecter à un compte utilisateur uniquement. Notez le message d’information de réussite/échec.
En cas d'échec, ajoutez la ligne suivante à /etc/ssh/sshd_config
:
AllowUsers user-sftp-only
puis lancez:
Sudo service sshd restart