Énoncé du problème: Quelle est la façon la plus élégante et la plus robuste de tester si la mintty bashsession Cygwin est "Exécuter en tant qu'administrateur"?
Pourquoi, plus précisément? J'ai généralement plusieurs minttyterminaux ouverts lorsque j'utilise Windows ( minttyn'a pas d'onglets). Le plus gênant, c'est quand j'ai besoin de trouver une fenêtre de terminal que j'ai démarrée en cliquant avec le bouton droit sur "Exécuter en tant qu'administrateur" lorsque, par exemple, je veux exécuter pingou une autre procédure unique. Je voudrais indiquer visuellement la «exécution en tant qu'administrateur» de la session de terminal (en changeant la bashvariable d'invite du shell PS1dans mon fichier de démarrage ~/.bashrc).
Quelques solutions potentielles rapides:
- Je peux comparer la valeur de certaines variables environnementales. En regardant rapidement la
envsortie, il existe de nombreuses différences. Il est cependant difficile de dire lequel est le plus fiable en termes de portabilité vers une autre machine Windows (exécutant peut-être une version différente de Windows). id,id -Gnaffiche plus spécifiquement différents groupes s’ils sont exécutés en tant qu’administrateur. Dans ma machine Windows 7, j'ai des groupesAdministratorsetrootajoutés à la liste. Encore une fois, je ne suis pas sûr que ce soit portable.- Je pourrais essayer d'écrire un fichier dans un emplacement qui échouerait en tant qu'utilisateur normal. Mais je ne veux pas écrire de fichiers dans des endroits étranges - cela pourrait dans certains scénarios imaginés être potentiellement destructeur (par exemple, un support de stockage défaillant) et cela semble tout à fait inélégant à mon goût.
- Exécution d'un programme Windows qui indiquera par état de retour ou sortie si la commande est exécutée "en tant qu'administrateur". Le mieux serait certains avec un but analogue à celui de la
id(1)commande UNIX (mais existant nativement dans Windows - ou Cygwin, mais sans traduction trop poussée des concepts du système Windows en concepts émulés POSIX).
Des suggestions meilleures ou plus élégantes? Peut-être que cygwin fournit un utilitaire de commande dédié à cet effet?
Mise à jour: doublon de 97% de /programming/4051883/batch-script-how-to-check-for-admin-rights/ - la différence est juste ici en utilisant bashau lieu de (IMHO bizarre et archaïque) Windows cmd.exe. Veuillez vérifier les réponses et les commentaires là-bas.
minttycela 1. s'exécute en tant qu'administrateur, 2. utilise un fichier de configuration différent avec des couleurs différentes paramètres et 3. utilise une autre icône. Si vous décrivez au grand public comment créer ceci, je vous donnerai un upvote (à moins que vous ne disiez dans votre réponse que cela ne peut pas être fait dans un script :-).
Foogroupe d'utilisateurs si vous le souhaitez.
sudoce qui est requis même si vous exécutez en tant qu'utilisateur root.
