instalasi sudo

instalasi sudo

Bagaimana jika Anda ingin satu pengguna menjalankan perintah sebagai pengguna sistem lain tanpa bertukar kata sandi. Misalnya, Anda mungkin ingin pengguna John untuk menjalankan perintah temukan atau skrip shell bash khusus sebagai pengguna greg atau bahkan sebagai root pengguna (superuser) tanpa pertukaran kata sandi. Dalam hal ini utilitas sudo dengan file konfigurasi /etc /sudoers akan menjadi teman Anda. Utilitas ini sangat banyak digunakan tetapi pada saat yang sama sangat sedikit yang dipahami oleh pengguna Linux dari semua level.

Artikel singkat ini menjelaskan beberapa penggunaan dasar sudo dan format file konfigurasi sudoers.

instalasi sudo

Pertama -tama kita perlu memastikan bahwa sudo dan /etc /sudoers file konfigurasi sudo tersedia. Untuk melakukan itu lari:

$ sudo yang mana 

atau

$ sudo -v 

Perintah pertama harus mengungkapkan lokasi sudo biner yang dapat dieksekusi dan program kedua akan menghasilkan nomor versi sudo perintahnya sendiri. File Konfigurasi Sudo Sudoers dalam kebanyakan kasus berada di /etc /sudoers. Anda dapat menggunakan perintah LS untuk menemukan file ini.

$ ls -l /etc /sudoers -r-r ----- 1 root root 481 2010-04-08 21:43 /etc /sudoers

Catatan default dan “harus” izin dari file a /etc /sudoers. Hanya pengguna root dan pengguna yang termasuk dalam grup root yang dapat membaca file ini.

$ cat /etc /sudoers kucing: /etc /sudoers: izin ditolak 

Jika Anda memiliki beberapa masalah saat mengeksekusi di atas memerintahkan kemungkinan sudo tidak diinstal pada sistem Anda. Ini sangat tidak mungkin jika Anda menjalankan Ubuntu, Fedora atau OpenSUSE sebagai utilitas sudo dipasang pada sistem Anda secara default. Jika Anda menjalankan debian mengeksekusi perintah linux berikut untuk menginstal utilitas sudo:

CATATAN: sangat tidak mungkin bahwa utilitas sudo tidak diinstal pada sistem Anda karena sebagian besar distribusi Linux yang layak memiliki utilitas sudo diinstal secara default.

# apt-get install sudo 

Untuk distribusi yum (rpm) Gunakan perintah ini untuk menginstal sudo:

# yum instal sudo 


Melaksanakan skrip bash menggunakan sudo

Mari kita buat beberapa skrip bash sederhana yang akan memberi kita lingkungan pengujian dasar untuk perintah sudo. Perintah Linux berikut akan membuat skrip bash yang disebut sudo_test.SH WA dalam/USR/Direktori Lokal/Bin dan membuatnya dapat dieksekusi:

$ su - kata sandi: # cd/usr/local/bin/ # echo "ps aux | grep $$"> sudo_test.sh # echo "sentuh /tmp /sudo_file.tmp ">> sudo_test.sh # chmod +x sudo_test.SH 

Skrip ini tidak akan melakukan apa pun kecuali itu akan mencetak ID proses sudo_test.Skrip Bash SH Bersama dengan ID pemilik yang relevan sebagai output stdout dan pada saat yang sama akan membuat file yang disebut sudo_file.TMP di dalam / TMP / direktori. Sekarang kami menjalankan skrip ini sebagai pengguna root dan memeriksa pemilik proses ini.

./sudo_test.sh [1] 3513/usr/local/bin# ps aux | GREP 3513 ROOT 3513 0.0 0.1 4260 908 poin/4 S 16:32 0:00 Bash Root 3516 0.0 0.0 1700 268 poin/4 R+ 16:32 0:00 GREP 3513 

Karena Anda dapat melihat proses ID 3513 dimiliki oleh root pengguna. Selanjutnya, dengan mengeksekusi perintah ls kita dapat mengamati file /tmp /sudo_file itu.TMP dimiliki oleh pengguna root.

# ls -l /tmp /sudo_file.tmp -rw-r-r-- 1 root root 0 2010-08-29 17:31 /tmp /sudo_file.TMP 

Mari kita hapus /tmp /sudo_file.File TMP dan coba jalankan skrip yang sama dengan pengguna lain bernama "Lilo". Perhatikan izin skrip setelah eksekusi perintah ls -l.

$ whoami lilo $ ls -l/usr/local/bin/sudo_test.sh -rwxr-xr-x 1 root root 44 2010-08-29 17:31/usr/local/bin/sudo_test.sh $/usr/local/bin/sudo_test.sh root 3502 0.0 0.3 4260 1744 poin/4 S+ 16:31 0:00 Bash Lilo 3773 0.0 0.1 3116 720 poin/5 R+ 17:36 0:00 GREP 3502 $ LS -L/TMP/SUDO_FILE.tmp -rw-r-r-- 1 lilo lilo 0 2010-08-29 17:36 /tmp /sudo_file.TMP

Seperti yang Anda lihat, skrip dieksekusi oleh pengguna Lilo dan pemilik proses ini juga merupakan pengguna lilo. File yang dibuat dalam A /TMP /Direktori juga dimiliki oleh pengguna Lilo. Sebelum Anda melanjutkan, silakan hapus /tmp /sudo_file.file TMP.

berikan izin sudo kepada pengguna

Tugas kami berikutnya sekarang adalah membuat pengguna Lilo dapat mengeksekusi/usr/local/bin/sudo_test.Skrip SH dengan hak istimewa root dan tanpa memberikan kredensial root. Untuk melakukan ini kita perlu mengedit file konfigurasi sudo /etc /sudoers. Karena root hanya membaca akses ke file konfigurasi sudo /etc /sudoers dan kami tidak ingin mengubahnya, kami akan menggunakan perintah visudo yang dieksekusi sebagai root untuk menambahkan baris berikut ke file ini:

lilo all = (root)/usr/local/bin/sudo_test.SH
  • Lilo: Pengguna yang akan memiliki izin untuk menjalankan/usr/lokal/bin/sudo_test.Skrip SH
  • All: cocok dengan apa saja dan dalam konteks ini berlaku untuk nama host
  • (root): Perintah ini akan dijalankan dengan hak istimewa root
  • /usr/lokal/bin/sudo_test.SH: Perintah yang sebenarnya


Akibatnya, ketika kita sekarang mencoba mengeksekusi/usr/local/bin/sudo_test.Skrip SH sebagai pengguna Lilo menggunakan perintah sudo dan masukkan kata sandi Lilo:

$ rm /tmp /sudo_file.TMP $ sudo/usr/local/bin/sudo_test.sh [sudo] kata sandi untuk lilo: root 3502 0.0 0.3 4260 1744 poin/4 S 16:31 0:00 Bash Root 3793 0.0 0.1 3116 720 poin/5 S+ 17:46 0:00 GREP 3502 $ LS -L/TMP/SUDO_FILE.tmp -rw-r-r-- 1 root root 0 2010-08-29 17:46 /tmp /sudo_file.TMP 

ID Proses 3502 dimiliki oleh root dan pemilik /tmp /sudo_file.TMP adalah pengguna root. Selain itu, jika Anda misalnya menginginkan lilo pengguna untuk menjalankan skrip/usr/lokal/bin/sudo_test.sh sebagai pengguna j "john” cukup ubah /etc /sudoers config file dan ganti (root) dengan (John) menggunakan perintah visudo.

sudo tanpa kata sandi

Ketika perintah sudo dieksekusi, pengguna diminta kata sandi. Bahaviouv default dari perintah sudo dapat diubah dengan mengedit /etc /sudoers file konfigurasi. Jika kami tidak ingin diminta kata sandi, kami mengubah file a /etc /sudoers dengan mengubah baris:

lilo all = (root)/usr/local/bin/sudo_test.SH 

dengan

lilo all = (root) nopasswd:/usr/local/bin/sudo_test.SH 

Batas waktu kata sandi sudo

Jumlah menit sebelum sudo akan meminta pengguna untuk memasukkan kata sandi lagi adalah secara default 15. Perilaku ini dapat diubah dengan menentukan arahan timestamp_timeout sudo di dalam /etc /sudoers file. Untuk meningkatkan batas waktu kata sandi sudo hingga 60 menit, kami menambahkan arahan sudo timestamp_timeout ke dalam file /etc /sudoers dengan mengubah baris:

Default env_reset 

ke

Default env_reset, timestamp_timeout = 60 

Pelajari lebih lanjut tentang sudo

Perhatikan masih banyak yang harus dipelajari tentang perintah sudo dan kemampuannya. Cara yang baik untuk menemukan lebih banyak tentang perintah sudo adalah dengan memulai dengan:

sudo man 

atau untuk mengakses halaman manusia untuk file konfigurasi sudoers

Sudoers pria 

Tutorial Linux Terkait:

  • Cara menghapus bloatware dari ponsel samsung android Anda…
  • Menangani input pengguna dalam skrip bash
  • Cara memecahkan kata sandi zip di kali linux
  • Cara membuat Modifikasi dan Hapus Akun Pengguna di Linux
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Linux - Reset Kata Sandi Kedaluwarsa, Usia dan Sejarah
  • Manipulasi data besar untuk kesenangan dan keuntungan bagian 1
  • Menguasai loop skrip bash