Metode mana yang digunakan untuk memberikan sudo

13

Apa perbedaan antara menambahkan pengguna ke /etc/sudoersdan usermod -a -G sudo? Metode mana yang harus digunakan untuk pemberian sudo?

Sonique
sumber
6
Untuk Ubuntu Anda harus sangat menghindari mengedit /etc/sudoersdalam kondisi apa pun. Alih-alih menambahkan fragmen konfigurasi ke dalam /etc/sudoers.ddirektori. Menggunakan folder fragmen membuat peningkatan menjadi lebih mudah karena Anda memodifikasi sebuah conffile.
Zoredache
@Zoredache - titik yang sangat baik. Apakah Anda peduli jika saya menambahkannya ke jawaban saya? Saya tidak ingin mengambil kredit untuk itu, tetapi tip ini harus hidup dalam jawaban di suatu tempat kalau-kalau komentar dewa nuke ini untuk beberapa alasan.
EEAA
2
@ EEAA, saya beri Anda izin untuk menggunakan yang di atas, dan komentar lain yang saya posting untuk menggabungkan jawaban yang sebenarnya. Saya menambahkan komentar karena saya terlalu malas / sibuk untuk menambahkan jawaban penuh, tetapi saya tidak keberatan jika orang mengambil komentar saya dan mengintegrasikannya ke dalam jawaban yang benar-benar bagus.
Zoredache

Jawaban:

19

Jika Anda dapat menghindarinya, jangan pernah memberikan hak sudo kepada pengguna individu. Selalu berikan hak istimewa ke grup dan kemudian tambahkan pengguna ke grup itu.

Untuk server berbasis ubuntu, alih-alih menambahkan baris ke /etc/sudoers, tambahkan fragmen file konfigurasi ke /etc/sudoers.d. Ini lebih fleksibel, lebih mudah dipahami, lebih tangguh dalam menghadapi peningkatan, dan bekerja lebih baik dengan sistem yang dikelola oleh sistem manajemen konfigurasi.

CATATAN: jangan pernah mengedit /etc/sudoerssecara langsung. Sebagai gantinya, gunakan visudo, yang akan melakukan pemeriksaan sintaks pada editan Anda, mencegah Anda dari melanggar konfigurasi sudo Anda dengan sintaks yang tidak valid.

EEAA
sumber
mengapa tidak menambahkan grup /etc/sudoers?
Flak DiNenno
1
@FlakDiNenno - benar, itulah yang saya sarankan.
EEAA
ahhh ... Saya pikir Anda mengacu padausermod -a -G sudo
Flak DiNenno
+1 untuk peringatan tentang penggunaan visudo dan bukannya pengeditan langsung
Flak DiNenno
Poin bagus tentang visudo. Beberapa orang tidak menyadari ada alasan yang /etc/sudoersditandai sebagai hanya-baca.
ub3rst4r
9

Saya baru saja menemukan berita gembira kecil ini di luar sana ... tampaknya Anda harus sangat berhati-hati dengan menggunakan -Gopsi di Ubuntu, khususnya dalam -gopsi kombinasi . Begitu:

  1. Gunakan usermod -aGuntuk menambahkan pengguna ke grup.
  2. Kemudian seperti yang disarankan @EEAA , tambahkan grup ke file / etc / sudoers menggunakan $ sudovisudoperintah (secara otomatis memanggil editor istimewa dengan memeriksa sintaksis).

Inilah info tentang -aGopsi di Ubuntu, diambil dari sini http://ubuntuforums.org/showthread.php?t=1240477 :

'Saya membaca Wiley "Linux Command Line dan Scripting Bible" - dan mereka mengatakan bahwa usermod -G "menambahkan" grup ke akun pengguna apa pun yang Anda modifikasi. Saya menemukan ini palsu di Ubuntu, tidak tahu apakah itu hanya berbeda di distro lain, atau salah ketik di buku ini. Ini menghapus Anda dari SETIAP grup yang Anda ikuti, kecuali grup pengguna default Anda (dimodifikasi oleh opsi -g). Saya berhasil menghapus diri saya dari grup admin dan tidak lagi bisa sudo apa pun. Terima kasih Tuhan untuk mode pemulihan ... '

Opsi yang benar adalah usermod -aG . Pelajaran yang dipetik ...

Flak DiNenno
sumber
2
dapatkah para downvoter memiliki kesopanan untuk memberikan kritik yang membangun di sini. tia.
Flak DiNenno
Saya tidak menurunkan suara Anda, tetapi 'jawaban' Anda, tidak benar-benar menjawab pertanyaan yang diajukan. Ini adalah situs tanya jawab yang sangat ketat, kami biasanya mengharapkan jawaban untuk langsung menjawab pertanyaan yang diajukan. BTW, ya saya tahu Anda sedikit menjawab pertanyaan itu, tetapi 'jawaban' Anda tampaknya paling mengatakan apa yang dikatakan EEAA, tetapi berhati-hatilah dengan kekhasan aneh ini.
Zoredache
@Zoredache terima kasih telah meluangkan waktu. Tidakkah langkah 1 & 2 dengan jelas memberikan instruksi untuk "metode yang disukai untuk memberikan sudo"? Apa yang diminta OP?
Flak DiNenno
1

Anda tidak memberi tahu kami seberapa besar lingkungan Anda, tetapi jika itu lebih dari satu mesin Anda mungkin juga ingin mempertimbangkan mengkonfigurasi sudomenggunakan LDAP s alternatif untuk mengedit sudoers lokal (baik melalui visudoatau menggunakan /etc/sudoers.dmetode fragmen).

Konfigurasi LDAP adalah cara yang telah teruji untuk memastikan bahwa beberapa mesin memiliki sudokonfigurasi yang sama , dan menghadirkan lingkungan terpadu yang bagus (dengan manajemen pusat dari mekanisme otorisasi penting). Sebagai bonus jika Anda sudah menggunakan LDAP (atau AD) untuk otentikasi / otorisasi di lingkungan Anda, Anda dapat memanfaatkan infrastruktur yang ada (dan jika tidak, Anda harus serius mempertimbangkannya - sentralisasi memiliki banyak manfaat).

Segala sesuatu yang telah dikatakan orang dalam jawaban lain tentang membuat grup resmi masih berlaku - lebih mudah saat Anda meningkatkan untuk memberikan hak istimewa kepada grup dan mengelola keanggotaan grup daripada berurusan dengan mengelola hak mengelola untuk pengguna individu.

voretaq7
sumber