Uruchom sudo z konta bez uprawnień administratora

19

Okej, więc przygotowuję się do zakupu nowej maszyny, więc patrzę na to, jak mogę lepiej organizować rzeczy. Obecnie używam konta administratora jako głównego konta logowania, ale wiem, że prawdopodobnie nie jest to najlepsza praktyka, dlatego chciałbym przejść na osobne konto administratora i konto inne niż admin na moim komputerze.

Jestem jednak programistą i wykonuję dużo pracy w terminalu, więc czasami muszę uruchamiać polecenia za pośrednictwem sudo, ale oczywiście to nie działa tak, jak normalnie to robię ( sudo foo, wpisz hasło do bieżącego konta ). Chciałbym wiedzieć, znając szczegóły konta administratora na moim komputerze, czy można uruchamiać polecenia za pośrednictwem sudo(lub podobnego) konta innego niż administrator, bez konieczności każdorazowego logowania się na inne konto? Na przykład, czy mogę jakoś uruchomić okno dialogowe hasła administratora?

Haravikk
źródło
nie jestem pewien, czy zadziałałoby to z osxem, ale widziałem rozwiązania w systemach Linux (np. ubuntu), w których użytkownik może uruchamiać „su” przez „sudo”. w ten sposób możesz po prostu wpisać „sudo su”, wprowadzić hasło użytkownika i otrzymać root root. uwielbiam to rozwiązanie, ponieważ nie jest wymagane oddzielne konto administratora i hasło
weberik
Myślę, że warto wspomnieć, że w systemach takich jak UNIX, jeśli jesteś administratorem, doskonale jest działać na koncie sudoer. Odpowiednik administratora Windows-Xp przez cały czas byłby zalogowany do roota.
Linuxios,

Odpowiedzi:

25

Wygląda na to, że możesz użyć polecenia SU, aby przełączyć się na innego użytkownika w terminalu. Po przełączeniu się na administratora możesz używać poleceń sudo w połączeniu z hasłem konta administratora.

Na przykład, gdy jestem na komputerze Mac mojego użytkownika końcowego i muszę uruchomić coś z podwyższonymi uprawnieniami (na przykład chown) bez wylogowania i na konto administratora (ladmin), użyłbym czegoś takiego (pogrubioną czcionką):

Mr-Rabbits-Mac: ~ notadminuser $ su ladmin

Spowoduje to monit o podanie hasła do konta Ladmin. Po wprowadzeniu zobaczysz wiersz polecenia bash. Stąd mogę uruchomić dowolne polecenia sudo, wpisując hasło ladmin w razie potrzeby ...

bash-3.2 $ sudo chown user2 / some / folder

Spowoduje to uruchomienie komendy chown przy użyciu zalogowanego użytkownika ladmin, monitując o hasło do konta ladmin. Po zakończeniu możesz wpisać polecenie exit, aby powrócić do monitu zalogowanego użytkownika.

Zrzut ekranu podobnego procesu, używającego sudo tylko do uruchomienia polecenia ls (tylko na przykład). wprowadź opis zdjęcia tutaj

Pan Królik
źródło
1
Aha! To wydaje się dokładnie tym, czego potrzebuję, dzięki! Nie trzeba dodawać do pliku sudoers, miałem wrażenie, że jest sposób, aby to zrobić, po prostu nie mogłem o tym myśleć przez całe życie, dzięki za świetną odpowiedź!
Haravikk
5

Dodaj swoją istniejącą nazwę użytkownika do sudoerspliku, a to, co musisz zrobić, to użyć visudopolecenia i dodać wiersze w następujący sposób:

Specyfikacja uprawnień użytkownika

root ALL = (ALL) ALL

<randomuser> ALL = (ALL) ALL

% admin ALL = (ALL) ALL

Lub cokolwiek, co chcesz sobie dać. wtedy możesz biec sudo whateverdo swojego serca. Tak /etc/sudoersprzy okazji.

MDMoore313
źródło
4

W loginpolu Typ terminala wpisz spację your admin namei naciśnij klawisz Return. Następnie wpisz hasło administratora, naciśnij Return i jesteś zalogowany jako administrator, który może wydawać polecenia sudo bez dodatkowej konfiguracji lub plików do zmiany.

Seisdrum
źródło
-4

Przejdź do programu Directory Utility, odblokuj go, a następnie z menu Edycja wybierz „Włącz użytkownika root”. Wpisz unikalne hasło do konta root i wprowadź je ponownie w celu weryfikacji. Teraz po wykonaniu tego z dowolnego konta możesz otworzyć Terminal.app, możesz uruchomić „login” i wpisać root przy logowaniu, a następnie wprowadzić hasło roota, które właśnie skonfigurowałeś. Powinieneś być gotowy do drogi! ;)

Andrew U.
źródło
9
W tym celu nie trzeba włączać użytkownika root.
Édouard
Więc mogę przejść do dowolnego komputera Mac, który jest uruchomiony, otwórz Terminal.app i wprowadź polecenie logowania. Wpisz root, a następnie co jako hasło? Proszę, oświeć mnie: /
Andrew U.
3
Mam na myśli, że nie musisz umożliwiać rootowi robienia tego, o co prosi OP. W rzeczywistości, jeśli idziesz i używasz login, możesz równie dobrze zalogować się na konto administratora zamiast root.
Édouard,