Mag-login sa Linux na may mga karapatan sa ugat. Patakbuhin ang su lamang ng mga user mula sa pangkat ng gulong. user ng $su options

root user at sudo

Ang root user sa GNU/Linux system ay isang user na may administratibong access sa iyong system. Walang ganitong access ang mga regular na user dahil sa kakulangan ng access. Gayunpaman, sa Kubuntu walang gumagamit ng ugat. Sa halip, ibinibigay ang administratibong pag-access mga indibidwal na gumagamit, na maaaring gumamit ng "sudo" na application upang magsagawa ng mga administratibong gawain. Una Account, na nilikha sa panahon ng pag-install ng system, bilang default ay magkakaroon ng access sa sudo application. Maaari mong tanggihan ang sudo access o bigyan ito gamit ang isang application Mga Gumagamit at Grupo (Tingnan ang "Mga User at Grupo").

Kung nagpapatakbo ka ng isang program na nangangailangan ng mga karapatan ng superuser, hihilingin sa iyo ng sudo na ipasok ang iyong normal password ng gumagamit. Tinitiyak nito na malisyosong mga application hindi makakasira sa iyong system, at magpapaalala rin sa iyo kung ano ang iyong gagawin mga aksyong administratibo, na nangangailangan ng espesyal na pangangalaga!

Para magamit ang sudo sa command line, i-type lang ang "sudo" bago ang command na gusto mong patakbuhin. Pagkatapos nito, hihilingin sa iyo ng sudo na ipasok ang iyong password.

Tatandaan ng Sudo ang iyong password para sa itinakdang dami ng oras (default ay 15 minuto). Ang tampok na ito ay nagpapahintulot sa mga user na gumanap malaking bilang ng mga gawaing pang-administratibo nang hindi kinakailangang magpasok ng password sa bawat oras.

Pansin

Mag-ingat kapag nagsasagawa ng mga administratibong gawain - maaari mong sirain ang iyong system!

Ilang tip para sa paggamit ng sudo:

    Para gamitin ang terminal ng root user, i-type ang "sudo -i" sa command prompt

    Ang buong pangkat ng mga graphical configuration utilities sa Kubuntu ay gumagamit na ng sudo, kaya kung kinakailangan ay hihilingin sa iyo ang isang password gamit ang application kdesu, na isang graphical na shell sudo .

    Para sa karagdagang impormasyon sa programa sudo at ang kawalan ng root user sa Kubuntu, tingnan ang sudo page sa Ubuntu wiki.

Manu-manong pagpapatakbo ng mga program na may mga pribilehiyo sa ugat

Minsan kinakailangan na magpatakbo ng isang programa na may mga pribilehiyo sa ugat. Madali itong gawin gamit ang dialogue Patakbuhin ang utos .

Pansin

Mangyaring mag-ingat kapag nagpapatakbo ng mga application na may mga pribilehiyo sa ugat dahil maaaring masira ang iyong system. Para sa karagdagang impormasyon, tingnan Ang root user at sudo.

    Buksan ang diyalogo Patakbuhin ang utos sa pamamagitan ng pagpindot Alt -F2

    Ipasok ang pangalan ng program na gusto mong patakbuhin, may unlapi kdesu at pindutin Pumasok. Halimbawa, upang tumakbo tagapamahala ng file mananakop na may mga pribilehiyong ugat, uri

    Sa maraming linux (at hindi lamang linux) na mga manwal sa mga isyu sa seguridad, may mga regular na rekomendasyon na gawin ang lahat ng hindi pang-administratibong pagkilos sa ilalim ng isang user na walang mga karapatan ng administrator/superuser. Sa madaling salita, inirerekumenda ng lahat na huwag gumana bilang ugat sa lahat ng oras at gamitin lamang bilang ugat kung kinakailangan.
    Sa katunayan, sa maraming sitwasyon, kinakailangan na magpatakbo ng mga proseso sa ilalim ng isang user na hindi lamang walang mga karapatan sa ugat, ngunit hindi rin maitataas ang kanyang mga karapatan sa pag-ugat. No way, no way. Ang pangangailangang ito ay lumitaw (makatuwirang lumikha ng mga naturang user) para sa mga serbisyong tumatakbo sa server. Halimbawa, Apache, Asterisk, at iba pa. Iyon ay, upang ang isang taong makakakuha ng mga karapatan ng naturang user ay hindi lamang makakatanggap ng mga karapatan sa ugat, ngunit kahit na (bigla) na natutunan ang root password, ay hindi makakapag-log in gamit ang password na ito (dagdagan ang kanilang mga pribilehiyo).

    Sa mas lumang mga bersyon ng Linux, ang default na mode ay itinakda sa sumusunod na mode: ang mga user na kabilang sa grupo ng gulong ay maaaring magpatakbo ng su command, ngunit ang iba ay hindi maaaring magpatakbo. Iyon ay, lahat ay maaaring magpatakbo ng su, ngunit para sa mga gumagamit na hindi mula sa pangkat ng gulong, ang utos ng su kahit na may tamang password root ay magtapon ng isang error.
    SA modernong bersyon linux, halimbawa, CentOS at Debian, ang feature na ito ay hindi pinagana bilang default, i.e. lahat ng mga gumagamit ay maaaring itaas ang kanilang mga karapatan (alam ang root password). Sa artikulong ito ipapakita namin kung paano ibalik ang mode na dati - upang ang mga user lamang mula sa pangkat ng gulong ang maaaring "itaas" ang kanilang mga pribilehiyo.

    Kung saan magsisimula

    Una sa lahat, kailangan mong protektahan ang iyong sarili. Ibig sabihin, siguraduhing idagdag ang user na pinagtatrabahuhan mo sa grupo gulong. Buweno, kung mayroong maraming mga gumagamit na nagtatrabaho sa system, kung saan kinakailangan upang madagdagan ang mga pribilehiyo upang mag-root paminsan-minsan, kung gayon bawat ng mga user na ito ay dapat idagdag sa pangkat ng gulong!
    Pakitandaan, ito ay mahalagang gawin dati kung paano ka nagbago mga setting ng linux, kung hindi (kung, halimbawa, kumonekta ka sa server sa pamamagitan ng SSH, ang pag-access sa pamamagitan ng SSH sa ilalim ng root ay ipinagbabawal) sa pamamagitan ng pag-log in bilang isang regular na user sa pamamagitan ng SSH, hindi mo magagawang itaas ang iyong mga pribilehiyo sa root!

    Lumikha ng gulong ng grupo

    Posible na sa iyong mga bersyon ng linux Walang pangkat ng gulong bilang default. Pagkatapos ay kailangan itong malikha. Mayroong sumusunod na utos para dito:
    gulong ng addgroup
    Huwag matakot na ilagay ang utos na ito: kung umiiral ang gulong ng grupo, magpapakita ito ng mensahe na mayroon nang ganoong grupo. Kung walang ganoong grupo, ito ay gagawin

    Paano magdagdag ng user sa pangkat ng gulong

    Mayroong isang utos para dito:
    usermod -a -G wheel username
    Halimbawa:
    usermod -a -G wheel username

    Ang command na ito ay nagdaragdag ng username sa wheel group. Kung ang gumagamit ay isang miyembro ng isa o higit pang mga grupo, ang pagiging miyembro sa lahat ng mga grupo ay pinananatili lamang ang gumagamit ay idinagdag sa isa pang (karagdagang) grupo.

    Ngayon suriin na ang lahat ay tapos na nang tama. Mayroong isang utos para dito:
    id username
    Halimbawa:
    id username

    Ang user ID, user name, at ang ID at pangalan ng bawat pangkat kung saan kabilang ang user ay ipapakita. Siguraduhin mo lahat mga kinakailangang user idinagdag sa pangkat ng gulong.

    Patakbuhin ang su lamang ng mga user mula sa pangkat ng gulong

    Buksan sa iyong text editor file: /etc/pam.d/su
    Sa file na ito, maghanap ng linyang katulad ng sumusunod:
    kailangan ng auth pam_wheel.so
    o
    kailangan ng auth pam_wheel.so use_uid
    Bilang default, ang linyang ito ay nagsisimula sa isang "#" sign, na parang isang komento. Alisin ang marka ng komento mula sa simula ng linyang ito at i-save ang file.

    Lahat! Ngayon, ang mga user lamang mula sa pangkat ng gulong ang maaaring magpatakbo ng su command at mapataas ang kanilang mga pribilehiyo sa pag-root. Huwag kalimutang tingnan ito!

    Tulad ng alam mo, sineseryoso ng Linux ang pamamahala sa mga user at binibigyan sila ng mga pahintulot na gamitin ang system. Ang isang normal na gumagamit ay maaari lamang magsulat ng mga file sa kanilang sariling direktoryo at sa /tmp/ direktoryo. Posible rin na basahin ang ilang mga file sa ugat file system. Ngunit hindi ka maaaring mag-install ng mga programa, dahil nangangailangan ito ng pahintulot sa pagsulat, hindi mo mababago ang mga katangian ng file, hindi ka makakapagsimula ng mga serbisyo, hindi ka makakabasa ng ilang mga log file, at hindi ka makakagawa ng higit pa.

    Sa Linux, ang root user lamang ang may karapatang pamahalaan ang root file system at lumikha ng mga file doon.

    Sa artikulong ito titingnan natin kung anong mga programa ang kailangan upang makakuha ng mga karapatan sa ugat gumagamit ng linux kung paano sila gumagana, kung paano magpatakbo ng isang programa gamit ang mga karapatan sa ugat mula sa isang regular na gumagamit at kung paano tumakbo mga programa sa graphics na may mga karapatan sa ugat. Malalaman din natin kung ano ang sudo at kung ano ang pagkakaiba ng su at sudo.

    Magtatagal upang mailista kung ano ang hindi maaaring gawin ng isang ordinaryong gumagamit ng Linux na mas madaling sabihin kung ano ang karapatan niya, lalo na kung kailan standard setting mga pahintulot ng file sa Linux, ang isang regular na user ay maaaring:

    • Basahin, isulat at baguhin ang mga katangian ng mga file sa iyong direktoryo
    • Magbasa, magsulat, magbago ng mga katangian ng mga file sa /tmp na direktoryo
    • Magsagawa ng mga programa kung saan hindi ito ipinagbabawal gamit ang noexec flag
    • Magbasa ng mga file na may nakatakdang read flag para sa lahat ng user.

    Kung kailangan nating gumawa ng higit pa, kakailanganin natin ang mga karapatan ng user ng root ng Linux. Ang Root ay may karapatang gawin ang lahat sa iyong file system, anuman ang mga pahintulot na itinakda sa file.

    Mag-login bilang superuser

    Upang mag-log in bilang root user, maaari kang lumipat sa isa sa mga virtual console, halimbawa, gamit ang keyboard shortcut na Ctrl+Alt+F1 at pagkatapos ay ilagay ang root login at root user password.

    Makakakuha ka ng isang buong root environment na may kakayahang gawin ang lahat, ngunit ang pamamaraang ito ay napaka-imposible dahil nawala mo ang lahat ng mga benepisyo ng paggamit ng isang GUI.

    Maaari naming gawin ang kumpletong kabaligtaran, ipasok ang root login at ang password nito sa graphical login manager, upang ang desktop environment ay tumakbo bilang root, at makuha namin ang lahat ng karapatan ugat ng linux, ngunit ang pagpipiliang ito ay lubos na hindi inirerekomenda, at lubhang mapanganib, maaari mong aksidenteng masira ang buong system. Samakatuwid, ang pamamaraang ito ay hindi pinagana sa maraming mga tagapamahala ng pag-login.

    Lumipat sa superuser sa terminal

    Ngayon ay dumating kami sa isang bagay na mas kawili-wili at praktikal. Gamit ang mga espesyal na utility, maaari mong ilipat ang kasalukuyang terminal emulator sa superuser na kapaligiran at isagawa ang lahat ng sumusunod na utos hindi para sa iyo, ngunit sa ngalan niya, sa gayon ay nagbibigay ng mga karapatan sa root ng Linux. Mayroong isang utility na tinatawag na su para sa layuning ito. Sa pangkalahatan, binibigyang-daan ka ng utility na ito hindi lamang na lumipat sa root user kundi pati na rin sa sinumang ibang user, ngunit bilang default ito ay root na ginagamit. Tingnan natin ito nang maigi. Ang utos ng su linux ay may sumusunod na syntax:

    user ng $su options

    Narito ang mga pangunahing pagpipilian nito:

    • -c, --utos- isagawa ang utos
    • -g, --pangkat- itakda ang pangunahing pangkat ng gumagamit (para lamang sa ugat)
    • -G --supp-grupo- karagdagang mga pangkat ng gumagamit (para sa ugat lamang)
    • -, -l, --login- mode sa pag-login, lahat ay mali-clear at masisimulan na isinasaalang-alang ang bagong user mga variable ng kapaligiran, at nagbago din direktoryo ng tahanan
    • -p, --pangalagaan-kapaligiran
    • -s, --shell- itakda ang login shell
    • --bersyon- ipakita ang bersyon ng programa.

    Ngayon, mag-eksperimento tayo nang kaunti upang maunawaan kung paano gumagana ang utos ng su linux.

    Una, patakbuhin natin ang su nang walang mga parameter, ngunit gagawa muna tayo ng environment variable upang suriin kung paano ang utos na ito ay tumatalakay sa kanila:

    Ngayon ginagawa namin:

    Ngayon tingnan natin kung ano ang nangyari:

    sino ako
    $pwd
    $ echo $VAR
    $ echo $PATH
    $ labasan

    Mula sa mga utos na ito makikita natin na tayo na ngayon ang root user, ngunit ang home directory ay itinuturing na direktoryo ng ating dating gumagamit at ang aming variable ay hindi na-save, at ang PATH variable ay nagbago din, ngayon ang /sbin path ay idinagdag doon.

    Ngayon ay gumagamit kami ng login mode:

    At ulitin natin ang parehong kumbinasyon:

    sino ako
    $pwd
    $ echo $VAR
    $ echo $PATH
    $ labasan

    Ang parehong sitwasyon, lamang sa oras na ito ang home directory ay nabago din sa root directory. Ngunit maaari naming i-save ang aming mga variable sa kapaligiran kung kinakailangan, mayroong -p na opsyon para dito:

    Tulad ng nakikita mo, nananatili ang aming variable. Maaari ka ring lumipat sa sinumang ibang user. Halimbawa:

    Ang pagkuha ng mga karapatan ng superuser sa ganitong paraan ay ginagamit sa maraming distribusyon, halimbawa, Debian, OpenSUSE, ArchLInux, Gentoo, atbp. Ngunit sa Ubuntu, bilang pamamahagi para sa mga nagsisimula, ang pag-log in bilang root user ay hindi pinagana. Ginagawa ito dahil hindi rin ito masyadong secure, maaaring makalimutan mong nagpapatupad ka ng command bilang root at may ginagawa kang mali sa system. Samakatuwid, lumipat tayo sa susunod na programa.

    Pagkuha ng mga karapatan sa ugat nang hindi lumilipat

    Upang ipatupad ang pinakasecure na interface para sa pagtatrabaho sa mga karapatan ng superuser sa Linux, binuo ang sudo command. Tingnan natin kung ano ang sudo. Ang utos na ito ay isinulat bago ang bawat utos na kailangang isagawa bilang isang superuser, at upang maisakatuparan ito kailangan mong ipasok ang password hindi ng ugat, ngunit ng iyong user lamang. Tulad ng nauna, ang utility na ito ay may sariling mga pagpipilian. Tingnan muna natin ang syntax:

    $ sudo options command

    Mga opsyon sa programa:

    • -b- isagawa ang inilunsad na utility sa background
    • -E- i-save ang mga variable ng kapaligiran
    • -g- patakbuhin ang utos mula sa pangkat
    • -H- gamitin ang home directory
    • -l- magpakita ng listahan ng mga pahintulot ng sudo para sa kasalukuyang user
    • -r- gamitin ang SELinux role para sa command
    • -s- gumamit ng shell
    • -u- patakbuhin ang command bilang user, kung hindi tinukoy, gamitin ang root
    • -i- huwag isagawa ang utos, ngunit ipasok ang shell, katumbas ng su -

    Maaari mong gawin ang parehong mga eksperimento, para lamang sa command na ito, upang maunawaan kung paano gamitin ang sudo command. Halimbawa:

    Ang paggamit ng sudo ay ang inirerekomendang paraan upang magpatakbo ng mga command bilang root sa Linux. Sa ganitong paraan hindi mo malilimutan kung ano ang iyong kinakaharap at may pinakamaliit na panganib na masira ang system. Ngunit may nananatiling isa pang hindi nalutas na tanong - kung ano ang gagawin mga graphical na kagamitan? Pagkatapos ng lahat, ang sudo command ay hindi nagpapatakbo sa kanila, ngunit tumatakbo graphical na shell tumatakbo bilang ugat ay hindi ligtas. Ito ang susunod nating titingnan.

    Mga graphically application bilang superuser

    Para sa simula mga graphic application umiiral sa ngalan ng superuser mga espesyal na kagamitan. Pinapanatili nila ang lahat ng kinakailangang variable at pahintulot sa kapaligiran. Sa KDE ito ang kdesu command, at sa Gnome ang gksu command.

    I-type lamang ang gksu o kdesu na sinusundan ng utos na gusto mo:

    Ilulunsad ng command na ito ang KDE file manager na may mga karapatan ng superuser. Sa Gnome magiging ganito ang hitsura:

    Hihilingin ng programa ang isang password sa graphical na window, at pagkatapos ay magbubukas ang file manager.

    mga konklusyon

    Iyon lang. Ngayon alam mo na kung paano makakuha ng mga karapatan ng superuser sa Linux, alam mo na kung paano gamitin ang sudo command at kung ano ang pagkakaiba ng sudo at su. Ngayon ang mga program na nangangailangan ng karagdagang mga pribilehiyo sa system ay hindi magdudulot sa iyo ng mga problema. Kung mayroon kang anumang mga katanungan, sumulat sa mga komento!

    1. Gamit ang panutong: su

    Maraming mga utos ang maaari lamang patakbuhin ng superuser, kaya kailangan nating malaman kung paano maging ugat. Upang gawin ito maaari naming gamitin ang command: su (lumipat ng gumagamit). Ang utos ng su ay tumatanggap ng mga sumusunod na format:

    ngunit kadalasan ay gagamitin natin su para maging user ugat:

    Su - ugat

    Kung ang username ay hindi tinukoy sa linya, ang user ay awtomatikong ipinapalagay na root, kaya ang command ay maaaring paikliin:

    ngunit magkaiba ang ugali ng magkabilang koponan. Ang "su" ay nagbibigay sa kasalukuyang gumagamit ng isang pagkakakilanlan, samantalang ang "su -" ay nagbibigay sa kasalukuyang gumagamit ng isang pagkakakilanlan kasama ang kapaligiran na makukuha sa pamamagitan ng pagrehistro bilang.

    Kadalasan ang mga gumagamit ay gumagamit ng "su" upang maging ugat. Kung susubukan mong magpatakbo ng isang command (halimbawa - ifconfig), makakatanggap ka ng: "command hindi mahanap"pagkakamali.

    Su Password: ifconfig bash: ifconfig: command not found

    Ang dahilan ay ang mga normal na user ng system at ang root user ay may iba't ibang PATH environment variable (maaari mong tingnan ang PATH ng user gamit ang "echo $PATH" Pagkatapos pumasok Mga utos ng Linux, hahanapin ng shell ang PATH ng user para subukang maghanap ng command na tatakbo. Nagsisimula itong maghanap sa bawat direktoryo na nakalista sa PATH hanggang sa matagpuan ang target.

    Mga koponan ordinaryong gumagamit karaniwang matatagpuan sa /usr/local/bin, /usr/bin at /bin. At ang root user command ay pangunahing matatagpuan sa /usr/local/sbin, /usr/sbin, /sbin at ang root PATH ay sumasalamin dito. Kaya kapag naging superuser ka na may "su -", kumuha ka rin ng bagong PATH para sa iyong mga pangunahing command. At gamit lamang ang "su", ito ay nai-save custom na landas Ang PATH ay ang default, samakatuwid, kapag sinusubukang magsagawa ng isang programa na matatagpuan sa /usr/local/sbin, /usr/sbin, /sbin ito ay maglalabas ng resulta: "command not found" error. Para sa mas detalyadong paliwanag, tingnan ang man bash page, lalo na ang login shell section.

    Kaya ikaw o dapat magpahiwatig buong landas sa command (halimbawa - /sbin/ifconfig) kapag gumagamit ng "su", o gumamit ng "su -" kapag nagiging root.

    2. Paggamit ng Sudo

    Hindi mo kailangang maging superuser sa tuwing gusto mong magpatakbo ng ilang partikular na administrative function. Salamat kay Sudo, maaari mong patakbuhin ang ilan o lahat ng command bilang root. Kailan Sudo naka-install (package: Sudo), maaari mo itong i-configure gamit ang "visudo" command bilang root. Karaniwang nag-e-edit ito (Vim default) /etc/sudoers, ngunit hindi inirerekomenda na gawin ito nang manu-mano.

    Alex LAHAT=(LAHAT)LAHAT

    Alex ang username. I-save (pindutin ang escape pagkatapos ay i-type ang wq) at tapos ka na. Mag-login bilang alex, at tumakbo bilang halimbawa:

    $sudo yum update

    Hihingi ng password si Sudo. Ito ang password ni Alex, hindi ng root user. Kaya mag-ingat kapag nagbigay ka ng mga karapatan ng user gamit ang Sudo.

    Ngunit hindi lang iyon ang magagawa ng Sudo. Maaari naming payagan ang isang user o grupo ng mga user na magpatakbo lamang ng isang command o grupo ng mga command. Bumalik tayo sa aming sudoers file. Magsimula tayo kina alex at alisa, mga miyembro ng grupo ng administrator. Kung gusto nating lahat ng user sa pangkat na "administrator" ay makapagpatakbo ng bawat command bilang superuser, dapat nating baguhin ang ating halimbawa:

    %admin ALL=(ALL)ALL

    Maaari ding magsagawa ng superuser command si Alex, at may karapatan si Alisa na patakbuhin ang Sudo, na may parehong mga karapatan at password. Kung hindi miyembro ng parehong grupo sina alex at alisa, maaari naming tukuyin ang alias ng user sa sudoers file:

    User_Alias ​​​​ADMINS = alisa,alex

    Dito ay tinukoy namin ang isang alias na tinatawag na ADMINS, kasama ang mga miyembro na sina alisa at alex.

    Gayunpaman, hindi namin gustong magpatakbo sina Alex at Alisa ng anumang programa bilang root. Nais naming "updatedb" lang ang kanilang magagawa. Tukuyin natin ang isang command alias:

    Cmnd_Alias ​​​​LOCATE = /usr/sbin/updatedb

    Pero hindi ito sapat! Kailangan naming sabihin sa Sudo na ang mga user na tinukoy bilang ADMINS ay maaaring magpatakbo ng mga command na tinukoy sa LOCATE. Upang gawin ito, papalitan namin ang mga linya ng "%admin" ng mga ito:

    ADMIN LAHAT = HANAPIN

    Nangangahulugan ito na ang mga user sa ADMINS alias ay maaaring magpatakbo ng lahat ng command sa LOCATE alias.

    Sa pagkakataong ito, ang /etc/sudoers ay ganito ang hitsura:

    User_Alias ​​​​ADMINS = alisa, alex Cmnd_Alias ​​​​LOCATE = /usr/bin/updatedb ADMINS ALL = LOCATE

    Bilang resulta, si alex at alisa ay maaaring magpatakbo ng updatedb bilang root sa pamamagitan ng pagpasok ng kanilang password.

    Kung ang huling linya sa file ay binago:

    ADMIN LAHAT = NOPASSWD:LOCATE

    pagkatapos ay magagawa nina alex at alisa ang "sudo updatedb" nang hindi naglalagay ng password.

    Maaari kang magdagdag ng higit pang mga command sa isang command alias at higit pang mga alias sa isang panuntunan. Halimbawa, maaari tayong lumikha ng isang alias NETWORKING na naglalaman ng ilan mga utos ng network uri: ifconfig, ruta o iwconfig:

    Cmnd_Alias ​​​​NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhcclient, /usr/bin/net, sbin/iptables, /usr/bin/rfcom, /usr/bin/wvdial, /sbin /iwconfig, /sbin/mii-tool

    Idagdag natin ang lahat ng ito sa ating /etc/sudoers file (gamit ang visudo!). Bibigyan din namin ang aming pangkat ng ADMIN ng mga karapatang magsagawa ng mga programa mula sa alyas na NETWORKING:

    User_Alias ​​​​ADMINS = alice, bob Cmnd_Alias ​​​​LOCATE = /usr/bin/updatedb Cmnd_Alias ​​​​NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net ,/sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool ADMINS ALL = LOCATE, NETWORKING

    Isang mabilis na pagsubok: mag-log in bilang alisa (o alex), at i-type ang:

    $ping -c 10 -i localhost

    Ang sagot ay dapat na bumalik nang mabilis:

    PING localhost.localdomain (127.0.0.1) 56(84) byte ng data. ping: hindi maaaring baha; minimal na pagitan, pinapayagan para sa user, ay 200ms

    Ngayon, ang parehong bagay ngunit sa Sudo:

    $sudo ping -c 10 -i 0 localhost PING localhost.localdomain (127.0.0.1) 56(84) byte ng data. 64 bytes mula sa localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 time=0.049 ms 64 bytes mula sa localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=64 time=0.034 ms 64 bytes mula sa localhost. (127.0.0.1): icmp_seq=3 ttl=64 time=0.021 ms 64 bytes mula sa localhost.localdomain (127.0.0.1): icmp_seq=4 ttl=64 time=0.030 ms 64 bytes mula sa localhost.localdomain (127):.0. icmp_seq=5 ttl=64 time=0.017 ms 64 bytes mula sa localhost.localdomain (127.0.0.1): icmp_seq=6 ttl=64 time=0.016 ms 64 bytes mula sa localhost.localdomain (127.0.0.1): icmp_seq=7 time=0.016 ms 64 bytes mula sa localhost.localdomain (127.0.0.1): icmp_seq=8 ttl=64 time=0.016 ms 64 bytes mula sa localhost.localdomain (127.0.0.1): icmp_seq=9 ttl=64 time=0.046 bytes mula sa localhost.localdomain (127.0.0.1): icmp_seq=10 ttl=64 time=0.016 ms --- localhost.localdomain ping statistics --- 10 packet na ipinadala, 10 natanggap, 0% packet loss, oras 1ms rtt min/avg/ max/mdev = 0.016/0.023/0.049/0.010 ms, ipg/ewma 0.187/0.028 ms

    Sudo kadalasang ginagamit upang bigyan ang ilang partikular na user ng bahagyang pag-access sa mga privileged command upang magawa nila ang mga limitadong administratibong function. Isa sa mga amenities Sudo ay ang lahat ng mga utos ay isinulat sa /var/log/secure. Ang halimbawa sa itaas ay ilalarawan ng linya sa log:

    Abr 18 11:23:17 localhost sudo: alex: TTY=pts/0 ; PWD=/home/alex ; USER=root ; COMMAND=/bin/ping -c 10 -i 0 localhost

    Iyon lang. Ngayon ay hindi ko malilimutan noong ginamit ko ang Sudo: "with great power comes great responsibility."

    2.1 sudo shell

    Kung mayroon kang sapat na mga pahintulot na na-configure sa mga sudoer, maaari mo ring buksan ang root kabibi gamit ang:

    SA pinakabagong bersyon sa CentOS 5 lamang, upang patakbuhin ang shell bilang ugat, gamitin ang sudo -s. Maging maingat dahil maaari itong magbago o lumikha ng mga bagong file direktoryo ng tahanan Root, at i-install sa home directory ng tumatawag na user.

    3.console helper

    Ang Consolehelper ay isang shell para sa paglulunsad ng mga GUI application. Kapag nagsimula itong tumakbo, sinusuri nito ang pagsasaayos ng PAM para sa kinakailangang aplikasyon. Nangangahulugan ito na maaari naming patotohanan ang user gamit ang lahat naka-install na mga module PAM. Ang pangunahing paraan ay ang paghingi ng password, ngunit kung mayroon tayong tamang kagamitan. maaari tayong mag-authenticate gamit ang smart card, token, fingerprints, atbp. Ang pagsasaayos ng PAM ay lampas sa saklaw ng dokumentong ito (tingnan ang Gabay ng Administrator ng PAM), kaya titingnan natin ang hakbang sa pagsasaayos ng consolehelper na kinakailangan upang magpatakbo ng mga application bilang root at nangangailangan ng root password.

    Bilang halimbawa, i-configure natin ang /usr/bin/xterm na tumakbo bilang root.

    Ln -s /usr/sbin/consolehelper /usr/bin/xterm-root

    Ngayon upang i-configure ang PAM, lumikha ng isang file /etc/pam.d/xterm-root:

    #%PAM-1.0 auth isama ang config-util account kasama ang config-util session kasama ang config-util

    Panghuli, i-configure ang consolehelper upang patakbuhin ang /usr/bin/xterm bilang root gamit ang command na "xterm-root". Lumikha ng file /etc/security/console.apps/xterm-root:

    USER=root PROGRAM=/usr/bin/xterm

    Iyon lang. Patakbuhin ang "xterm-root" (mula sa command line o shortcut.desktop file), ilagay ang password at pumunta. Kung natanggap mo ang error: "Xlib: connection to ":0.0" tinanggihan ng server", patakbuhin muna ang "xhost local:root".

    Paano ko maitataas ang aking mga pribilehiyo sa mga pribilehiyo ng system? mundo ng Windows. Tulad ng lumalabas, mayroong higit sa sapat na mga pagpipilian para dito. Ang pipiliin ay depende sa sitwasyon at sa iyong mga kagustuhan. Gayunpaman, tulad ng naiintindihan mo, kailangan mong palawakin ang iyong mga kapangyarihan hindi lamang para sa mga bintana, kundi pati na rin para sa mga penguin. Anong mga pagkakataon ang mayroon? Well, tingnan natin...

    Prefase

    Tulad ng naaalala mo (at tulad ng dapat tandaan ng bawat sapat na administrator), ang pagtatrabaho sa Linux sa ilalim ng ugat ay mahigpit na hindi inirerekomenda. Sa isang perpektong mundo, gagamitin mo lang ito para sa configuration ng server, pag-install at pag-update ng software, at iba pang mga gawaing pang-administratibo lamang. Ang problema ay nabubuhay tayo sa isang ordinaryong mundo, na napakalayo sa perpekto. Samakatuwid, ang ganitong sitwasyon ay nangyayari pa rin kung minsan. Totoo, sa karamihan ng mga kaso, dahil lamang sa kapabayaan, dahil nangyari ito sa kasaysayan na kailangang maunawaan ng mga gumagamit ng Linux kung paano operating system. At kahit na naiintindihan mo ang kaunti tungkol sa system at mga mekanismo ng seguridad nito, hindi ka makakaupo sa ilalim ng ugat. Samakatuwid, ngayon, hindi tulad ng Windows, kung saan napag-usapan namin ang tungkol sa pagkuha ng mga pribilehiyo ng system bilang isang administrator, isasaalang-alang lamang namin ang mga pagpipilian para sa pagtaas ng mga pribilehiyo mula sa isang hindi karapat-dapat na gumagamit sa root. Kaya simulan na natin.

    Mga pagsasamantala

    Ang lahat ng paraan ng pagkuha ng mga karapatan ng superuser sa Linux ay maaaring hatiin sa dalawang kategorya. Ang una ay tiyak ang paggamit ng mga pagsasamantala. Hindi tulad ng Windows, kasama ang mekanismo nito awtomatikong pag-install update, ang mga tagasunod ng Penguin ay kailangang subaybayan ang paglabas ng mga patch at ang kanilang pag-install sa kanilang sarili. Sa pagsasaalang-alang na ito, ang pagkakataon na makatagpo ng isang sistema na hindi pa ganap na na-patch sa mga Linux machine ay mas mataas. Ano ang mga benepisyo ang pamamaraang ito pwede mo bang i-highlight? Upang magsimula, ang karamihan sa mga pagsasamantala ay gumagamit ng mga kahinaan sa kernel ng OS, na nagpapahintulot sa kanila na makakuha ng pinakamataas na mga pribilehiyo. Ang paghahanap ng angkop na exploit code ay hindi ganoon kahirap, at malamang na alam mo ang ilang mga mapagkukunan. Dagdag pa, upang samantalahin ang isang pagsasamantala, kung minsan hindi mo kailangang maunawaan ang lahat ng mga intricacies ng kahinaan na ginagamit - kailangan mo lamang itong i-compile nang tama at patakbuhin ito (kung minsan, gayunpaman, kailangan mong i-customize ito nang kaunti, ngunit medyo madalas ang lahat ay gagana nang walang pag-aayos nito sa isang file). SA pangkalahatang pananaw Ang algorithm ng mga aksyon ay ang mga sumusunod:

    1. Tukuyin ang kernel at bersyon ng pamamahagi.
    2. Kumuha ng listahan ng mga magagamit na tool para sa pagbuo ng pagsasamantala.
    3. Ihatid ang sploit sa target na makina.
    4. Mag-compile (kung kinakailangan) at tumakbo.
    5. Tangkilikin ang nagresultang ugat.

    Well, ngayon tungkol sa bawat hakbang nang mas detalyado.

    Pagkakakilanlan

    Sa paghusga sa plano, kailangan muna nating malaman kung saan tayo napunta, anong uri ng distro ang ginagamit natin at kung ano ang bersyon ng kernel. Ang bersyon ng kernel ay maaaring makuha gamit ang kilalang uname -a command o mga analogue nito. Upang makakuha ng impormasyon tungkol sa distribusyon na iyong ginagamit, kailangan mong tingnan ang *-release file na matatagpuan sa etc na direktoryo (depende sa distribusyon, maaari itong tawaging naiiba: lsb-release sa Ubuntu, redhat-release sa pulang sumbrero/ CentOS at iba pa):
    pusa /etc/*-release

    Alam ang pamamahagi at bersyon ng kernel, maaari kang magpatuloy sa pangalawang yugto - paghahanap ng angkop na "master key".

    Maghanap ng pagsasamantala

    Kapag nasa kamay na ang lahat ng kinakailangang impormasyon, oras na para maghanap ng angkop na pagsasamantala. Ang unang pumapasok sa isip ay ang exploit-db.com, ngunit mayroon ding mga alternatibo: 1337day, SecuriTeam, ExploitSearch, Metasploit, securityreason, seclist. Pagkatapos ng lahat, mayroong Google; tiyak na mas alam nito ang tungkol sa mga pagsasamantala kaysa sa iba. Sa unahan ng kaunti, sasabihin ko: kung minsan, sa ilang kadahilanan, ang "master key" ay maaaring hindi gumana, o kailangan mo itong iakma nang kaunti sa ilang mga kundisyon o sa iyong mga pangangailangan, iyon ay, dumaan ito sa isang file. Kung ganoon, hindi masakit na malaman ang tungkol sa kanya Karagdagang impormasyon, na maaaring makuha mula sa isa sa mga sumusunod na mapagkukunan:
    www.cvedetails.com
    packetstormsecurity.org
    cve.mitre.org

    Kaya, sabihin nating nakahanap ka ng angkop na pagsasamantalang nagbibigay sa iyo ng daan sa mundo ng ugat. Ang natitira na lang ay ihatid ito sa kotse.

    Paghahatid sa bahay

    Upang maihatid ang spreader sa lokasyon, maraming paraan, mula sa kilalang cURL/wget, Netcat, FTP, SCP/SFTP, SMB hanggang sa paggamit ng DNS Mga tala ng TXT. Upang malaman kung alin sa mga tool na ito ang mayroon kami, patakbuhin ang:

    Find / -name wget find / -name nc* find / -name netcat* find / -name tftp* find / -name ftp

    Sabihin nating nahanap namin ang Netcat. Para maglipat ng file gamit ito, tumakbo sa receiving side:
    nc -l -p 1234 > out.file

    Iyon ay, nakikinig kami sa port 1234. Sa pagpapadala, ginagawa namin ang sumusunod:
    nc -w 3 1234< out.file

    Kung ang paglipat ay nangyari mula sa *nix sa isang *nix system, iyon ay, doon at doon karaniwang mga kagamitan, pagkatapos ay maaari mong gamitin ang compression upang pabilisin ang proseso ng paglilipat. Sa kasong ito, ang mga utos ay magiging ganito:

    Nc -l -p 1234 | i-uncompress -c | tar xvfp - // para makakuha ng tar cfp - /some/dir | compress -c | nc -w 3 1234 // para ipadala

    Ang iba pang mga opsyon ay mas simple, kaya hindi namin isasaalang-alang ang paggamit ng wget, FTP at iba pang mga kilalang pamamaraan.

    Tagu-taguan

    Okay, naisip namin kung paano ihahatid ito. Ngunit paano mo maiiwasang masunog? Kung ang iyong pagsasamantala ay natuklasan, makatitiyak na ang butas ay mabilis na sasara. Kaya kailangan mong i-host ito, i-compile at patakbuhin ito mula sa ilang hindi mahalata na lugar. Sa Linux, nakatago ang mga direktoryo na nagsisimula sa isang tuldok (halimbawa, .secret_folder). Samakatuwid, makatuwirang gamitin ang mga ito upang itago ang kanilang aktibidad. Halimbawa, ilagay ang exploit code sa kanila: /tmp/.nothingthere/exploit.c . Gayunpaman, sa kasong ito, kailangan mo munang tiyakin na ang tmp ay naka-mount nang walang opsyon na noexec at maaari mong patakbuhin ang pinagsama-samang pagsasamantala mula dito (upang gawin ito, gamitin ang mount command).

    Pagbuo at pagpapatakbo ng pagsasamantala

    Kapag naihatid at nailagay na namin ang Sploit, kakailanganin itong i-assemble/i-configure. Bilang isang patakaran, ang mga pagsasamantala ay nakasulat sa C o isa sa mga wika ng script ng Python/Perl/PHP. Mga regular na mambabasa ][ alam na ang pag-iwan ng compiler sa iyong server ay hindi ang pinakamahusay Ang pinakamagandang desisyon, kaya karaniwan itong pinuputol. Kung ang iyong tanong tungkol sa bersyon gcc compiler-v bash ay susumpa gcc: command not found , na nangangahulugang ikaw ay "maswerte" at kailangan mong maglibot. Iyon ay, maaaring maghanap ng isang spreadsheet sa Python, Perl o iba pa, o i-compile ito virtual machine na may katulad na bersyon ng OS at kernel. Pagkatapos ay ilipat ang nagreresultang executable file sa target na host (gayunpaman, ang pamamaraang ito ay hindi ginagarantiyahan ang 100% na operasyon; ang pagsasamantala ay maaaring mahulog at mag-crash sa system, kaya mag-ingat dito). Gayunpaman, tulad ng ipinapakita ng kasanayan, ang isang interpreter para sa isa sa mga nabanggit na wika ay dapat na naroroon pa rin sa system. Kaya hindi ka dapat sumuko kaagad, sa halip, suriin natin ang lahat ng mga opsyon:

    Find / -name perl* find / -name python* find / -name gcc* find / -name cc

    Kung matagumpay, ang kailangan mo lang gawin ay patakbuhin ang pinagsama-samang pagsasamantala at tamasahin ang promosyon. Buweno, o alamin kung bakit hindi ito gumana, depende sa iyong suwerte.

    Counteracting Sploits

    Mahirap makabuo ng anumang mga makabagong recipe dito. Matagal nang alam ang lahat. Kailangan mo lang i-install ang mga patch sa oras. Ito ang una. Ang pangalawa ay upang limitahan ang mga lugar kung saan ang mga file ay maaaring maisakatuparan (ang tmp folder ay dapat na talagang bawian ng kakayahang ito). Well, mag-apply ng ilan solusyon sa seguridad, halimbawa grsecurity.

    Mga karapatan, file, path at config

    Ang pangalawang kategorya na maaaring makilala sa pagtataas ng mga pribilehiyo ay mga pamamaraan na hindi nauugnay sa paggamit ng mga pagsasamantala, ngunit nakabatay sa paghahanap ng mga file na may maling itinakda na mga karapatan. Dito, tulad ng sa kaso ng Windows, mayroong ilang mga trick, ngunit karaniwang ito pa rin ang parehong gawain ng pagkolekta at pagsusuri ng data. Karaniwan, ang unang bagay na hahanapin ay ang mga file na nababasa at nasusulat ng lahat:
    hanapin / -perm 2 ! -uri l -ls

    Maaaring sapat na ang mga ito malaking numero, at kasama ng mga ito ay makakahanap ka ng isang bagay na kawili-wili: configuration file, mga mapagkukunan ng mga site/application, mga script na inilunsad ng init o cron. Sa prinsipyo, ang isang sitwasyon kung saan ang isang file ay nababasa at nasusulat ng lahat ay normal. Lumilitaw ang mga problema kapag ang mga user/admin/script ay nagsimulang magpalit ng mga pahintulot nang walang kabuluhan. Kaya kapag binago mo ang mga pahintulot, subukang umiwas gamit ang chmod 777. Well, magsagawa ng pana-panahong pag-audit sa mahahalagang file ay hindi magagamit sa lahat.

    Setuid + setgid

    Gaya ng nakasaad sa dokumentasyon, ang setuid at setgid ay mga flag ng pahintulot na nagpapahintulot sa mga executable na patakbuhin nang may mga karapatan ng may-ari o grupo ng executable (karaniwan ay root). Ang ganitong mga executable na file, kapag pinapatakbo nang may mataas na mga pribilehiyo, ay makaka-access ng higit pang privileged na impormasyon. Halimbawa, kung itinakda mo ang setuid sa utos na ls, magagawa mong tingnan ang mga nilalaman ng mga direktoryo kung saan una kang tinanggihan ng access. At sa kaso ng vim, maaari kong i-edit ang mga configuration file na wala akong karapatang tingnan noon.

    Alinsunod dito, kung ang mga application na may set ng setuid/setgid flag ay naglalaman ng mga kahinaan gaya ng buffer overflow o command injection, ang isang attacker ay maaaring magsagawa ng arbitrary code na may mataas na mga pribilehiyo. Samakatuwid, ang susunod na opsyon ay karaniwang maghanap ng mga executable na file na may mga flag na ito.
    sudo find / -xdev \(-perm 4000\) -type f -print0 -exec ls -s () \;

    Sa prinsipyo, magagawa mo ito nang walang sudo, ito ay kinakailangan lamang upang suriin ang mga direktoryo kung saan wala kang access.

    Karaniwang mayroong tatlong mga opsyon para sa karagdagang paggamit ng ganoon mga executable na file. Ang una ay subukang itaas ang mga pribilehiyo batay sa functionality na ibinigay ng application na ito (o sa halip, gumawa ng sarili mong paraan ng paggamit ng functionality na ito sa hindi pangkaraniwang paraan). Ang pangalawang opsyon ay ang maghanap ng pampublikong pagsasamantala o magsagawa ng independiyenteng fuzzing upang makilala ang mga bug. Ang pangatlo ay command injection. Walang unibersal na recipe, ang lahat ay depende sa sitwasyon.

    SUDO

    sudo (kapalit) na utos gumagamit at do), na literal na nangangahulugang "palitan ang user at i-execute," ay nagbibigay-daan sa iyo na magtalaga ng ilang partikular na privileged resources sa mga user habang pinapanatili ang isang log ng trabaho. Ibig sabihin, binibigyan nito ang mga user ng kakayahang magsagawa ng mga command bilang root (o iba pang user) gamit ang kanilang sariling password, hindi ang root password. Ang mga patakaran para sa paggawa ng mga desisyon sa pag-access ay nasa /etc/sudoers file. Maaari mong malaman ang higit pa tungkol sa format ng file na ito at pagtatakda ng mga patakaran sa opisyal na manwal o Wikipedia. Sasabihin ko lang na ang file na ito ay kailangan ding maingat na suriin. Dahil madalas itong nangyayari na binabago ito ng ilang mga application sa panahon ng pag-install, at, bukod dito, hindi sa mas magandang panig. Bilang resulta, may pagkakataon ang mga user na dagdagan ang kanilang mga pribilehiyo (isang post sa Nakakasakit na seguridad na nagsasabi tungkol sa ganoong kaso).

    DAAN

    Tulad ng sa Windows, sa Linux, ang mga landas na hindi wastong na-configure ay makakatulong din upang madagdagan ang iyong mga pribilehiyo. Ito ay kadalasang nangyayari sa PATH environment variable (gamitin ang printenv upang tingnan ito). Nakatingin ka na ba? Mahusay, ngayon sabihin sa akin: paano kung ang PATH environment variable ay magsisimula sa. (.:/bin:/usr/sbin ....)? Karaniwan itong ginagawa ng mga user na ayaw mag-type ng dalawang dagdag na character, ibig sabihin, gusto nilang tawagan ang command na ganito: $ program sa halip na $ ./program . Dagdag. sa PATH ay nangangahulugan ng kakayahang magsagawa ng mga file/script mula sa gumaganang direktoryo. Maaari mo itong idagdag tulad ng sumusunod:

    PATH=.:$(PATH) i-export ang PATH

    Ngayon isipin ang sitwasyon na mayroon kaming dalawang user: Joe (attacker) at Bob. Alam ni Joe na si Bob ay may mga pribilehiyo ng sudo na baguhin ang mga password ng user, kabilang ang root. Tsaka tamad si Bob at dagdag pa. sa PATH environment variable. Nagsusulat si Wile Joe ng isang programa na magpapabago sa root password, tinatawag itong ls at inilalagay ito sa isang folder kung saan gustong tingnan ni Bob. Ngayon, kapag ang huli ay napunta sa folder at gustong tingnan ang mga nilalaman nito, ang program na isinulat ni Joe ay isasagawa at ang root password ay papalitan. Samakatuwid, palagi naming sinusuri ang mga variable ng kapaligiran para sa pagkakaroon ng mga kagiliw-giliw na bagay, at para sa aming sarili ay gumuhit kami ng mga sumusunod na konklusyon:

    1. Hindi namin ito ginagamit. sa PATH variable.
    2. Kung ang punto ay naroroon pa rin, ilagay ito susunod na linya sa .bashrc o .profile:
      PATH= echo $PATH | sed -e "s/::/:/g; s/:.:/:/g; s/:.$//; s/^://"

    Mga gamit

    Upang i-automate ang paghahanap mahinang punto Maaari mong gamitin ang mga sumusunod na tool:

    1. Ang LinEnum ay isang bash script na gagawa ng lahat ng maruming gawain para sa iyo, na isinasagawa ang lahat ng mga pagsusuri na inilarawan sa cheat sheet na ito. Sa kabuuan mayroong mga 65 sa kanyang arsenal iba't ibang mga tseke, mula sa pagkuha ng impormasyon tungkol sa bersyon ng kernel hanggang sa paghahanap ng mga potensyal na interesanteng SUID/GUID file. Bilang karagdagan, maaari mong ipasa ang script keyword, na hahanapin nito sa lahat ng configuration at log file. Ang tseke ay sinimulan tulad ng sumusunod: ./LinEnum.sh -k keyword -r report -e /tmp/ -t . Matapos makumpleto ang pag-scan, bibigyan ka ng isang medyo detalyadong ulat, ang pinaka-kagiliw-giliw na mga lugar kung saan ay mai-highlight sa dilaw.
    2. LinuxPrivChecker - Isang script ng Python na kapaki-pakinabang din sa paghahanap ng mga potensyal na opsyon para sa dumaraming mga pribilehiyo. Sa pangkalahatan, ginagawa nito ang lahat ng parehong mga karaniwang bagay: pagsuri ng mga pribilehiyo, pagkuha ng impormasyon tungkol sa system... Ngunit ang pangunahing tampok nito ay pagkatapos makumpleto ang tseke, mag-aalok ito sa iyo ng isang listahan ng mga pagsasamantala na, sa opinyon nito, ay makakatulong. itaas ang mga pribilehiyo. Napakabuting tao :).
    3. unix-privesc-check - ang script na ito nagbibigay-daan sa iyo na maghanap ng mga opsyon para sa pag-level up ng mga pribilehiyo hindi lamang sa Linux, kundi pati na rin sa Solaris, HPUX, FreeBSD. Sinusubukan nitong tuklasin ang mga error sa pagsasaayos na magpapahintulot sa isang walang pribilehiyong user na tumaas sa system.
    4. g0tmi1k’s Blog - at ito ay isang blog kung saan ang lahat ng mga pagsusuri na ginagawa ng tatlong pinangalanang mga tool ay mahusay na inilarawan. Kaya't lubos kong inirerekumenda na tingnan mo doon at kilalanin mo ito upang maisip mo kung paano gumagana ang mga tool na ito mula sa loob.



    Naglalaman ang LinuxPrivChecker malaking listahan mga pagsasamantala, na patuloy na ina-update mula sa Exploit Database

    Afterword

    Tulad ng nakita mo, sa mundo ng Linux, ang pagtataas ng mga pribilehiyo ay karaniwan din. Ang sikreto ng tagumpay ay simple: upang makamit ang iyong layunin, kailangan mong maging matiyaga at alam kung saan hahanapin at kung ano ang hahanapin. Kung saan titingnan, alam mo na ngayon kung aling mga utility ang gagamitin para sa automation, kaya ngayon ay maaari mong lupigin hindi lamang ang isang win-system, kundi pati na rin ang isang nix-system. Go for it!