Je suis coincé avec créer chroot SFTP. Je peux me connecter, mais je reçois une «autorisation refusée», peu importe ce que j'essaie.
sftp webadm@<ip>:
webadm@<ip>'s password:
Connected to <ip>.
Changing to: /
sftp> ls
remote readdir("/"): Permission denied
sftp>
C'est ce que j'ai fait:
/etc/ssh/sshd_config
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
PermitTunnel no
X11Forwarding no
J'ai créé l'utilisateur webadm
useradd webadm
passwd webadm
groupadd sftponly
gpasswd -a webadm sftponly
usermod -g sftponly webadm
groups webadm
webadm : sftponly
J'ai suivi ce guide https://wiki.archlinux.org/index.php/SFTP_chroot
ll /home/
drwx------+ 5 root root 4096 May 31 23:49 webadm
ll /home/webadm/
-rw-r--r--. 1 webadm sftponly 5 May 31 23:34 test
getfacl /home/webadm/
getfacl: Removing leading '/' from absolute path names
# file: home/webadm/
# owner: root
# group: root
user::rwx
group::---
mask::---
other::---
Il est écrit que root doit posséder le répertoire chroot, mais comment l’utilisateur Webadm peut-il accéder au contenu de son répertoire? j'ai essayé de
setfacl -m u:webadm:rwx /home/webadm/
mais alors je ne pouvais même pas me connecter.
J'ai aussi essayé de faire correspondre l'utilisateur dans sshd, mais le même effet
Match User webadm
ChrootDirectory /home/webadm
AllowAgentForwarding no
X11Forwarding no
AllowTcpForwarding no
#PermitTTY no
ForceCommand internal-sftp
PermitTunnel no
Selinux est en mode permissif. La seule erreur que je peux voir est dans / var / log / secure
Accepted password for webadm from <ip> port 19669 ssh2
pam_unix(sshd:session): session opened for user webadm by (uid=0)
sshd_selinux_copy_context: getcon failed with Permission denied [postauth]
Alors qu'est-ce que je fais mal? Toute aide vraiment appréciée. Je vous remercie.
webadm
auid=0
? C'est suspect.Réponses:
Essayez de définir les autorisations sur ce répertoire sur 755 (rwxr-xr-x) plutôt que sur 700. L'ID webadm a besoin des autorisations Lire et eXamine sur le répertoire pour afficher les fichiers qu'il contient.
Le serveur ssh ira bien avec le directeur étant lisible. La fonctionnalité chroot exige seulement que le répertoire ne soit pas accessible en écriture . Dans le manuel de sshd_config (soulignement ajouté):
Je vous suggère également de supprimer la liste de contrôle d'accès du répertoire, sauf si vous en avez besoin pour une autre raison. Je ne crois pas que SSHD tiendra compte de la liste de contrôle d'accès pour déterminer si le répertoire convient comme répertoire chroot.
la source