Je suis en train de mettre en place un serveur de fichiers où les utilisateurs se connectent via SFTP. Je veux que tous les utilisateurs aient les mêmes droits de lecture et d'écriture sur tous les fichiers. Comme ils ont tous des comptes différents avec des mots de passe différents, je me retrouve avec quelque chose comme ceci :
-rw-r----- 1 user1 sharing 308 Jul 6 12:03 test2.rtf
-rw-r----- 1 user2 sharing 308 Jul 6 12:16 test3.rtf
Le groupe s'appelle sharing
qui contient tous les utilisateurs. Le problème est que lorsque les fichiers sont écrits, la permission par défaut pour les groupes est la lecture seule.
J'ai essayé de définir le umask dans sshd_config
:
Subsystem sftp /bin/sh -c 'umask 0002; /usr/lib/openssh/sftp-server'
Match Group sharing
ChrootDirectory /files/
ForceCommand internal-sftp -u 002
AllowTCPForwarding no
X11Forwarding no
Le facl pour le répertoire est le suivant :
# file: .
# owner: root
# group: sharing
# flags: -s-
user::rwx
group::rwx
group:sharing:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::---
également dans ces lieux :
init.d/rc:umask 002
init.d/ssh:umask 002
bash.bashrc:umask 002
Si je me connecte via SFTP, j'obtiens des autorisations de 640. Si je désactive le sftp et me connecte en tant qu'utilisateur1 via ssh, et que je touche un nouveau fichier, j'obtiens des permissions de 660 - ce qui est ce que je veux.
Comment faire pour que cela fonctionne via SFTP ?
C'est debian 7 btw.