Ketika saya menjalankan sudo
sebagai pengguna biasa yang tidak terjangkau, ia meminta kata sandi saya, bukan kata sandi root. Itu sering kali nyaman, tetapi mengurangi jumlah informasi yang harus dimiliki seseorang untuk menjalankan perintah sebagai root. Jadi bagaimana saya bisa sudo
meminta kata sandi root alih-alih kata sandi pengguna yang memohon?
Saya tahu itu akan dilakukan dengan satu baris /etc/sudoers
, tapi saya sepertinya tidak pernah bisa dengan benar menguraikan tata bahasa BNF di halaman manual untuk mencari tahu apa yang harus ditulis.
Jawaban:
Oke, ini dia lagi sehingga Anda bisa mengatur tanda centang.
Di
/etc/sudoers
, tambahkan baris ini:untuk mengaktifkan flag rootpw, membuat sudo meminta kata sandi root.
sumber
visudo
perintah alih-alih mengedit/etc/sudoers
file secara manual .visudo
memvalidasi file untuk memastikan itu benar sebelum menyimpan, sehingga Anda tidak terkunci dari sudo jika Anda membuat kesalahan sintaks ... askubuntu.com/a/81054/166411Anda harus mengaktifkan
rootpw
bendera.sumber
/etc/sudoers
untuk mengaktifkan flag ini?Saya tahu pertanyaan ini sudah lama, tetapi ini adalah pertanyaan paling ringkas yang saya temukan untuk kasus penggunaan ini (yang merupakan persentase kecil, benar, namun tetap sah dan membantu dalam skenario yang tepat).
Setelah menyatukan semua langkah dari berbagai sumber - termasuk beberapa jawaban untuk pertanyaan ini, langkah-langkah ini bekerja di Ubuntu-Gnome 16.04 LTS:
sudo passwd
sudo visudo
Defaults rootpw
Hanya catatan singkat - Saya juga ingin memastikan bahwa pengguna root tidak dapat digunakan untuk login dari login grafis, dan juga mencari cara untuk dikecualikan. Rupanya, pengguna root dikecualikan secara default, dan tidak dapat digunakan untuk login melalui login grafis Gnome - yang merupakan hal yang sangat bagus!
sumber
root ALL=(ALL) ALL Defaults targetpw ALL ALL=(ALL) ALL
Memungkinkan sudo root untuk setiap pengguna yang mengetahui kata sandi root. Secara naif mengubah dua baris terakhir ke solusi AndaDefaults rootpw
menyebabkan penguncian darisudo
. Anda juga perlu menambahkan pengguna Andasudoers
seperti itu:myusername ALL=(ALL) ALL
atau memberikan hak istimewa yang serupa ke grup dan kemudian menambahkanmyusername
ke grup itu.Konfigurasi umum yang memerlukan kata sandi target (bukan yang kita inginkan):
Baris kedua akan berbunyi seperti: "SEMUA pengguna di SEMUA host dapat menyamar sebagai (SEMUA) pengguna saat menjalankan SEMUA perintah." dan
Defaults targetpw
sarana yang mereka butuhkan untuk mengetahui kata sandi pengguna yang mereka tiru untuk melakukannya.Secara naif mengubah konfigurasi sederhana ini menjadi:
tidak akan meninggalkan pengguna atau grup mana pun dengan hak istimewa untuk menjalankan perintah sebagai pengguna lain.
Satu kemungkinan kerja adalah:
Dalam bahasa Inggris biasa,
myuser
sekarang memiliki kemampuan untuk menjalankan perintah SEMUA sebagai pengguna di SEMUA host, selama kata sandi root diketahui.Kemungkinan kerja lainnya adalah:
Setiap anggota
sudousers
grup akan memiliki kemampuan untuk menjalankan perintah SEMUA sebagai pengguna di SEMUA host, selama kata sandi root diketahui. Untuk memungkinkanmyuser
menjalankan perintah sudo,sudousers
perlu ditambahkan ke grup sekundernya.sumber
Anda bisa mematikan sudo dan menggunakannya
su -c
.sumber
Menggunakan
akan membiarkan Anda menjalankan perintah sebanyak yang Anda inginkan secara berurutan.
sumber
sudo
untuk meminta kata sandi root, ini masih akan memungkinkan seseorang untuk mendapatkan akses root dengan menghadirkan hanya satu kata sandi (bukan kata sandi root). Jadi itu tidak benar-benar mengatasi masalah keamanan yang mendorong pertanyaan saya.