9
votes

Définissez Umask pour un compte SFTP?

Quelqu'un pourrait-il me dire comment définir le umask pour un seul utilisateur SFTP ? Mérite d'être mentionné est un IBM AIX ...

Ajout umask 002 à cet utilisateur .profile n'a pas fonctionné ... (L'objectif est que ce fichier utilisateur est accessible aux personnes du même groupe).

J'ai vu quelque chose autour de la modification des configurations SFTPD, bien que je souhaite la définir pour un utilisateur uniquement, je m'attendais donc à trouver quelque chose qui n'avait pas besoin d'un accès root.

Merci!

f.


0 commentaires

5 Réponses :


3
votes

Je ne sais pas AIX, mais vous devriez pouvoir faire cela avec OpenSSH, bien qu'il nécessite des autorisations racines. Vous devrez écrire un script wrapper pour le composant serveur de SFTP. Le wrapper devra modifier sélectivement le umask code> pour l'utilisateur, puis exécu code> le serveur SFTP. Pour sélectionner un utilisateur, je suis partiel à: xxx pré>

si vous deviez créer un tel script comme / USR / local / sbin / sft-wrapper code>, vous changerait alors la configuration du sous-système SFTP dans / etc / ssh / sshd_config sshd_config sshd_config SSHD> P>

Subsystem   sftp    /bin/bash -c ‘umask 002; /usr/libexec/openssh/sftp-server’


0 commentaires

1
votes

Un umask de 111 en octale donnera 73 en décimal, que nous utilisera dans cet exemple.

#stopsrc -s sshd

#startsrc -s sshd


0 commentaires

3
votes

L'utilisateur peut la configurer eux-mêmes sans l'implication de la racine, soit du client (par connexion) ou sur le serveur (par clé publique).

du client, nous pouvons remplacer la commande distante utilisée pour gérer L'interaction SFTP utilisant l'option -s : xxx

(si votre sftp-serveur n'est pas installé dans l'un des Les emplacements mentionnés ci-dessus, ajoutent que sur le chemin de chemin).

du serveur, nous pouvons forcer une commande particulière à exécuter chaque fois qu'une connexion est faite à l'aide d'une clé publique particulière. Cela obtiendra la course pour toutes les connexions, pas seulement celles de SFTP, mais nous pouvons inspecter la variable $ ssh_original_command pour décider du plan d'action à prendre. Ajout de quelque chose comme ce qui suit à Authorized_keys est probablement suffisant pour vos besoins: xxx

(substituant que votre shell préféré est votre shell préféré pour gérer toutes les connexions interactives et Notant que si vous utilisez tcsh , vous devrez le modifier en fonction de la syntaxe de la coque).


0 commentaires

26
votes

a fonctionné super pour moi. Cependant, si vous avez besoin d'un peu de recherche car ce que vous avez fourni est un extrait de DOCS. Un exemple spécifique dans mon cas serait de mettre deux lignes consécutives à la fin du / etc / ssh / sshd_config xxx

dans mon cas ce que je voulais faire est de définir Umask sur '002' (2 en décimal) Si quelqu'un dans le groupe 'www-data' se connecte.

Il existe également une option d'utilisation env. variable ssh_original_command au lieu de "internal-sftp", mais je n'avais pas le temps de poursuivre cela.


6 commentaires

Prudent quand vous faites cela. Dans l'exemple ci-dessus, le groupe 'www-data' ne sera pas capable de faire SSH à travers la console. Je reçois l'erreur `Ce service permet uniquement aux connexions SFTP uniquement.Connection de prospérer fermé. '.


Cela a également travaillé pour moi (sur Amazon Linux). J'avais déjà utilisé la méthode SSH_OORIGINAL_COMMAND décrite ci-dessus. Pour une raison quelconque lorsque j'ai changé vers SFTP-interne et configurez le répertoire chroot, l'umask dans Authorized_Keys a cessé d'avoir un effet. Merci!


Pour la plupart d'entre nous concernés par la sécurité des utilisateurs SFTP, Chroot est la solution. Et cette réponse m'a aidé à résoudre les problèmes d'Umask pour ces utilisateurs sans accès au coquillage ni répertoire personnel. +1. Cependant, cela ne s'est pas rendu rapidement à la recherche.


J'ai fait cela, et cela fonctionne lorsque je crée des fichiers via la ligne de commande SFTP mais pas via FileZilla. Des idées?


Cela a fonctionné pour moi mais devait la définir comme interne-sftp -u 002


Une chose à garder à l'esprit ... Umask uniquement des lanières autorisations Il ne "ajoute pas" ou les définir askubuntu.com/questions/44542/...



0
votes

Je ne sais pas pourquoi les lignes ci-dessous ne fonctionnent pas pour moi:

* Match Group P>

Match User nappcpr, Group iwcopy

    PasswordAuthentication no

    PubkeyAuthentication yes

    **KbdInteractiveAuthentication no**


0 commentaires