Bagaimana saya bisa mengizinkan semua pengguna menjalankan perintah yang diberikan melalui sudo?

25

Saya tahu cara membuat perintah yang dapat dieksekusi oleh pengguna tertentu sudo. Saya memiliki perintah tertentu yang saya ingin izinkan pengguna mana pun untuk dapat mengeksekusi melalui sudotanpa memasukkan kata sandi. Apa yang akan saya masukkan ke file / etc / sudoers saya untuk mewujudkannya?

Josh
sumber
Terima kasih telah mengajukan pertanyaan ini. Saya melihat man sudoerssekali dan tidak menemukan jawabannya. Saya melihat ke man sudoerskedua kalinya, lebih hati-hati. Saya masih gagal, TMI! Kemudian, terima kasih atas jawaban di sini saya mengerti man sudoersdan menemukan mengapa ini bekerja. Sepertinya Anda harus terlebih dahulu tahu cara melakukannya sebelum Anda bisa mengerti man sudoers. Mendesah!
Tino

Jawaban:

24

Bagian seperti ini di sudoers Anda mungkin adalah yang Anda inginkan.

Cmnd_Alias NAMEOFTHIS=/usr/bin/program
ALL ALL=NOPASSWD: NAMEOFTHIS
Sakit kepala
sumber
Bukankah itu memberikan akses hanya ke nama pengguna pengguna ? Apakah ada wildcard yang bisa saya gunakan? Saya ingin setiap pengguna yang diautentikasi dapat menjalankan perintah.
Josh
Kemudian gunakan grup yang mereka semua anggotanya.
Broam
Terima kasih! Aku bersumpah aku mencobanya tapi aku lupa tempat, jadi itu tidak berfungsi!
Josh
1
Jika tidak semua pengguna, saya akan menambahkan grup hanya karena ini adalah keanggotaan dari sesuatu yang ingin Anda lacak - siapa yang bisa sudoseperti ini.
Broam
1
Jika Anda benar-benar tidak ingin menambahkan grup (hajar saya mengapa tidak) dan masih membutuhkan pengguna individu, gunakan User_Alias SOMEUSERS = user1, user2.
Brett Ryan
18

Anda mungkin mempertimbangkan bit SUID . Program tertentu membutuhkan hak akses root dan menggunakan bit SUID, seperti passwd.

Jika sudo adalah pilihan yang lebih baik untuk Anda, Anda dapat menggunakan:

ALL ALL=NOPASSWD: /path/to/command
Warner
sumber
3
Ini adalah skrip shell yang me-restart nameserver caching lokal ... jadi SUID tidak akan berfungsi dalam kasus ini, kan?
Josh
Zoredache mengalahkan saya dalam waktu yang saya perlukan untuk menguji solusi yang saya rekomendasikan. =)
Warner
Sementara dia secara bersamaan melecehkan saya dalam obrolan karena memposting pertanyaan yang begitu mudah, tidak kurang!
Josh
1
@Josh: kalau begitu jangan posting pertanyaan mudah :-)
Bart Silverstrim
2
@Josh: Kedengarannya seperti fitur yang rapi, sebenarnya. Multiharassitasking.
Bart Silverstrim