Opis problemu: Jaki jest najbardziej elegancki i niezawodny sposób na sprawdzenie, czy mintty bashsesja Cygwin to „Uruchom jako administrator”?
Dlaczego konkretnie? Zazwyczaj mam kilka minttyotwartych terminali podczas korzystania z systemu Windows ( minttynie ma zakładek). Najbardziej niezręczne jest, gdy muszę znaleźć okno terminala, które uruchomiłem, klikając prawym przyciskiem myszy „Uruchom jako administrator”, gdy na przykład chcę uruchomić pinglub inną jednorazową procedurę. Chciałbym wskazać wizualnie „uruchom jako administrator” sesji terminala (zmieniając bashzmienną zachęty powłoki PS1w moim pliku startowym ~/.bashrc).
Kilka szybkich potencjalnych rozwiązań:
- Potrafię porównać wartość niektórych zmiennych środowiskowych. Po szybkim spojrzeniu na
envwynik jest dość wiele różnic. Trudno jednak stwierdzić, która z nich jest najbardziej niezawodna pod względem możliwości przenoszenia na inny komputer z systemem Windows (być może z inną wersją systemu Windows). id, dokładniejid -Gnpokazuje różne grupy, jeśli są uruchamiane jako administrator. Na moim komputerze z systemem Windows 7 mamAdministratorsirootgrupy dodane do listy. Ponownie nie jestem pewien, czy jest to przenośne.- Mógłbym spróbować zapisać plik w lokalizacji, która zawiodłaby jako normalny użytkownik. Ale nie chcę zapisywać żadnych plików w dziwnych miejscach - w niektórych wyobrażonych scenariuszach może to być potencjalnie destrukcyjne (np. Awaria nośników pamięci) i wydaje mi się to zupełnie nieeleganckie.
- Uruchamianie jakiegoś programu Windows, który wskaże status powrotu lub wyjście, jeśli polecenie zostanie uruchomione „jako administrator”. Najlepsze byłyby takie, które mają analogiczny cel jak
id(1)polecenie UNIX (ale natywnie istnieje w Windows - lub Cygwin, ale bez zbyt daleko idącego tłumaczenia koncepcji systemu Windows na emulowane przez POSIX).
Jakieś lepsze lub bardziej eleganckie sugestie? Być może cygwin udostępnia narzędzie poleceń przeznaczone do tego celu?
Aktualizacja: 97% duplikat /programming/4051883/batch-script-how-to-check-for-admin-rights/ - różnica polega tylko na zastosowaniu bashzamiast (dziwnego i archaicznego systemu Windows) cmd.exe. Sprawdź tam odpowiedzi i komentarze.
minttytego 1. działa jako administrator, 2. używa innego pliku konfiguracyjnego o różnych kolorach ustawienia i 3. używa alternatywnej ikony. Jeśli opiszesz ogółowi społeczeństwa, jak to stworzyć, dam ci głos uprzywilejowany (chyba że w odpowiedzi odpowiesz, że nie można tego zrobić w skrypcie :-).
Foogrupy użytkowników, jeśli chcesz.
sudoco jest wymagane, nawet jeśli działasz jako użytkownik root.
