Bagaimana cara memberikan izin root pengguna?

12

Saya baru saja menginstal Arch. Bagus sekali. Saya membuat pengguna baru, masuk dengannya dan sekarang saya mencoba menginstal beberapa hal pacman. Tapi saya terus mendapatkan kesalahan: error: you cannot perform this operation unless you are root.Saya bisa menggunakan pacmandengan root, tetapi apakah ada cara untuk memungkinkan pengguna baru saya untuk melakukan tindakan ini?

Saya mencoba masuk ke root dan menggunakan gpasswd:

gpasswd -a jack root

tapi itu tidak melakukan apa-apa.

Jack Stewart
sumber
1
Sebagai catatan umum, wiki Arch Linux sangat berguna dan terperinci.
Alex Chamberlain

Jawaban:

17

Anda harus membaca halaman Arch Wiki pada sudo .

sudo ("pengguna pengganti lakukan") memungkinkan administrator sistem untuk mendelegasikan wewenang untuk memberikan pengguna tertentu (atau kelompok pengguna) kemampuan untuk menjalankan beberapa (atau semua) perintah sebagai root atau pengguna lain sambil memberikan jejak audit dari perintah dan argumen.

Anda dapat menginstal sudodari repositori dan kemudian mengonfigurasinya untuk memungkinkan pengguna Anda jack,, mengakses perintah istimewa dengan mengedit /etc/sudoers. Pastikan Anda melakukan ini menggunakan visudoperintah.

Untuk memberikan jackhak root penuh kepada pengguna , Anda akan menambahkan baris ini:

jack ALL=(ALL) ALL
jasonwryan
sumber
8

Apa yang biasanya saya lakukan adalah mengaktifkan hak akses root untuk grup tertentu. Dengan begitu Anda bisa menambahkan pengguna yang ingin di-root hak istimewa ke grup itu.

Edit /etc/sudoersdengan visudodan tambahkan (atau komentar):

%wheel      ALL=(ALL) ALL

Kemudian tambahkan pengguna Anda ke grup itu:

gpasswd -a jack wheel
Eric Lennartsson
sumber
1
Meskipun jawaban yang ditandai diterima dan akan berfungsi, saya yakin jawaban ini lebih baik karena menggunakan grup daripada memodifikasi sudoers.
Erick Brown
0

Saya dapat menggunakan pacman dengan root, tetapi apakah ada cara untuk memungkinkan pengguna baru saya melakukan tindakan ini?

Anda dapat membuat $USER, menambahkannya ke wheelgrup saja:

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

Kemudian perbarui /etc/sudoers seperti yang disarankan oleh Eric Lennartsson. Tetapi jika Anda mencari pendekatan terprogram Anda bisa membuat file /etc/sudoers.dseperti:

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

Metode di atas disarankan oleh Boris di Ask Ubuntu dan tidak perlu menggunakan visudosama sekali. Saat menggunakannya dengan pacman awalan, perintah dengan sudo seperti:

sudo pacman -S docker docker-compose
Josh Habdas
sumber