Jelszót veszélyes lehet paraméterként megadni, mert az a w parancs kimenetében megjelenik minden felhasználónak.
A w parancs kimenetében látszik:
andras pts/0 :0.0 18:34 17.00s 0.41s 0.00s /bin/bash ./progi.sh --jelszo=titok
Ha például Mindnight Commanderben indítom, akkor ez probléma megszűnik. A ps ax kimenet azonban megintcsak visszaadja:
2783 pts/1 S+ 0:00 /bin/bash ./progi.sh --jelszo=titok
Ha egy scriptbe teszem nem segít, mert a ps ax kimenetében szintén látszik. Persze ehhez el kell kapni azt a pillanatot, amikor a program, vagy script lefut. Ha futás továbbtart akkor a jelszó biztosan elkapható.
Készítsünk egy scriptet amely 10 percig várakozik:
#!/bin/bash echo "Várakozsá 10 percig" sleep 600
Most írjunk egy scriptet, amelyik meghívja a várakozó scriptet megadva a titkos jelszót:
#!/bin/bash ./var.sh --jelszo='titok'
Most indítsuk el a hasznal.sh scriptet, majd keressük meg var.sh futó programot a ps ax kimenetében:
./hasznla.sh ps ax
Az olyan programokat, shell scripteket, amelyek jelszót várnak, inkább kéressük be. A példa kedvéért a mysql kliens program a jelszót képes felvenni paraméterként:
mysql -u root --password='titok'
De inkább használjuk így:
mysql -u root -p
Így bekéri.
A /tmp könyvtárat minden felhasználó írhatja. Ha írunk egy rövid scriptet, amely ezt megtölti, akkor a rendszer behal.
A tmp könyvtárat tegyük külön partícióra. Ha már használjuk a rendszert, a /tmp könyvtár külön tehető, hiszen annak tartalma minden újrainduláskor törlődik.
A csatoláshoz egyszerűen be kell jegyezni a /etc/fstab fájlba.
/dev/sdd1 /tmp ext4 nodev,nosuid 0 0
Esetleg, ha ramdiskként szeretnénk csatolni:
none /tmp tmpfs defaults 0 0