Keresés

Új hozzászólás Aktív témák

  • sh4d0w

    félisten

    LOGOUT blog

    válasz tordaitibi #94739 üzenetére

    Noh, akkor egy kis gyorstalpalo (nem bonyolult).

    1.

    Linux, MacOS nagyon hasonloan mukodik, Windows picit elter (miert is ne...), de az alapveto mukodes a kovetkezo, amikor terminalbol inditasz vmit:

    - user beirja, hogy "start.sh" / "start.exe"
    - elso ket rendszer eseten rendszer megnezi, hogy mi van a PATH kornyezeti valtozoban, nalam ez igy nez ki:
    echo ${PATH}
    /home/coresec/bin:/home/coresec/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
    - ezutan az elso ket rendszer vegigjarja ezeket az utvonalakat, keresve a user altal megadott allomanyt; Windows eloszor megnezi az aktualis konyvtarat, majd ugyanugy vegigjarja a PATH valtozoban megadottakat, mint a masik ketto
    - ha van talalat, elindul a program, ha nincs, file not found lesz a vege.

    Jogos kerdes: mi van, ha tobb utvonalon is megtalalhato ugyanolyan nevu allomany? Semmi, a rendszer az elso talalatot inditja es pont. Ha usernek specifikusan a masodik kellene, akkor megadja a program neve elott a teljes utvonalat es akkor az fog indulni:
    - tegyuk fel, van egy fdisk a /usr/bin alatt, meg egy a /usr/sbin alatt es egyik sem link a masikra; ilyenkor a nalam levo PATH alapjan a /usr/bin-ben levo fdisk indulna; ha azt akarom, hogy a masik induljon (mert ujabb, mert kezeli a GPT semat, mert jobbabb), akkor "/usr/sbin/fdisk" parancsot kellene megadnom (tetelezzuk fel, hogy userkent van jogom ehhez - by default egyebkent nincsen).

    Masodik jogos kerdes: miert nem kell az ls parancs elott semmi? Nyilvan azert, mert az ls parancs rajta van az egyik utvonalon, ami a PATH-ban meg van adva; ha azonban a sajat home-odban allva azt irod be, hogy ./ls, ugyanugy file not found lesz. Miert? Mert a . reprezentalja az aktualis konyvtarat, ahol allsz, tehat a fenti parancs arra utasitja a rendszert, hogy az aktualis konyvtarban levo ls parancsot futtassa (tetelezzuk fel, hogy nincs ilyen ott) - es pontosan ugyanez az oka, amiert a PTH-on kivul levo allomanyoknal meg kell adni a "./"-t (aktualis konyvtar), vagy a teljes eleresi utat (fenti peldaban /usr/sbin/fdisk).

    2.

    Jelszo a kornyezeti valtozokba:
    set CRED = "TestPassword" - ezzel a CRED nevu valtozoba teszed a jelszavadat
    echo $CRED | sudo -E /usr/sbin/fdisk (egyebkent hibat dob, de az fdisk, nem a sudo, tehat a jelszo atmegy) - ezzel meg kiolvasod a CRED valtozo tartalmat (azert van a $ jel az elejen), majd elkuldod a kimenetet a sudo-nak, ami utana meghivja emelt szintu jogosultsagokkal a hivatkozott programot. Nem kovetendo egyebkent ez a megoldas, de latszik, hogy nem csak ketfele modon lehet a jelszot tarolni, vagy bypass-olni.

    3.

    Van systemd az Ubuntun, meg Debianek is voltak olyan ostobak, hogy belelepjenek ebbe.

Új hozzászólás Aktív témák