Gestion des autorisations d'annuaire Linux et SFTP
Bonjour; J'ai un serveur Web RHEL 5.7, Personnalisé pour la permission SSH / SFTP Seulement pour certains groupes. J'aimerais que les gestionnaires de contenu téléchargent du contenu sur leurs répertoires respectifs et que ce contenu hérite de la propriété de l'utilisateur. / Groupes sur le répertoire, quelle que soit la méthode de démarrage ou d'application. Par exemple:
John dans le groupe
"la toile"
Pour la droite SSH / SFTP et
"la finance"
Pour les autorisations de répertoire et les téléchargements dans le catalogue
"Matériel"
de l'autre côté SFTP.
Catalogue
"Matériel"
A des droits d'accès "2760" (rwxrws ---) et propriété de
"apache: la finance"
.
Si John télécharge une mise à jour dans un fichier existant dans
"Matériel"
, La propriété du fichier reste
"apache: la finance"
. Si John téléchargera un nouveau fichier dans
"Matériel"
, Propriété du fichier
"John: Finance"
.
Je veux que tout fichier de John soit chargé dans
"Matériel"
Changer le propriétaire du catalogue. J'ai essayé S. setuid et setgid, Mais la propriété n'a pas été acceptée. J'ai vu une mention dans ServerFault À propos de nous ACL ou chrooted jail pour SFTP, Mais je dois toujours les configurer et tester, et je ne sais pas s'ils sont une solution viable (ils pourraient être, je ne sais tout simplement pas parce que je n'ai jamais fait). Nous serons reconnaissants pour toutes les pensées et l'aide.
John dans le groupe
"la toile"
Pour la droite SSH / SFTP et
"la finance"
Pour les autorisations de répertoire et les téléchargements dans le catalogue
"Matériel"
de l'autre côté SFTP.
Catalogue
"Matériel"
A des droits d'accès "2760" (rwxrws ---) et propriété de
"apache: la finance"
.
Si John télécharge une mise à jour dans un fichier existant dans
"Matériel"
, La propriété du fichier reste
"apache: la finance"
. Si John téléchargera un nouveau fichier dans
"Matériel"
, Propriété du fichier
"John: Finance"
.
Je veux que tout fichier de John soit chargé dans
"Matériel"
Changer le propriétaire du catalogue. J'ai essayé S. setuid et setgid, Mais la propriété n'a pas été acceptée. J'ai vu une mention dans ServerFault À propos de nous ACL ou chrooted jail pour SFTP, Mais je dois toujours les configurer et tester, et je ne sais pas s'ils sont une solution viable (ils pourraient être, je ne sais tout simplement pas parce que je n'ai jamais fait). Nous serons reconnaissants pour toutes les pensées et l'aide.
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
1 réponses
Hannah
Confirmation de:
Cependant, si vous pouvez utiliser scp Et attribuer une paire de clés à chaque utilisateur, vous pouvez le contourner. Cela inclut l'ajout d'une clé personnalisée à un fichier. ~ / .ssh / authorized_keys root avec paramètre command =, Pour le forcer à démarrer le script qui nettoie et modifie les arguments du programme serveur scp. J'ai utilisé cette technique plus tôt pour mettre en place Anonymous scp dropbox, Qui a permis à quiconque d'envoyer un fichier et d'assurer que personne ne peut obtenir des fichiers envoyés et éviter toute écrasement.
Si vous êtes ouvert à cette technique, faites le moi savoir et j'ajouterai ce post à une recette rapide.
Changement: basé sur des commentaires Voici ma recette que j'ai été utilisée à l'origine pour configurer Anonyme Dropbox. Mais il doit travailler à cette fin.
Si vous voulez que John écrit des fichiers à
, Et tous les fichiers enregistrés en elle appartiennent à l'ID utilisateur
, alors:
1) Créer une paire de clés ssh:
2) Modifier le fichier d'ouverture de la clé "john-scp-key.pub" Et insérer l'opérateur "command =" de la manière suivante:
3) Ajouter du contenu
à
file (Créer un fichier si cela n'existe pas, en vous assurant que le catalogue .ssh, et authorized_keys appartenant à
, et non disponible pour l'entrée ni un groupe ni le monde)
4) Créer un script
de la manière suivante:
5) Donnez maintenant un fichier de clé fermé
John et lui demandez de copier des fichiers sur votre serveur Web comme suit:
Cela fonctionne comme ceci: quand vous utilisez scp Pour copier le fichier sur le serveur, le client scp Les usages ssh pour l'exécution «scp -t / path / name» sur le serveur. Lorsque vous utilisez une paire de clés, vous pouvez remplacer la commande exécutée et démarrer de force une commande spécifique lors de l'utilisation de cette clé. La commande initiale demandée avec ses arguments est dans la variable d'environnement «$ SSH_ORIGINAL_COMMAND». Nous spécifions donc
Dans le script qui vérifie les arguments admissibles (Dans ce cas, il vérifie que le troisième argument - Ceci est un répertoire spécifique dans lequel nous souhaitons enregistrer des données), Cette clé ne convient donc que pour son objectif destiné et ne peut pas être utilisée pour exécuter des commandes arbitraires sur le serveur.
Vous pouvez bloquer
Le script est un peu plus loin en vérifiant s'il existe un fichier cible ou non, et vous pouvez également ajouter
à la fin pour définir le fichier appartenant au groupe (à condition que
est membre de ce groupe).
J'espère que cela aidera - Si vous avez des problèmes, faites-le moi savoir et je verrai si je peux améliorer cette réponse.
</eot>