Jak nadać uprawnienia użytkownika root?

12

Właśnie zainstalowałem Arch. Działa świetnie. Utworzyłem nowego użytkownika, zalogowałem się na nim i teraz próbuję zainstalować kilka rzeczy pacman. Ale ciągle pojawia się błąd: error: you cannot perform this operation unless you are root.mogę dobrze korzystać pacmanz rootem, ale czy istnieje sposób, aby pozwolić mojemu nowemu użytkownikowi na wykonanie tych działań?

Próbowałem zalogować się do roota i używając gpasswd:

gpasswd -a jack root

ale to nic nie zrobiło.

Jack Stewart
źródło
1
Ogólnie rzecz biorąc, wiki Arch Linux jest bardzo przydatna i szczegółowa.
Alex Chamberlain,

Odpowiedzi:

17

Powinieneś przeczytać stronę Arch Wiki na sudo .

sudo („zastępczy użytkownik do”) pozwala administratorowi systemu delegować uprawnienia, aby niektórzy użytkownicy (lub grupy użytkowników) mogli uruchamiać niektóre (lub wszystkie) polecenia jako root lub inny użytkownik, zapewniając jednocześnie ścieżkę audytu poleceń i ich argumenty.

Możesz zainstalować sudoz repozytoriów, a następnie skonfigurować go tak, aby zezwolić użytkownikowi na jackdostęp do uprzywilejowanych poleceń poprzez edycję /etc/sudoers. Upewnij się, że robisz to za pomocą visudopolecenia.

Aby nadać użytkownikowi jackpełne uprawnienia roota, należy dodać następujący wiersz:

jack ALL=(ALL) ALL
jasonwryan
źródło
8

To, co zwykle robię, to włączanie uprawnień roota dla określonej grupy. W ten sposób możesz po prostu dodać użytkowników, których chcesz rootować do tej grupy.

Edytuj za /etc/sudoerspomocą visudoi dodaj (lub skomentuj):

%wheel      ALL=(ALL) ALL

Następnie dodaj użytkownika do tej grupy:

gpasswd -a jack wheel
Eric Lennartsson
źródło
1
Mimo że odpowiedź oznaczona jako zaakceptowana i zadziała, uważam, że ta odpowiedź jest lepsza ze względu na używanie grup zamiast modyfikowania sudoers.
Erick Brown,
0

Mogę dobrze używać Pacmana z rootem, ale czy istnieje sposób, aby pozwolić mojemu nowemu użytkownikowi na wykonanie tych działań?

Możesz utworzyć swój $USER, dodając go do wheelgrupy sam:

useradd -Ng wheel --create-home --no-log-init $USER

Następnie zaktualizuj /etc/sudoers zgodnie z sugestią Erica Lennartssona. Ale jeśli szukasz podejścia programowego, możesz zamiast tego utworzyć plik w stylu /etc/sudoers.d:

echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/dont-prompt-$USER-for-password

Powyższa metoda została zasugerowana przez Borisa w Ask Ubuntu i wcale nie wymaga użycia visudo. Gdy używasz go z prefiksem pacman, polecenia z sudo, takie jak:

sudo pacman -S docker docker-compose
Josh Habdas
źródło