Bonjour,
j'ai un petit soucis, et je cherche une solution (et je trouve pas) :
J'ai un serveur SSH (openssh) configuré pour sftp, avec un accès pour un utilisateur extuser (chroot).
Sur le même serveur, j'ai un autre utilisateur user1.
Les deux utilisateurs user1 et extuser appartiennet au groupe groupext.
Sur le serveur, le répertoire /EXT/ROOM sert de dépôt : extuser peut y uploader ce qu'il veut.
/EXT/ROOM root:groupext rwx,rwxs,r-x
Avec ces permissions, tout ce extuser upload via sftp appartient à extuser, et au groupe groupext. Qu'en est-il des permissions ? C'est là mon problème.
Car put (ou put -r) de sftp conserve les droits du fichier d'origine : si le fichier que extuser envoie ne possède pas les droits d'écriture groupe sur sa machine locale, alors sur le serveur le fichier n'aura pas les droits groupes non plus.
==> Résultat : un script/binaire lancé par user1 ne peut modifier le contenu de /EXT/ROOM ... Or c'est ce que je veux faire !
> Une solution serait de lancer le binaire via sudo avec le sudoer adéquat, mais je souhaite pour le moment privilégier les solutions où le binaire est lancé en user1
> Mes autres idées, mais pas sûr qu'elles soient applicables, j'ai pas l'impression en cherchant sur le net en tout cas :
- Est-ce que je peux configurer openssh pour faire un mapping d'utilisateur lors de l'upload, passer de extuser à user1
- Est-ce que je peux configurer openssh pour exécuter, à la fin de chaque upload, une certaine commande ? Je pense bien sûr à un chmod, mais encore faurait-il récupérer le chemin de ce qui a été uploadé ...
Si vous avez des idées, je suis preneur, merci
Partager