web-dev-qa-db-fra.com

Erreur lors de l'exécution du binaire avec la racine setuid dans le répertoire de base chiffré

J'utilise un script VPN pour le formulaire de protocole Secure Access de Juniper ici , qui exécute un fichier binaire situé sous ~/.juniper_networks/network_connect/ncsvc avec les autorisations suivantes:

-rws--s--x 1 root root 1225424 okt.  25 13:54 ncsvc

Mais quand je le fais, j'obtiens l'erreur suivante:

ncsvc> Failed to setuid to root. Error 1: Operation not permitted

Déplacement/copie du dossier ~/.juniper_networks vers, par exemple, /opt/juniper (avec les mêmes autorisations de propriétaire), je ne reçois pas l'erreur. Dans le fil de discussion à l'adresse buntuforums , quelqu'un a fait remarquer que c'est probablement parce que j'ai crypté mon /home et donc un "problème" avec ecryptfs.

Comment puis-je réparer cela?

5
carestad

L'option de montage nosuid est utilisée lors de la configuration du montage eCryptfs. Ceci est fait pour des raisons de sécurité afin d'empêcher les attaques d'élévation de privilèges.

Vous pouvez déplacer le fichier binaire ncsvc hors de votre répertoire personnel (comme vous l'avez fait avec/opt/juniper /) et créer un lien symbolique de votre ~/.juniper_networks/network_connect/ncsvc vers le nouvel emplacement.

5
tyhicks

Je ne peux penser qu'à deux solutions de contournement pour la partition cryptée/home.

  1. Si vous vous connectez à un VPN via un site Web, démarrez Firefox avec: Sudo firefox car il est probable que votre/root ne soit pas crypté. Une fois la connexion réseau démarrée, vous pouvez fermer le navigateur et laisser le client s'exécuter en arrière-plan.

  2. Ceci est de ce qui a été mentionné auparavant. En gros, le client s'exécute en dehors d'une partition chiffrée:

    rm ~/.juniper_networks
    Sudo mkdir /opt/.juniper_networks
    ln -s /opt/.juniper_networks ~/.juniper_networks
    Sudo chown yourusername:yourgroupname /opt/.juniper_networks
    

Après ce qui précède, démarrez et installez à nouveau la connexion réseau. Cette fois, il sera installé dans /opt/.juniper_networks.

1
user210037