Cara Menambahkan Pengguna ke File sudoers di Linux
Diterbitkan: 2022-11-02 Orang-orang yang dapat menggunakan perintah sudo
Linux adalah anggota klub kecil dan terpilih, kadang-kadang disebut daftar "sudoers". Setiap anggota memiliki kekuatan yang sama dengan root
. Jadi bagaimana Anda bergabung dengan klub itu? Kami akan berjalan melalui menambahkan seseorang ke sudoers serta mengedit file sudoers untuk membatasi izin.
sudo: Alter-Ego Superpower Anda
File sudoers dan visudo
Tambahkan Pengguna Sudo Baru di Ubuntu dan Distro Linux Lainnya
Batasi Hak Istimewa sudo dengan Mengedit File sudoers
Siapapun yang Memegang Perintah Ini
sudo: Alter-Ego Superpower Anda
Dalam instalasi Linux, pengguna root adalah pengguna yang paling memiliki hak istimewa. Mereka dapat melakukan tugas administratif apa pun, mengakses file apa pun terlepas dari pemiliknya, dan mereka dapat membuat, memanipulasi, dan bahkan menghapus pengguna lain.
Tingkat kekuatan ini berbahaya. Jika root
membuat kesalahan, hasilnya bisa menjadi bencana besar. Mereka memiliki kemampuan untuk memasang dan melepas sistem file, dan menulisnya secara berlebihan. Cara kerja yang jauh lebih aman adalah dengan tidak pernah masuk sebagai root
.
Pengguna yang dinominasikan dapat menggunakan sudo
untuk sementara mendapatkan kekuatan administratif, melakukan tindakan yang diperlukan, dan kemudian kembali ke keadaan normal dan tidak memiliki hak istimewa. Ini lebih aman karena Anda secara sadar memanggil kekuatan Anda yang lebih tinggi saat Anda membutuhkannya, dan saat Anda fokus melakukan apa pun yang membutuhkannya.
Perintah sudo
adalah setara Linux dengan meneriakkan "Shazam." Ketika hal-hal menakutkan selesai, Anda meninggalkan alter-ego superpower Anda dan kembali ke diri Anda yang biasa-biasa saja.
Masuk sebagai root
dimatikan secara default pada sebagian besar distribusi modern, tetapi dapat diaktifkan kembali. Menggunakan akun root untuk pekerjaan sehari-hari tidak disarankan. Kesalahan yang biasanya berdampak pada satu pengguna atau yang akan diblokir sama sekali karena hak istimewa yang tidak mencukupi, dapat berjalan tanpa hambatan jika root
mengeluarkannya.
Distribusi Linux modern memberikan hak istimewa sudo
ke akun pengguna yang dibuat selama langkah-langkah konfigurasi instalasi atau pasca-instalasi. Jika ada orang lain yang mencoba menggunakan sudo
, mereka akan melihat pesan peringatan seperti ini:
mary tidak ada dalam file sudoers. Kejadian ini akan dilaporkan.
Itu tampaknya cukup jelas. Pengguna kami, mary
, tidak dapat menggunakan sudo
karena dia tidak "dalam file sudoers." Jadi mari kita lihat bagaimana kita bisa menambahkannya.
TERKAIT: Cara Mengontrol Akses Sudo di Linux
File sudoers dan visudo
Sebelum seseorang dapat menggunakan perintah sudo
, kita perlu bekerja dengan file sudoers
. Ini mencantumkan grup pengguna dari pengguna yang dapat menggunakan sudo
. Jika kita perlu membuat perubahan pada file, kita harus mengeditnya.
File sudoers
harus dibuka menggunakan perintah visudo
. Ini mengunci file sudoers
dan mencegah dua orang mencoba membuat perubahan secara bersamaan. Itu juga melakukan beberapa pemeriksaan kewarasan sebelum menyimpan suntingan Anda, memastikan mereka mengurai dengan benar dan secara sintaksis terdengar.
Perhatikan bahwa visudo
bukan editor, ia meluncurkan salah satu editor Anda yang tersedia. Di Ubuntu 22.04, Fedora 37, dan Manjaro 21, visudo
meluncurkan nano. Itu mungkin tidak terjadi di komputer Anda.
Jika kita ingin memberi seseorang akses ke hak sudo
penuh, kita hanya perlu merujuk beberapa informasi dari file sudoers
. Jika kita ingin lebih terperinci dan memberi pengguna kita beberapa kemampuan root
, kita perlu mengedit file dan menyimpan perubahannya.
Bagaimanapun, kita perlu menggunakan visudo
.
TERKAIT: Cara Keluar dari Editor Vi atau Vim
Tambahkan Pengguna Sudo Baru di Ubuntu dan Distro Linux Lainnya
Kami memiliki dua pengguna yang membutuhkan akses ke hak akses root untuk menjalankan peran pekerjaan mereka. Mereka adalah Tom dan Mary. Mary perlu memiliki akses ke semua yang dapat dilakukan root
. Tom hanya perlu menginstal aplikasi.
Mari tambahkan Mary ke grup sudoers terlebih dahulu. Kita harus memulai visudo
.
sudo visudo
Gulir ke bawah di editor hingga Anda melihat bagian "Spesifikasi Hak Istimewa Pengguna". Cari komentar yang mengatakan sesuatu yang mirip dengan “Izinkan anggota grup ini untuk menjalankan perintah apa pun.”
Kami diberitahu bahwa anggota grup sudo
dapat menjalankan perintah apa pun. Yang perlu kita ketahui dalam kasus Mary adalah nama kelompok itu. Tidak selalu sudo
; itu mungkin wheel
atau sesuatu yang lain. Sekarang setelah kita mengetahui nama grup, kita dapat menutup editor dan menambahkan Mary ke grup itu.
Kami menggunakan perintah usermod
dengan opsi -a
(tambahkan) dan -G
(nama grup). Opsi -G
memungkinkan kita untuk memberi nama grup yang ingin kita tambahkan pengguna, dan opsi -a
memberitahu usermod
untuk menambahkan grup baru ke daftar grup yang sudah ada pengguna ini.
Jika Anda tidak menggunakan opsi -a
, satu-satunya grup tempat pengguna Anda akan berada adalah grup yang baru ditambahkan. Periksa kembali, dan pastikan Anda telah menyertakan opsi -a
.
sudo usermod -aG sudo mary
Lain kali Mary masuk, dia akan memiliki akses ke sudo
. Kami telah memasukkannya dan kami mencoba mengedit file tabel sistem file, “/etc/fstab.” Ini adalah file yang di luar batas untuk semua orang kecuali root
.
sudo nano /etc/fstab
Editor nano terbuka dengan file "/etc/fstab" dimuat.
Tanpa hak sudo
, Anda hanya dapat membuka ini sebagai file hanya-baca. Mary tidak lagi memiliki batasan itu. Dia dapat menyimpan perubahan apa pun yang dia buat.
Tutup editor dan jangan simpan perubahan apa pun yang mungkin telah Anda buat.
Batasi Hak Istimewa sudo dengan Mengedit File sudoers
Pengguna kami yang lain, Tom, akan diberikan izin untuk menginstal perangkat lunak, tetapi dia tidak akan menerima semua hak istimewa yang diberikan kepada Mary.
Kita perlu mengedit file sudoers
.
sudo visudo
Gulir ke bawah di editor hingga Anda melihat bagian "Spesifikasi Hak Istimewa Pengguna". Cari komentar yang mengatakan sesuatu yang mirip dengan "Izinkan anggota grup ini untuk menjalankan perintah apa pun." Ini adalah titik yang sama di file tempat kami menemukan nama grup yang perlu kami tambahkan Mary.
Tambahkan baris ini di bawah bagian itu.
# pengguna tom dapat menginstal perangkat lunak tom SEMUA=(root) /usr/bin/apt
Baris pertama adalah komentar sederhana. Perhatikan bahwa ada Tab antara nama pengguna "tom" dan kata "Semua."
Demikianlah apa yang dimaksud dengan item on line.
- tom : Nama grup default pengguna . Biasanya ini sama dengan nama akun penggunanya.
- ALL= : Aturan ini berlaku untuk semua host di jaringan ini.
- (root) : Anggota grup "tom"—yaitu, pengguna Tom—dapat mengambil hak akses
root
, untuk perintah yang terdaftar. - /usr/bin/apt : Ini adalah satu-satunya perintah yang dapat dijalankan oleh pengguna Tom sebagai
root
.
Kami telah menetapkan manajer paket yang apt
di sini karena komputer ini menggunakan Ubuntu Linux. Anda harus mengganti ini dengan perintah yang sesuai jika Anda menggunakan distribusi yang berbeda.
Mari masuk ke Tom dan lihat apakah kita mendapatkan perilaku yang diharapkan. Kami akan mencoba mengedit file “/etc/fstab”.
sudo nano /etc/fstab
Perintah itu ditolak, dan kami diberitahu bahwa "pengguna tom tidak diizinkan untuk mengeksekusi '/usr/bin/nano /etc/fstab' sebagai root ..."
Itu yang kami inginkan. Pengguna Tom seharusnya hanya dapat menggunakan manajer paket apt
. Mari kita pastikan mereka bisa melakukannya.
sudo apt install neofetch
Perintah berhasil dijalankan untuk Tom.
Siapapun yang Memegang Perintah Ini
Jika semua pengguna Anda dapat menggunakan sudo
, Anda akan mengalami kekacauan. Tetapi ada baiknya mempromosikan pengguna lain sehingga mereka dapat berbagi beban administrasi Anda. Pastikan mereka layak, dan awasi mereka.
Bahkan jika Anda adalah satu-satunya pengguna di komputer Anda, ada baiknya mempertimbangkan untuk membuat akun pengguna lain dan memberikannya akses penuh ke sudo
. Dengan begitu, jika Anda pernah menemukan diri Anda terkunci dari akun utama Anda, Anda memiliki akun lain yang dapat Anda gunakan untuk masuk untuk mencoba memperbaiki situasi.
TERKAIT: Cara Meninjau Penggunaan Perintah Sudo di Linux