J'ai un serveur SFTP (openssh / sftp-server) et je voudrais paramétrer umask 002 pour les utilisateurs utilisant ce service. J'ai essayé de définir PAM (pam.d / common-session) et .profile pour chaque utilisateur, mais pas de chance.
Avec la connexion SSH, tout va bien, mais lorsque j'essaie avec SFTP (avec gFTP), j'ai le jeu umask 022.
J'ai déjà essayé d'utiliser un wrapper pour sftp-server qui change le umask avant d'appeler le sftp-server, pas de chance.
De l'aide? Merci beaucoup!
Subsystem sftp /bin/sh -c 'umask 0002; /usr/lib/openssh/sftp-server'
J'espère que cela peut sauver des heures de frustration à quelqu'un d'autre ...
Si vous utilisez une application SFTP GUI, vérifiez ses préférences pour définir les autorisations lors du téléchargement.
J'avais essayé toutes les solutions ci-dessus, et il s'avère que l'application les remplaçait.
la source
Après plusieurs heures à essayer d'appliquer divers hacks et correctifs, j'ai trouvé une bonne solution!
Il y a un patch pour SSH qui vous permet de choisir le umask que vous voulez pour SFTP. Vous pouvez le télécharger ici: http://sftpfilecontrol.sourceforge.net/
Pour moi (OpenSSH_5.2p1 + sftpfilecontrol-v1.3, OpenSSL 0.9.8g 19 oct 2007) ça marche parfaitement!
la source
Dans le fichier de configuration ssh, vous pouvez également l'utiliser pour définir le mode du fichier spécifiquement (en remplaçant tout chmod que le client peut essayer de définir). Ici, j'utilise internal-sftp mais je suppose que ce serait la même chose pour sftp-server:
la source
Pour citer ce message :
Bash utilise les
.profile
shells de connexion interactifs. Je ne pense pas que çasftp
compte comme un. Vous pourriez être en mesure de définir le umask/etc/bash.bashrc
ou~/.bashrc
si la pointe ci-dessus ne fonctionne pas ou si vous souhaitez un contrôle plus fin.la source
Référez-vous à cette question pour trouver une solution simple qui ne nécessite pas de versions OpenShsh spécifiques ni de correctifs personnalisés.
la source