it-swarm-id.com

Apa sintaks sudoers yang tepat untuk menambahkan pengguna?

Menurut komentar di /etc/sudoers (Fedora 13):

## Syntax:
##
##    user  MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.

Dua pertanyaan terkait saya:

  1. Apa arti ALL=(ALL) ALL pada baris berikut:

    root  ALL=(ALL)   ALL
    
  2. Saya telah menguji dua baris ini tetapi saya tidak dapat menemukan perbedaannya secara fungsional:

    superadm    ALL=(ALL)    ALL
    superadm    ALL=ALL
    

Saya sudah membaca manual tetapi spesifikasi sintaksis sulit untuk diikuti. Saya telah memperoleh bahwa bagian (ALL) ALL Adalah spesifikasi perintah dan tag tetapi saya masih belum dapat mengatasinya.

51
Belmin Fernandez

Catatan: Saya menjawab 1.. , karena Ignacio sudah dijawab 2. .

Dalam entri Sudo berikut:

superadm  ALL=(ALL)   ALL

ada empat bidang:

  • Yang pertama menentukan pengguna yang akan diberikan hak istimewa untuk beberapa perintah.
  • Yang kedua jarang digunakan. Ini adalah daftar nama host tempat entri Sudo ini efektif. Pada pengaturan standar hanya satu Host yang relevan (localhost) sehingga bidang ini biasanya dibiarkan sebagai ALL.
  • Bidang keempat adalah daftar perintah superadm akan dapat dijalankan dengan privilege yang ditingkatkan. ALL berarti semua perintah. Kalau tidak, gunakan daftar perintah yang dipisahkan koma.
  • Kolom ketiga (yang ditulis (…) itu adalah opsional) menentukan pengguna mana (dan mengelompokkan) pengguna superadm yang dapat menjalankan perintah berikut sebagai. ALL berarti mereka dapat memilih apa saja (tidak dibatasi). Jika bidang ini dihilangkan, artinya sama dengan (root).

Contoh:

alan   ALL = (root, bin : operator, system) /bin/ls, /bin/kill

Di sini, alan diizinkan untuk menjalankan dua perintah /bin/ls dan /bin/kill sebagai root (atau bin), mungkin dengan tambahan operator atau system kelompok hak istimewa.

Jadi alan dapat memilih untuk menjalankan ls sebagai pengguna bin dan dengan hak istimewa grup operator seperti ini:

Sudo -u bin -g operator /bin/ls /whatever/directory

Jika -u dihilangkan, sama dengan -u root. Jika -g dihilangkan, tidak ada hak istimewa grup tambahan yang diberikan.

94

Dari sudoers(5) halaman manual, DESKRIPSI bagian, Runas_Spec subbagian:

Runas_List pertama menunjukkan pengguna mana yang perintahnya dapat dijalankan melalui Sudo ’s -u pilihan.

...

Jika tidak ada Runas_Spec yang ditentukan, perintah dapat dijalankan sebagai root dan tidak ada grup yang dapat ditentukan.

Jadi tidak ada perbedaan fungsional ketika mencoba menjalankan perintah seperti root, mis., Saat tidak menggunakan -u dengan Sudo. Perbedaannya penting ketika mencoba menjalankan perintah sebagai pengguna lain; yang terakhir akan mencegah ini, tetapi yang pertama akan membiarkannya.