10 Konfigurasi Sudoer Berguna untuk Menetapkan 'Sudo' di Linux

10 Konfigurasi Sudoer Berguna untuk Menetapkan 'Sudo' di Linux

Di Linux dan sistem operasi seperti Unix yang lain, hanya akar Pengguna boleh menjalankan semua arahan dan melaksanakan operasi kritikal tertentu pada sistem seperti memasang dan mengemas kini, mengalih keluar pakej, membuat pengguna dan kumpulan, mengubah suai fail konfigurasi sistem penting dan sebagainya.

Walau bagaimanapun, pentadbir sistem yang menganggap peranan pengguna root boleh membenarkan pengguna sistem normal lain dengan bantuan arahan sudo dan beberapa konfigurasi untuk menjalankan beberapa arahan serta menjalankan beberapa operasi sistem penting termasuk yang disebutkan di atas.

Sebagai alternatif, pentadbir sistem boleh berkongsi kata laluan pengguna root (yang bukan kaedah yang disyorkan) supaya pengguna sistem normal mempunyai akses ke akaun pengguna root melalui su perintah.

sudo membenarkan pengguna yang dibenarkan untuk melaksanakan arahan sebagai root (atau pengguna lain), seperti yang ditentukan oleh dasar keselamatan:

  1. Ia berbunyi dan parses /etc/sudoers, melihat pengguna dan keizinannya,
  2. kemudian meminta pengguna yang menggunakan kata laluan (biasanya kata laluan pengguna, tetapi juga boleh menjadi kata laluan pengguna sasaran. Atau ia boleh dilangkau dengan tag noPasswd),
  3. Selepas itu, sudo mencipta proses kanak -kanak di mana ia memanggil setuid () Untuk beralih kepada pengguna sasaran
  4. Seterusnya, ia melaksanakan shell atau arahan yang diberikan sebagai hujah dalam proses kanak -kanak di atas.

Berikut adalah sepuluh /etc/sudoers konfigurasi fail untuk mengubah suai tingkah laku sudo Perintah menggunakan Lalai penyertaan.

$ sudo kucing /etc /sudoers 
/etc/sudoer fail
# # Fail ini mesti diedit dengan perintah 'visudo' sebagai akar. # # Sila pertimbangkan untuk menambah kandungan tempatan dalam /etc /sudoers.d/ bukan # secara langsung mengubah fail ini. # # Lihat halaman lelaki untuk maklumat lanjut mengenai cara menulis fail sudoers. # Lalai env_reset lalai mail_badpass lalai selamat_path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" lalai logfile = "/var/log/sudo.Log "lalai lecture =" selalu "lalai badpass_message =" kata laluan salah, sila cuba lagi "lalai passwd_tries = 5 defaults penghinaan lalai log_input, log_output 

Jenis entri lalai

Parameter lalai, parameter_list #fect semua pengguna pada mana -mana hos [dilindungi e -mel] _List parameter, parameter_list #fects semua pengguna pada lalai hos tertentu: parameter user_list, parameter_list #fects default pengguna tertentu!Parameter cmnd_list, parameter_list #fects default perintah tertentu> parameter runas_list, parameter_list #fects perintah dijalankan sebagai pengguna tertentu 

Untuk skop panduan ini, kami akan turun ke jenis pertama Lalai dalam borang di bawah. Parameter mungkin bendera, nilai integer, rentetan, atau senarai.

Anda harus ambil perhatian bahawa bendera secara tersirat boolean dan boleh dimatikan menggunakan '!' pengendali, dan senarai mempunyai dua pengendali tugasan tambahan, += (tambah ke senarai) dan -= (buang daripada senarai).

Parameter lalai atau parameter lalai = Parameter nilai atau lalai -= Nilai Parameter Defaults += Nilai atau Lalai !parameter 

1. Tetapkan jalan yang selamat

Inilah jalan yang digunakan untuk setiap arahan yang dijalankan dengan sudo, ia mempunyai dua import:

  1. Digunakan apabila pentadbir sistem tidak mempercayai pengguna sudo untuk mempunyai pembolehubah persekitaran jalan yang selamat
  2. Untuk memisahkan "laluan akar" dan "laluan pengguna", hanya pengguna yang ditakrifkan oleh Pengecualian_group tidak terjejas oleh tetapan ini.

Untuk menetapkannya, tambahkan garis:

Lalai selamat_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 membolehkan sudo dipanggil dari sebenar tty tetapi tidak melalui kaedah seperti Cron atau CGI-Bin Skrip, tambahkan garis:

Lalai keperluan 

3. Jalankan arahan sudo menggunakan pty

Beberapa kali, penyerang boleh menjalankan program yang berniat jahat (seperti virus atau malware) menggunakan sudo, yang sekali lagi akan memainkan proses latar belakang yang kekal pada peranti terminal pengguna walaupun program utama telah selesai melaksanakan.

Untuk mengelakkan senario sedemikian, anda boleh mengkonfigurasi sudo untuk menjalankan arahan lain hanya dari a psuedo-pty menggunakan Use_pty Parameter, sama ada pembalakan I/O dihidupkan atau tidak seperti berikut:

Lalai use_pty 

4. Buat fail log sudo

Secara lalai, sudo log melalui syslog (3). Walau bagaimanapun, untuk menentukan fail log tersuai, gunakan parameter logfile seperti SO:

Lalai logfile = "/var/log/sudo." 

Untuk log nama hos dan tahun empat digit dalam fail log tersuai, gunakan log_host dan log_year Parameter masing -masing seperti berikut:

Lalai log_host, log_year, logfile = "/var/log/sudo." 

Berikut adalah contoh fail log sudo tersuai:

Buat fail log sudo tersuai

5. Log Sudo Input/Output

The log_input dan log_output Parameter membolehkan sudo menjalankan arahan dalam pseudo-tty dan log semua input pengguna dan semua output dihantar ke skrin secara penerimaan.

Direktori log I/O lalai adalah /var/log/sudo-io, Dan jika terdapat nombor urutan sesi, ia disimpan dalam direktori ini. Anda boleh menentukan direktori tersuai melalui iolog_dir parameter.

Lalai log_input, log_output 

Terdapat beberapa urutan melarikan diri yang disokong seperti %seq yang berkembang menjadi nombor urutan asas-36 yang semakin meningkat, seperti 000001, di mana setiap dua digit digunakan untuk membentuk direktori baru, e.g. 00/00/01 Seperti dalam contoh di bawah:

$ cd/var/log/sudo-io/$ ls $ cd 00/00/01 $ ls $ Cat Log 
Log output input sudo

Anda boleh melihat selebihnya fail dalam direktori itu menggunakan arahan kucing.

6. Pengguna sudo kuliah

Untuk memberi kuliah pengguna sudo mengenai penggunaan kata laluan pada sistem, gunakan kuliah Parameter seperti di bawah.

Ia mempunyai 3 nilai yang mungkin:

  1. Sentiasa - Sentiasa Kuliah Pengguna.
  2. Sekali - Hanya kuliah pengguna pada kali pertama mereka melaksanakan arahan sudo (ini digunakan apabila tiada nilai ditentukan)
  3. tidak pernah - tidak pernah memberi kuliah pengguna.
 Kuliah Lalai = "Sentiasa" 

Di samping itu, anda boleh menetapkan fail kuliah tersuai dengan kuliah_file parameter, taipkan mesej yang sesuai dalam fail:

Lalai lecture_file = "/path/to/file" 
Pengguna sudo kuliah

7. Tunjukkan mesej tersuai semasa memasukkan kata laluan sudo yang salah

Apabila pengguna memasuki kata laluan yang salah, mesej tertentu dipaparkan pada baris arahan. Mesej lalai adalah "Maaf, cuba lagi", Anda boleh mengubahsuai mesej menggunakan badpass_message parameter seperti berikut:

Lalai badpass_message = "Kata laluan salah, sila cuba lagi" 

8. Meningkatkan Kata Laluan Mengendali Had

Parameter passwd_tries digunakan untuk menentukan bilangan kali pengguna boleh cuba memasukkan kata laluan.

Nilai lalai ialah 3:

Lalai passwd_tries = 5 
Meningkatkan percubaan kata laluan sudo

Untuk menetapkan masa tamat kata laluan (lalai adalah 5 minit) menggunakan Passwd_timeout Parameter, tambah garisan di bawah:

Lalai passwd_timeout = 2 

9. Biarkan sudo menghina anda apabila anda memasukkan kata laluan yang salah

Sekiranya pengguna menaip kata laluan yang salah, sudo akan memaparkan penghinaan di terminal dengan parameter penghinaan. Ini akan mematikan secara automatik badpass_message parameter.

Penghinaan lalai 
Mari kita menghina anda apabila memasukkan kata laluan yang salah

Baca lebih lanjut: Biarkan sudo menghina anda apabila anda memasukkan kata laluan yang salah

10. Ketahui lebih banyak konfigurasi sudo

Di samping itu, anda boleh mengetahui lebih lanjut sudo Konfigurasi Perintah dengan membaca: Perbezaan antara Su dan sudo dan bagaimana mengkonfigurasi sudo di linux.

Itu sahaja! Anda boleh berkongsi konfigurasi perintah sudo yang berguna atau helah dan petua dengan pengguna Linux di luar sana melalui bahagian komen di bawah.