sudo ialah arahan yang sangat berkuasa dan biasa digunakan dalam sistem Linux Ia membolehkan pengguna biasa melaksanakan arahan atau program tertentu sebagai superuser (root). Ini menghalang pengguna daripada log masuk terus ke akaun akar, dengan itu meningkatkan keselamatan dan kestabilan sistem. Walau bagaimanapun, adakah anda tahu bahawa arahan sudo mempunyai banyak fungsi dan helah tersembunyi? Artikel ini akan memperkenalkan anda kepada 10 petua untuk menyediakan sudo dalam Linux, supaya anda boleh menggunakan arahan sudo dengan lebih baik untuk menyelesaikan pelbagai tugas.
sudo membenarkan pengguna untuk melaksanakan perintah yang ditentukan oleh dasar keselamatan sebagai root (atau pengguna lain): ia membaca dan menghuraikan /etc sudoers, mencari pengguna yang memanggil dan kebenaran mereka, dan kemudian menggesa pengguna yang memanggil untuk kata laluan (biasanya pengguna kata laluan, tetapi ia juga boleh menjadi kata laluan pengguna sasaran, atau anda boleh menggunakan NOPASSWD untuk membatalkan pengesahan kata laluan), selepas itu, sudo mencipta subproses di mana setuid() dipanggil untuk beralih kepada pengguna sasaran seterusnya, yang melaksanakan shell atau subproses di atas Perintah yang diberikan sebagai hujah dalam.
Di bawah ialah sepuluh konfigurasi fail /etc/sudoers untuk mengubah suai tingkah laku arahan sudo menggunakan entri Lalai.
sudo cat /etc/sudoers | less
Ini adalah laluan yang digunakan untuk setiap arahan yang dijalankan menggunakan sudo, ia penting untuk dua sebab:
Digunakan apabila pentadbir sistem tidak mempercayai pengguna sudo untuk mempunyai pembolehubah persekitaran PATH yang selamat
Untuk memisahkan "laluan akar" dan "laluan pengguna", hanya pengguna yang ditakrifkan oleh exempt_group tidak terjejas oleh tetapan ini.
Untuk menetapkannya, tambahkan baris:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
2. Dayakan sudo pada sesi log masuk pengguna TTY
Untuk mendayakan panggilan sudo daripada tty sebenar, dan bukannya melalui kaedah seperti skrip cron atau cgi-bin, tambah baris berikut:
Defaults requiretty
3. Jalankan arahan sudo menggunakan pty
Kadangkala, penyerang boleh menggunakan sudo untuk menjalankan program berniat jahat (seperti virus atau perisian hasad), yang sekali lagi akan menghentikan proses latar belakang yang kekal pada peranti akhir pengguna, walaupun selepas program utama telah menyelesaikan pelaksanaan.
Untuk mengelakkan ini, anda boleh mengkonfigurasi sudo untuk hanya menjalankan perintah lain daripada psuedo-pty menggunakan parameter use_pty, tidak kira sama ada log I/O dihidupkan, seperti yang ditunjukkan di bawah:
Defaults use_pty1
4. Cipta fail log Sudo
Secara lalai, log sudo adalah melalui syslog(3). Walau bagaimanapun, untuk menentukan fail log tersuai, gunakan parameter fail log seperti:
Defaults logfile="/var/log/sudo.log"
Untuk log nama hos dan empat digit tahun dalam fail log tersuai, gunakan log_host dan log_year parameter masing-masing seperti berikut:
Defaults log_host, log_year, logfile="/var/log/sudo.log"
5. Rakam input/output arahan Sudo
Parameter log_input dan log_output membenarkan sudo menjalankan arahan dalam pseudo tty dan log semua input pengguna dan semua output dihantar ke skrin.
Direktori log I/O lalai ialah /var/log/sudo-io, jika terdapat nombor siri sesi, ia disimpan dalam direktori ini. Anda boleh menentukan direktori tersuai melalui parameter iolog_dir.
Defaults log_input, log_output1
Menyokong beberapa jujukan melarikan diri, seperti %{seq}, yang berkembang kepada nombor jujukan asas 36 yang meningkat secara monoton, seperti 000001, di mana setiap dua digit digunakan untuk membentuk direktori baharu, mis. 00/00/01, seperti yang ditunjukkan dalam contoh berikut:
[root@linuxprobe ~]# cd /var/log/sudo-io/ [root@linuxprobe sudo-io]# ll total 8 drwx------ 3 root root 4096 Jan 12 18:58 00 -rw------- 1 root root 7 Jan 12 19:08 seq [root@linuxprobe sudo-io]# cd 00/00/06/ [root@linuxprobe 06]# ls log stderr stdin stdout timing ttyin ttyout [root@linuxprobe 06]# cat log 1484219333:root:root::/dev/pts/0 /root /bin/bash
6. Terangkan pengguna Sudo
Untuk mengajar pengguna sudo tentang penggunaan kata laluan pada sistem, gunakan parameter kuliah seperti yang ditunjukkan di bawah.
Ia mempunyai 3 nilai yang mungkin:
sentiasa – sentiasa bercakap tentang seorang pengguna.
sekali – hanya digunakan apabila pengguna melaksanakan perintah sudo buat kali pertama (digunakan apabila tiada nilai dinyatakan)
tidak pernah - Jangan sekali-kali mendidik pengguna.
Defaults lecture="always"
Selain itu, anda boleh menyediakan fail kuliah tersuai menggunakan parameter lecture_file, menaip mesej yang sepadan dalam fail:
Defaults lecture_file="/path/to/file"
7. Paparkan mesej tersuai apabila memasukkan kata laluan sudo yang salah
Apabila pengguna memasukkan kata laluan yang salah, mesej tertentu akan dipaparkan pada baris arahan. Mesej lalai ialah "maaf, cuba lagi", anda boleh mengubah suai mesej menggunakan parameter badpass_message seperti berikut:
Defaults badpass_message=”Kata laluan salah, sila cuba lagi, terima kasih!”
8. Tingkatkan had percubaan kata laluan sudo
Parameter passwd_tries digunakan untuk menentukan bilangan kali pengguna cuba memasukkan kata laluan. Nilai lalai ialah 3:
Defaults passwd_tries=5
9 Biarkan Sudo menggesa apabila memasukkan kata laluan yang salah
Defaults insults
10. Ketahui lebih lanjut tentang konfigurasi Sudo
http://blog.csdn.net/wh211212/article/details/52923673
Atas ialah kandungan terperinci Rahsia perintah sudo Linux: 10 petua untuk meningkatkan kecekapan dan keselamatan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!