Bagaimana cara menambahkan pengguna ke grup "sudo"?

187

Dalam /etc/sudoersaku melihat ini:

# Allow members of group sudo to execute any command after they have
# provided their password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL

Jadi, bagaimana cara menambahkan pengguna ke sudogrup itu?

penggiling kopi
sumber
Adakah orang lain di sini yang mencoba membuat sudo berfungsi tanpa kata sandi di ubuntu 17?
Adam F
@AdamF lihat di sini . Lain kali ajukan pertanyaan baru jika Anda menginginkan respons yang lebih cepat. ;-)
Fabby
Coffe-grinder: maukah Anda mengubah penerimaan Anda menjadi jawaban yang paling tinggi karena itu cara yang lebih baik untuk melakukannya? (tanpa kata sandi sama sekali)
Fabby

Jawaban:

250
sudo usermod -aG sudo <username>

Ini asangat penting. Tanpanya mereka akan dihapus dari semua grup lain. Anda harus memulai ulang shell / terminal Anda atau logout dan kembali agar ini berlaku.

Lihat juga:

maco
sumber
Saya melakukan apa yang Anda rekomendasikan, tetapi terminal memberi tahu saya bash: sudo: command not found, mengapa?
Teifi
@ Teifi, itu berarti Anda mungkin belum sudomenginstal atau, untuk beberapa alasan aneh, itu tidak ada di jalur Anda. Apa yang terjadi ketika Anda berlari which sudo?
n0pe
Terminal baru tidak cukup. Akhirnya me-reboot karena alasan lain dan sekarang berhasil. Mungkin keluar / masuk.
deed02392
Saya tahu aadalah untuk menambahkan, tetapi saya pikir akan lebih bermanfaat untuk menambahkan sebagai perilaku default. Membuat alias itu mudah sehingga akan menjadi cara untuk memiliki groupadd groupkemudian tambahkan saja. Saya melakukan perintah tanpa -sekali hari ini karena saya tidak ingat -aargumennya.
erm3nda
Meskipun ini adalah forum Ubuntu, Untuk CentOS harus saya lakukan sudo usermod -aG sudo <username>. Karena tidak ada cara mudah bagi saya untuk mengetahui hal ini.
akki
43

Anda bisa menggunakan GUI manajemen pengguna untuk itu (tempat yang sama di mana Anda membuat pengguna), atau gunakan sudo adduser <username> sudodi baris perintah.

txwikinger
sumber
2
Ini juga disebut dalam dokumentasi ubuntu di RootSudo meskipun mereka merujuk ke grup admin daripada grup sudo
icc97
8
+1: ini adalah cara yang paling mudah diingat, sederhana dan intuitif untuk menambahkan pengguna ke grup!
Andrea Corbellini
Ini memberi saya kesalahan mengatakanUsage: adduser [options] LOGIN\n adduser -D\n adduser -D [options]\n
akki
23

Anda juga dapat menggunakan antarmuka grafis. Klik pada roda gigi di kanan atas panel, lalu pilih "Pengaturan Sistem" dan kemudian "Akun Pengguna"

Anda perlu mengklik tombol buka kunci kecil untuk dapat mengedit hal-hal di jendela ini. Kemudian klik pada akun orang tersebut dan pilih dropdown yang tepat untuk "Jenis Akun"

masukkan deskripsi gambar di sini

qbi
sumber
Saya memiliki Ubuntu 10.10 tetapi antarmuka grafis saya terkunci. Ini terbuka tapi saya ketika tombol ditekan tidak ada yang terjadi. Saya kira itu adalah sesuatu yang berhubungan dengan hak istimewa (saya sebenarnya sudoer). Bagaimana saya bisa mengatasi masalah ini?
linello
Apakah Anda mengklik tombol 'buka'?
daboross
Animasi yang bagus! Saya ingin melakukan animasi gif untuk menampilkan fitur baru aplikasi web saya? Saya di Lubuntu 16.04 ...
Stephane
20

Sangat sederhana jika Anda menggunakan Unity sebagai lingkungan desktop Anda.

Jika Anda telah membuat pengguna maka Anda cukup mengubahnya dari Standar ke Administrator , jika tidak, pastikan Anda memilih Administrator saat membuat yang baru.

Jangan lupa untuk membuka kunci sebelum mencoba mengubahnya

masukkan deskripsi gambar di sini

Bruno Pereira
sumber
2
Animasi GIF yang sangat keren! +1 Bagaimana Anda melakukannya? Pindah pertanyaan di sini .
hhh
2

sudo gpasswd -a $USER sudo

Joseph
sumber
2

Saya terlambat ke pesta, tetapi jawaban ini mungkin membantu seseorang yang menggunakan Ubuntu di dalam wadah Docker.

Saya baru-baru ini membuat wadah Docker berdasarkan Ubuntu 16.04.1.

Secara default, gambar Docker Ubuntu adalah versi melucuti dari Ubuntu, yang tidak memiliki sebagian besar alat umum termasuk sudo.

Selain itu, secara default, pengguna login ke wadah Docker sebagai root.

Oleh karena itu, saya memulai wadah dengan docker runperintah, dan menginstal paket 'sudo':

root@default:/# apt-get install sudo

Menjalankan perintah adduser myuser sudomelaporkan kesalahan adduser: The user 'myuser' does not exist.. Setelah membaca jawaban ini , saya pertama kali menjalankan perintah untuk membuat pengguna:

root@default:/# adduser myuser

Kemudian jalankan perintah berikut:

root@default:/# adduser myuser sudo
Adding user `myuser' to group `sudo' ...
Adding user myuser to group sudo
Done.

Pengguna myuser berhasil ditambahkan ke grup sudo.

Antony
sumber
1

Gunakan usermod. Tambahkan izin sudo dengan perintah berikut:

usermod -aG sudo <your username>

Harap dicatat bahwa Anda harus menggunakan akun root untuk melakukan ini atau menggunakan akun lain yang memiliki izin sudo. Jika Anda tidak memiliki akses ke akun lain karena suatu alasan dan Anda tidak tahu kata sandi root, Anda akan memerlukan CD live Ubuntu (atau distro Linux lainnya) dan kemudian Anda harus chroot ke sistem file Ubuntu Anda dan jalankan perintah di atas dari dalam chroot.

Eksekusi Code
sumber
1

Inilah cara saya mengatur pengguna non-root dengan gambar dasar ubuntu:18.04:

RUN \
    groupadd -g 999 foo && useradd -u 999 -g foo -G sudo -m -s /bin/bash foo && \
    sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^root.*/root ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^#includedir.*/## **Removed the include directive** ##"/g' && \
    echo "foo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
    echo "Customized the sudoers file for passwordless access to the foo user!" && \
    echo "foo user:";  su - foo -c id

Apa yang terjadi dengan kode di atas:

  • Pengguna dan grup foodibuat.
  • Pengguna fooditambahkan ke grup foodan sudo.
  • The uiddan giddiatur ke nilai 999.
  • Direktori rumah diatur ke /home/foo.
  • Shell diatur ke /bin/bash.
  • The sedperintah melakukan update inline dengan /etc/sudoersberkas untuk memungkinkan foodan rootakses pengguna memasukkan password ke sudokelompok.
  • The sedperintah menonaktifkan #includedirdirektif yang akan memungkinkan file dalam subdirektori untuk menimpa update inline ini.
Seth Bergman
sumber