Android

Arahan Sudo di linux

Linux Command Line Tutorial For Beginners 13 - sudo command

Linux Command Line Tutorial For Beginners 13 - sudo command

Isi kandungan:

Anonim

Perintah sudo membolehkan anda menjalankan program sebagai pengguna lain, secara lalai pengguna root. Jika anda menghabiskan banyak masa pada baris arahan, sudo adalah salah satu arahan yang anda akan gunakan dengan kerap.

Menggunakan sudo bukan log masuk sebagai root lebih selamat kerana anda boleh memberikan hak istimewa pentadbiran terhad kepada pengguna individu tanpa mereka mengetahui kata laluan root.

Dalam tutorial ini, kami akan menerangkan cara menggunakan perintah sudo .

Memasang Sudo (perintah sudo tidak dijumpai)

Pakej sudo diprapasang pada kebanyakan pengedaran Linux.

Untuk memeriksa sama ada pakej sudo dipasang pada sistem anda, buka konsol anda, taip sudo , dan tekan Enter . Jika anda memasang sudo sistem akan memaparkan mesej bantuan pendek, jika tidak, anda akan melihat sesuatu seperti sudo command not found .

Jika sudo tidak dipasang, anda boleh dengan mudah memasangnya menggunakan pengurus paket distro anda.

Pasang Sudo pada Ubuntu dan Debian

apt install sudo

Pasang Sudo pada CentOS dan Fedora

yum install sudo

Menambah Pengguna kepada Sudoers

Secara lalai pada kebanyakan pengedaran Linux yang memberikan akses sudo semudah menambahkan pengguna ke kumpulan sudo yang ditakrifkan dalam file sudoers . Ahli kumpulan ini akan dapat menjalankan arahan sebagai root. Nama kumpulan mungkin berbeza daripada pengedaran ke pengedaran.

Pada pengedaran berasaskan RedHat seperti CentOS dan Fedora, nama kumpulan sudo adalah wheel . Untuk menambah pengguna kepada larian kumpulan:

usermod -aG wheel username

Mengenai Debian, Ubuntu dan derivatifnya, ahli kumpulan sudo diberikan dengan akses sudo:

usermod -aG sudo username

Akaun pengguna root di Ubuntu dilumpuhkan secara lalai untuk tujuan keselamatan dan pengguna digalakkan untuk melaksanakan tugas pentadbiran sistem menggunakan sudo. Pengguna awal yang dibuat oleh pemasang Ubuntu sudah menjadi ahli kumpulan sudo sehingga jika Anda menjalankan peluang Ubuntu adalah pengguna yang Anda log in sebagaimana yang telah diberikan dengan hak istimewa sudo.

Sebagai contoh untuk membolehkan linuxize pengguna menjalankan hanya arahan mkdir sebagai sudo, taipkan:

sudo visudo

dan masukkan baris berikut:

linuxize ALL=/bin/mkdir

Pada kebanyakan sistem, perintah visudo membuka fail /etc/sudoers dengan editor teks vim. Jika anda tidak mempunyai pengalaman dengan vim, lihat artikel kami mengenai cara menyimpan fail dan keluar dari editor vim.

Anda juga boleh membenarkan pengguna menjalankan perintah sudo tanpa memasukkan kata laluan:

linuxize ALL=(ALL) NOPASSWD: ALL

Bagaimana Menggunakan Sudo

Sintaks untuk arahan sudo adalah seperti berikut:

sudo OPTION.. COMMAND

Perintah sudo mempunyai banyak pilihan yang mengawal kelakuannya tetapi biasanya sudo digunakan dalam bentuk yang paling asas, tanpa sebarang pilihan.

Untuk menggunakan sudo, cukup awalan perintah dengan sudo :

sudo command

Di mana command adalah perintah yang anda ingin gunakan sudo.

Sudo akan membaca fail /etc/sudoers dan periksa sama ada pengguna yang memohon diberikan dengan sudo menilai. Kali pertama anda menggunakan sudo dalam sesi, anda akan diminta untuk memasukkan kata laluan pengguna dan perintah akan dilaksanakan sebagai root.

Sebagai contoh, untuk menyenaraikan semua fail dalam direktori /root anda akan gunakan:

sudo ls /root

password for linuxize:….bashrc.cache.config.local.profile

Masa tunggu kata laluan

Secara lalai, sudo akan meminta anda memasukkan kata laluan anda sekali lagi selepas lima minit tidak aktif sudo. Anda boleh menukar tamat masa lalai dengan mengedit fail sudoers . Buka fail dengan visudo :

sudo visudo

Tetapkan hala tuju lalai dengan menambah baris di bawah, di mana 10 adalah habis masa yang ditetapkan dalam beberapa minit:

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

Jalankan Perintah sebagai Pengguna Selain Root

Terdapat persepsi yang salah bahawa sudo hanya digunakan untuk memberikan kebenaran root kepada pengguna biasa. Sebenarnya, anda boleh menggunakan sudo untuk menjalankan perintah sebagai pengguna.

Pilihan -u membolehkan anda menjalankan arahan sebagai pengguna yang ditentukan.

Dalam contoh berikut kita menggunakan sudo untuk menjalankan perintah whoami sebagai pengguna "richard":

sudo -u richard whoami

Perintah whoami akan mencetak nama pengguna yang menjalankan arahan:

richard

Bagaimana untuk Redirect dengan Sudo

sudo echo "test" > /root/file.txt

bash: /root/file.txt: Permission denied

Ini berlaku kerana pengalihan " > " output dilakukan di bawah pengguna yang anda log masuk, bukan pengguna yang ditentukan oleh sudo. Pengalihan semula berlaku sebelum perintah sudo dipanggil.

Satu penyelesaian ialah menggunakan shell baru sebagai root dengan menggunakan sudo sh -c :

sudo sh -c 'echo "test" > /root/file.txt'

Pilihan lain adalah untuk mengalirkan output sebagai pengguna biasa ke perintah tee seperti ditunjukkan di bawah:

echo "test" | sudo tee /root/file.txt

Kesimpulannya

Anda telah belajar bagaimana menggunakan perintah sudo dan cara membuat pengguna baru dengan hak istimewa sudo.

terminal sudo