Czy ktoś ma pomysły / porady / poradniki / linki jak pisać skrypty bash ?
Gdzieś wyczytałem w poradnikach ze
gdy z poziomu uzytkownika wykonuje skrypt lub jakas komende w systemie jako root
( loguje sie na konto root aby wykonac komende) , to
zmieniając np. $PATH mogę podmienić dowolna komendę i za pomocą jej dostać się na konto root.
Polecili pisać komendy z ich ścieżkami.
Chcialem tego uniknac, czyli zmienna $PATH musialby zawierac tylko " /bin:/usr/bin:/sbin:/usr/sbin "
Poradniki polecaja takie opcje jak
bash --login --noprofile --norc
http://www.linux.pl/man/index.php?command=bashhttp://www.linux.pl/man/index.php?command=envTylko jak to wdrozyc w zycie?
Zwykle na poczatku pliku jest
Czy
da sie zrobic będzie działać ?
#!/bin/bash --login --noprofile --norc
albo
#!/usr/bin/env --ignore-environment bash
Edytowanne 2.10.2019W kazdym razie mi to nie dziala.
Probowalem jeszcze gdzies indziej pytac i mam nadal metlik w glowie.
Raz mi ktos na pisal ze moge dodac jeden argument do "shebang", a inna osoba ze nie moge.
Tutaj
https://pl.wikipedia.org/wiki/Shebangmozna przeczytac ze
W niektórych wariantach Uniksa możliwe jest też podawanie parametrów, np.:
No to teraz jak ja mam naprawic swojego Linuxa zeby to bylo mozliwe dla bash?

Ja sobie jakos poradze
- Usuwajac niebezpieczne ustawienia, zmienne i zabezpieczajac plik
chattr +i /home/uzytkownik/.bash_profile
oraz inne pliki ( .bash_logout .bash_profile .bashrc ) . Ale nie jest to wygodne. Zwlaszcza gdybym chcial sie podzielic skryptem.
- Uzywanie tylko " #!/bin/bash " i podmienianie zmiennej $PATH w skrypcie, ale to nie gwarantuje bezpieczenstwa. :/
I gdy bede chcial sie podzielic skryptem to nie moge zagwarantowac ze bedzie on odporny na zlosliwe zmienne srodowiskowe.
Taki przyklad "zlosliwych zmiennych" / zlosliwego basha mozna zobaczyc tutaj
https://stackoverflow.com/questions/16365130/what-is-the-difference-between-usr-bin-env-bash-and-usr-bin-bash/55927235#55927235