Co muszę wejść do terminalu, używając sudo, aby zostać administratorem?

11

Moje konto użytkownika to standardowe konto na moim komputerze Mac. Co muszę wprowadzić do terminalu sudo, aby zostać administratorem?

Steven Savary
źródło
1
Czy chodzi o trwałą zmianę konta użytkownika, czy o uruchomienie sesji terminalowej z uprawnieniami administratora (lub użytkownika root), dla którego znasz dane logowania?
rackandboneman

Odpowiedzi:

14

Jeśli rzeczywisty użytkownik <nazwa_użytkownika> ma standardowe konto, musisz wprowadzić

sudo dscl . -append /Groups/admin GroupMembership <user_name>

aby <nazwa_użytkownika> był administratorem.

Jednak tylko ograniczona liczba użytkowników to sudoers (tzn. Konta, które mogą uruchamiać się sulub sudomają uprawnienia roota). Standardowy plik sudoers ( / etc / sudoers ) w OS X wygląda następująco:

...
# User privilege specification
root    ALL=(ALL) ALL
%admin  ALL=(ALL) ALL

# Uncomment to allow people in group wheel to run all commands
# %wheel    ALL=(ALL) ALL
...

Tak więc tylko root i członkowie grupy administracyjnej mogą działać sudodomyślnie. Powyższe polecenie uruchomione przez <nazwa_użytkownika> zakończy się niepowodzeniem, ponieważ <nazwa_użytkownika> nie znajduje się na liście.

Aby włączyć sudoing dla <nazwa_użytkownika> , musisz dodać <nazwa_użytkownika> do listy (poniżej # specyfikacji uprawnień użytkownika ) lub odkomentować% koła, z sudo visudoktórym sudoers musi ponownie uruchomić (to Catch22 wspomniany przez Tetsujin).

klanomath
źródło
1
Ładnie specyficzny, aby przeciwdziałać mojemu „cudownie niejasnemu”. +1, jak zawsze.
Tetsujin,
1
Nie pamiętam: nie najnowsza wersja OSX. zawierać jakieś „nie-naprawdę-sudo”, któremu brakuje pełnych standardowych praw dla Uniksa?
Carl Witthoft,
3
@CarlWitthoft Tak, prawdopodobnie myślisz o SIP .
Deditos,
12

To trochę Catch22…

Trzeba już być administratorem, aby być na liście sudoers [z nielicznymi wyjątkami ręcznie zmienione]

Zasadniczo nie możesz się promować.
To jest cały punkt sudo i bycia administratorem, aby móc przypisywać ograniczone umiejętności innym niż administrator.

Tetsujin
źródło
-2

Jeśli masz dostęp do konta administratora, możesz tymczasowo zostać tym kontem za pomocą:

su - <admin_username>

Stamtąd można wykonywać czynności administracyjne za pośrednictwem sudo.

Jeśli nie masz dostępu do konta administratora, nie ma „usankcjonowanego” sposobu uzyskania dostępu administratora (ponieważ o to chodzi w tym przypadku, aby mieć oddzielne role administratora), ale istnieje wiele nieuzasadnionych sposobów uzyskania dostępu , takie jak wykorzystanie eskalacji uprawnień lub uruchomienie w trybie pojedynczego użytkownika. (Zostaną one pozostawione czytelnikowi jako ćwiczenie).

puszysty
źródło