53 votes

Comment puis-je sudo sur sshfs?

Sur mon localhost alpha, j'ai un répertoire foo qui est mappé via sshfs sur l'hôte bravo comme suit :

$ sshfs charlie@bravo:/home/charlie ~/foo

Cependant, sur l'hôte bravo, il y a un autre utilisateur, delta, que je veux sudo /bin/su, afin que je puisse travailler dans bravo:/home/delta. delta ne peut pas se connecter via ssh; pour des raisons que je ne peux pas changer, vous ne pouvez passer en sudo vers delta que lorsque vous êtes sur la machine.

Normalement, je me connecterais en ssh à bravo, puis je passerais en sudo vers delta, mais je me demande s'il y a un moyen de le faire lorsque le répertoire personnel de charlie est monté via ssh.

0voto

André Kugland Points 101

Ma solution est affreusement moche (grâce à quelques couches d'échappement de chaîne), mais elle lira le chemin vers sftp-server à partir de /etc/ssh/sshd_config et l'exécutera via sudo. Maintenant, que se passe-t-il si sshd_config n'est pas situé sous /etc/ssh? Peut-être rechercher à l'intérieur du binaire ssh avec strings et grep?

#!/bin/sh
sshfs -o sftp_server="/bin/sh -c \"sudo \`sed -n '/Subsystem\\\\\\\\s\\\\+sftp\\\\\\\\s\\\\+/{s///;p}' /etc/ssh/sshd_config\`\"" "$@"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X