Usanidi 10 Muhimu wa Sudoers kwa Kuweka sudo kwenye Linux
Katika Linux na mifumo mingine ya uendeshaji inayofanana na Unix, mtumiaji wa mizizi pekee ndiye anayeweza kuendesha amri zote na kufanya shughuli fulani muhimu kwenye mfumo kama vile kusakinisha na kusasisha, kuondoa vifurushi, kuunda watumiaji na vikundi, kurekebisha faili muhimu za usanidi wa mfumo na kadhalika.
Hata hivyo, msimamizi wa mfumo ambaye huchukua jukumu la mtumiaji wa mizizi anaweza kuruhusu watumiaji wengine wa mfumo wa kawaida kwa usaidizi wa amri ya sudo na usanidi machache wa kutekeleza baadhi ya amri na pia kutekeleza idadi ya shughuli muhimu za mfumo ikiwa ni pamoja na zile zilizotajwa hapo juu.
Vinginevyo, msimamizi wa mfumo anaweza kushiriki nenosiri la mtumiaji wa mizizi (ambayo si njia inayopendekezwa) ili watumiaji wa kawaida wa mfumo wapate ufikiaji wa akaunti ya mtumiaji wa mizizi kupitia amri ya su.
sudo inaruhusu mtumiaji anayeruhusiwa kutekeleza amri kama mzizi (au mtumiaji mwingine), kama ilivyoainishwa na sera ya usalama:
- Inasoma na kuchanganua /etc/sudoers, hutafuta mtumiaji anayetuma na ruhusa zake,
- kisha humwuliza mtumiaji anayetuma neno la siri (kwa kawaida nenosiri la mtumiaji, lakini pia linaweza kuwa nenosiri la mtumiaji lengwa. Au linaweza kurukwa kwa lebo ya NOPASSWD),
- baada ya hapo, sudo huunda mchakato wa mtoto ambapo huita setuid() kubadili hadi kwa mtumiaji lengwa
- kifuatacho, hutekeleza ganda au amri iliyotolewa kama hoja katika mchakato wa mtoto hapo juu.
Hapo chini kuna usanidi wa faili kumi /etc/sudoers kurekebisha tabia ya amri ya sudo kwa kutumia maingizo ya Defaults.
$ sudo cat /etc/sudoers
# # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" Defaults logfile="/var/log/sudo.log" Defaults lecture="always" Defaults badpass_message="Password is wrong, please try again" Defaults passwd_tries=5 Defaults insults Defaults log_input,log_output
Defaults parameter, parameter_list #affect all users on any host [email _List parameter, parameter_list #affects all users on a specific host Defaults:User_List parameter, parameter_list #affects a specific user Defaults!Cmnd_List parameter, parameter_list #affects a specific command Defaults>Runas_List parameter, parameter_list #affects commands being run as a specific user
Kwa upeo wa mwongozo huu, tutapunguza chini hadi aina ya kwanza ya Chaguo-msingi katika fomu zilizo hapa chini. Vigezo vinaweza kuwa bendera, nambari kamili, mifuatano, au orodha.
Unapaswa kukumbuka kuwa bendera ni za boolean kabisa na zinaweza kuzimwa kwa kutumia !
opereta, na orodha zina waendeshaji wawili wa ziada wa kazi, +=
(ongeza kwenye orodha) na
Defaults parameter OR Defaults parameter=value OR Defaults parameter -=value Defaults parameter +=value OR Defaults !parameter
1. Weka NJIA Salama
Hii ndio njia inayotumika kwa kila amri inayoendeshwa na sudo, ina umuhimu mbili:
- Inatumika wakati msimamizi wa mfumo haamini watumiaji wa sudo kuwa na tofauti salama ya mazingira ya PATH
- Ili kutenganisha \njia ya msingi na \njia ya mtumiaji, ni watumiaji waliofafanuliwa na kikundi cha exempt pekee ambao hawaathiriwi na mpangilio huu.
Ili kuiweka, ongeza mstari:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
2. Washa sudo kwenye Kipindi cha Kuingia kwa Mtumiaji cha TTY
Ili kuwezesha sudo kuvutiwa kutoka kwa tty halisi lakini sio kupitia njia kama vile maandishi ya cron au cgi-bin, ongeza mstari:
Defaults requiretty
3. Endesha Amri ya Sudo Kwa kutumia pty
Mara chache, washambulizi wanaweza kuendesha programu hasidi (kama vile virusi au programu hasidi) kwa kutumia sudo, ambayo inaweza kubadilisha mchakato wa usuli ambao utasalia kwenye kifaa cha kulipia cha mtumiaji hata programu kuu inapomaliza kutekeleza.
Ili kuepuka hali kama hii, unaweza kusanidi sudo ili kutekeleza amri zingine pekee kutoka kwa psuedo-pty kwa kutumia use_pty
parameta, iwe ukataji wa miti wa I/O umewashwa au la kama ifuatavyo:
Defaults use_pty
4. Unda Faili ya Ingia ya Sudo
Kwa msingi, sudo huingia kupitia syslog(3). Walakini, kutaja faili ya logi maalum, tumia parameta ya faili kama hivyo:
Defaults logfile="/var/log/sudo.log"
Ili kuweka jina la mwenyeji na mwaka wa tarakimu nne katika faili maalum ya kumbukumbu, tumia log_host na log_year vigezo mtawalia kama ifuatavyo:
Defaults log_host, log_year, logfile="/var/log/sudo.log"
Chini ni mfano wa faili ya logi ya sudo maalum:
5. Ingia Sudo Amri Pembejeo/Pato
Vigezo vya log_input na log_output huwezesha sudo kutekeleza amri katika pseudo-tty na kuweka ingizo zote za mtumiaji na matokeo yote yanayotumwa kwenye skrini kwa upokezi.
Saraka chaguo-msingi ya logi ya I/O ni /var/log/sudo-io, na ikiwa kuna nambari ya mlolongo wa kikao, imehifadhiwa kwenye saraka hii. Unaweza kutaja saraka maalum kupitia parameta ya iolog_dir.
Defaults log_input, log_output
Kuna baadhi ya mifuatano ya kutoroka inayotumika kama vile %{seq}
ambayo hupanuka hadi nambari ya mfuatano ya msingi-36 inayoongezeka kwa monotonically, kama vile 000001, ambapo kila tarakimu mbili hutumiwa kuunda saraka mpya, k.m. 00/00/01 kama katika mfano hapa chini:
$ cd /var/log/sudo-io/ $ ls $ cd 00/00/01 $ ls $ cat log
Unaweza kutazama faili zingine kwenye saraka hiyo kwa kutumia amri ya paka.
6. Hotuba Watumiaji wa Sudo
Ili kutoa hotuba kwa watumiaji wa sudo kuhusu utumiaji wa nenosiri kwenye mfumo, tumia kigezo cha mihadhara kama ilivyo hapo chini.
Ina maadili 3 iwezekanavyo:
- kila mara - mhadhara mtumiaji kila mara.
- mara moja - hutubia mtumiaji mara ya kwanza anapotekeleza amri ya sudo (hii inatumika wakati hakuna thamani iliyotajwa)
- kamwe - usiwahi kumhadhiri mtumiaji.
Defaults lecture="always"
Kwa kuongeza, unaweza kuweka faili ya mihadhara maalum na parameta ya lecture_file, chapa ujumbe unaofaa kwenye faili:
Defaults lecture_file="/path/to/file"
7. Onyesha Ujumbe Maalum Unapoingiza Nenosiri la sudo si sahihi
Wakati mtumiaji anaingia nenosiri lisilo sahihi, ujumbe fulani unaonyeshwa kwenye mstari wa amri. Ujumbe chaguo-msingi ni \samahani, jaribu tena, unaweza kurekebisha ujumbe kwa kutumia kigezo cha badpass_message kama ifuatavyo:
Defaults badpass_message="Password is wrong, please try again"
8. Ongeza Kikomo cha Majaribio ya Nenosiri la sudo
Kigezo passwd_tries kinatumika kubainisha idadi ya mara ambazo mtumiaji anaweza kujaribu kuingiza nenosiri.
Thamani chaguo-msingi ni 3:
Defaults passwd_tries=5
Ili kuweka muda wa kuisha kwa nenosiri (chaguo-msingi ni dakika 5) kwa kutumia kigezo cha passwd_timeout, ongeza mstari ulio hapa chini:
Defaults passwd_timeout=2
9. Ruhusu Sudo Akutusi Unapoingiza Nenosiri Lisilo sahihi
Iwapo mtumiaji ataandika nenosiri lisilo sahihi, sudo itaonyesha matusi kwenye terminal na parameta ya matusi. Hii itazima kiotomatiki kigezo cha badpass_message.
Defaults insults
Soma Zaidi: Acha Sudo Akutusi Unapoingiza Nenosiri Lisilosahihi
10. Jifunze Zaidi Usanidi wa Sudo
Kwa kuongeza, unaweza kujifunza usanidi zaidi wa amri ya sudo kwa kusoma: Tofauti Kati ya su na sudo na Jinsi ya Kusanidi sudo katika Linux.
Ni hayo tu! Unaweza kushiriki usanidi mwingine muhimu wa amri ya sudo au hila na vidokezo na watumiaji wa Linux huko nje kupitia sehemu ya maoni hapa chini.