Pertanyaan Bagaimana cara mengatur kata sandi `sudo` di Linux?


Bagaimana bisa tanpa kata sandi sudo akses diatur di RHEL (Fedora, CentOS, dll) atau distribusi Ubuntu? (Jika itu sama di seluruh distro, itu lebih baik!)

Pengaturan: peralatan pribadi dan / atau laboratorium / pelatihan tanpa mempedulikan akses yang tidak sah (mis., Perangkat berada di jaringan non-publik, dan setiap / semua pengguna sepenuhnya dipercaya, dan konten perangkat adalah "plain-vanilla") .


136
2017-07-15 04:09




Jawaban dari @Richipal adalah actullay yang bekerja paling baik dengan sedikit usaha: tampaknya aturan sudoers berlaku dalam urutan terbalik. - a1an
Aturan @s1an diterapkan dalam urutan yang sama seperti yang tercantum dalam file sudoers, dan ketika diterapkan, jenisnya saling menimpa. Oleh karena itu jika saya tidak ingin aturan untuk berubah sama sekali, saya akan meletakkannya di ujung file sehingga itu diterapkan pada akhirnya dan tidak dapat ditimpa. - rsjethani


Jawaban:


EDIT terima kasih untuk komentar medina: Menurut halaman manual, Anda harus bisa menulis

ALL            ALL = (ALL) NOPASSWD: ALL

untuk mengizinkan semua pengguna menjalankan semua perintah tanpa kata sandi.


Untuk referensi, saya meninggalkan jawaban saya sebelumnya:

Jika Anda menambahkan baris formulir

%wheel         ALL = (ALL) NOPASSWD: ALL

untuk /etc/sudoers (menggunakan visudo perintah, tentu saja), itu akan membiarkan semua orang dalam grup wheel jalankan perintah apa pun tanpa memberikan kata sandi. Jadi saya pikir solusi terbaik adalah menempatkan semua pengguna Anda di beberapa grup dan menempatkan garis seperti itu di sudoers - Jelas Anda harus mengganti wheel dengan grup aktual yang Anda gunakan.

Atau, Anda dapat menentukan alias pengguna,

User_Alias     EVERYONE = user1, user2, user3, ...

dan gunakan itu:

EVERYONE       ALL = (ALL) NOPASSWD: ALL

meskipun Anda harus memperbarui /etc/sudoers setiap kali Anda menambahkan atau menghapus pengguna.


151
2017-07-15 04:25



Tidak ALL bekerja daripada * untuk menentukan semua pengguna? Lihat contoh di sudoers(5). - medina
@ medina: jadi begitulah, saya merindukan itu ketika saya membaca halaman manual. Saya akan mengedit. - David Z
di bawah Ubuntu, membuat file di bawah /etc/sudoers.d dan memasukkan entri ini di dalamnya maka itu akan menghentikan Anda harus mengedit sudoers - Xetius
Di CentOS7, entri ini ada di sana secara default, baru saja dikomentari. - killjoy
Hanya berhasil menggunakannya di centOS dengan menyalin / menempel, gagal setiap upaya untuk mengetik langsung konfigurasi. Tetapi hasilnya tampak identik kecuali untuk spasi ... - MUY Belgium


Saya mencoba solusi di atas tidak berhasil. Solusi berikut berhasil untuk saya Edit file / etc / sudoers dan tambahkan baris berikut

username ALL=(ALL) NOPASSWD: ALL

Itu kunci adalah menambahkannya setelah baris terakhir yang mengatakan

#includedir /etc/sudoers.d

81
2018-05-19 15:23



//, Ini terlihat seperti cara yang lebih baik untuk melakukannya, terutama ketika aplikasi tertentu akan menambahkan aturan mereka sendiri untuk pengguna sistem, Richipal. Info lebih lanjut tentang sudoers.d: sudo.ws/man/1.8.13/sudoers.man.html - Nathan Basanese
//, Maukah Anda menambahkan beberapa diagnosa dari Gearoid Murphy ke jawaban Anda? - Nathan Basanese
Terima kasih atas klarifikasi ini. Menambahkannya setelah baris #includedir /etc/sudoers.d tampaknya penting di CentOS 7 padahal tampaknya berfungsi dengan baik untuk memiliki baris sebelumnya di file di CentOS 6. - dmohr
Masalah dengan mengabaikan% wheel NOPASSWD tampaknya berasal dari /etc/sudoers.d/USERNAME mengesampingkan izin NOPASSWD grup. Menerapkan NOPASSWD di /etc/sudoers.d/USERNAME menyelesaikan masalah. - eel ghEEz


Saya mencoba semua jawaban di halaman ini, tanpa hasil yang bermanfaat. Akhirnya saya menemukan jawabannya, gunakan perintah ini untuk mendaftarkan hak sudo Anda:

sudo -l

Ini akan memberi Anda output seperti ini:

User gmurphy may run the following commands on this host:
    (root) NOPASSWD: ALL
    (ALL) ALL

Ini menunjukkan bahwa saya dikonfigurasi dengan hak akses root tetapi saya masih bagian dari grup (admin) yang dicocokkan dengan aturan sudo yang mengharapkan kata sandi ("(ALL) ALL"). Ini memaksa sudo untuk meminta saya. Aturan yang dimaksud adalah pengguna admin:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Setelah saya mengomentari ini, saya bisa sudo tanpa kata sandi. Saya harap ini berguna bagi orang lain.


24
2017-11-06 12:57



Ahhh, terimakasih! Ini membuat saya gila ... dalam kasus saya, pengguna saya adalah bagian dari grup "sudo" serta "admin" (yang saya buat), dan izin pada masing-masing salah pencocokan, karena mereka dalam kasus Anda . Sekarang ini berhasil! :) - neezer
Mengomentari garis adalah instrumen tumpul. Anda mungkin tertarik untuk mendengar bahwa "sudo membaca file sudoers dan menerapkan izin dalam urutan dari atas ke bawah. Jadi baris terakhir dalam file akan menimpa konflik sebelumnya" menurut ubuntuforums.org/showthread.php?t=1132821 - dan ini berhasil untukku. - David J.


Dalam /etc/sudoers ada contoh hanya itu di bagian bawah file:

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

9
2017-07-15 04:24



sampel itu bukan milik saya - tapi terima kasih! - warren
Seperti jawaban ringkas Anda - Pei


Ada cara lain untuk melakukannya tanpa menyentuh file sudoers.

  • Edit /etc/pam.d/su dan hapus tanda komentar baris di bawah ini:

    auth           sufficient      pam_wheel.so trust use_uid
    
  • Tambahkan pengguna ke wheel kelompok.


5
2017-07-15 08:39





Ada cara lain untuk melakukannya tanpa menyentuh file sudoers.

  • Edit /etc/pam.d/sudo dan tambahkan baris di bawah ini:

    auth cukup pam_wheel.so percaya use_uid
  • Tambahkan pengguna ke wheel kelompok.

Alat peraga untuk "topdog" dan "Daniel Serodio" untuk jawaban asli berkaitan dengan "su" daripada "sudo". Saya menggunakan itu sebagai referensi dan tanpa malu menyalin, dan mengubah, posting mereka.


1
2017-09-11 00:36



Saya pikir alih-alih menyalin kata demi kata, akan lebih baik untuk mengkreditkannya, tetapi menjadi jelas tentang bagaimana tepatnya jawaban Anda berbeda. Saya berasumsi ini memungkinkan tanpa password su, bukan / juga tanpa kata sandi sudo? Selain Daniel hanya format, dengan cara. - mwfearnley