Szevasztok,
adott egy Debian Lenny-t futtató, PPPOE-gatewayként (pppd 2.4.3, RP-PPPoE plugin version 3.8, RADIUS pluginnal), tűzfalként funkcionáló gép, két merevlemeze szoftveresen van tükrözve 3-3 partícióval (egy /-nek, egy /srv-nek, és egy a swapnek).
Minden szépen működik, viszont a /tmp könyvtárban körülbelül percenként létrejön egy üres állomány:
# ls -latr --time-style=full-iso /tmp | tail -n 20
-rw------- 1 root root 0 2012-11-16 14:06:40.000000000 +0100 tmp.VcGFbBHtfV
-rw------- 1 root root 0 2012-11-16 14:06:50.000000000 +0100 tmp.ZAGSwCFeyq
-rw------- 1 root root 0 2012-11-16 14:06:55.000000000 +0100 tmp.adxGlxklmE
-rw------- 1 root root 0 2012-11-16 14:06:56.000000000 +0100 tmp.VAAGdUZlzn
-rw------- 1 root root 0 2012-11-16 14:08:01.000000000 +0100 tmp.JJXcpracwU
-rw------- 1 root root 0 2012-11-16 14:08:27.000000000 +0100 tmp.quBLugcUTh
-rw------- 1 root root 0 2012-11-16 14:09:11.000000000 +0100 tmp.IDZSlHVLHs
-rw------- 1 root root 0 2012-11-16 14:09:30.000000000 +0100 tmp.sJpjCHupQO
-rw------- 1 root root 0 2012-11-16 14:09:51.000000000 +0100 tmp.abXFbXtome
-rw------- 1 root root 0 2012-11-16 14:09:55.000000000 +0100 tmp.vZBCnlYgSS
-rw------- 1 root root 0 2012-11-16 14:10:00.000000000 +0100 tmp.HgPmxtnCGg
-rw------- 1 root root 0 2012-11-16 14:10:03.000000000 +0100 tmp.vtaNjjJGJX
-rw------- 1 root root 0 2012-11-16 14:10:30.000000000 +0100 tmp.nkXfBBQaaI
-rw------- 1 root root 0 2012-11-16 14:10:47.000000000 +0100 tmp.eiOkCfAksI
-rw------- 1 root root 0 2012-11-16 14:11:19.000000000 +0100 tmp.vLpmrbaYVc
-rw------- 1 root root 0 2012-11-16 14:11:58.000000000 +0100 tmp.DKmgDdujwM
-rw------- 1 root root 0 2012-11-16 14:12:33.000000000 +0100 tmp.JsUwPpGOsX
-rw------- 1 root root 0 2012-11-16 14:12:51.000000000 +0100 tmp.vcYwJDzNlF
-rw------- 1 root root 0 2012-11-16 14:12:52.000000000 +0100 tmp.fUOFFLJTPW
drwxrwxrwt 5 root root 82456576 2012-11-16 14:12:52.000000000 +0100 .
Kérdésem az lenne, hogyan deríthetném ki, mi hozza létre ezen állományokat?
Próbálkoztam az lsof illetve a fuser parancsokkal de nem jártam sikerrel.
Azért gond ez, mert ezen állományokat alapvetően semmi nem törli (hacsak nem külön cronból futtatott szkripttel a régi állományokat nem töröljük), ezzel inode-okat foglal el hasznos alkalmazások elől.
Válaszaitokat előre is köszönöm.
- 4025 megtekintés
Hozzászólások
"hogyan deríthetném ki, mi hozza létre ezen állományokat?"
Audit:
# auditctl -w /tmp/ -p w
Az audit logban megkapod a szükséges információkat.
- A hozzászóláshoz be kell jelentkezni
A '/bin/mktemp' parancs pont ilyen stílusban hoz létre fájlokat.
- A hozzászóláshoz be kell jelentkezni
Aha, köszi, ez már valami olyan, amin el lehet indulni.
- A hozzászóláshoz be kell jelentkezni
Le lehetne cserélni egy szkriptre, előbb kiírná a szülő processzeket:
pstree -H $$ -apl | grep $'[\033]' > /tmp/valami.$$
exec /bin/mktemp.original
Vagy valami ilyesmi.
- A hozzászóláshoz be kell jelentkezni
Végül meglett: az egyik szkriptben valamelyik adminisztrátor - hibakeresési célzattal - elhelyezett egy ilyesmit:
DEBUG=`mktemp`
majd ezt a DEBUG változót felhasználta egy parancs kimenetének lementésére. Ez utóbbit időközben megszüntette, viszont az előbbit nem. És erről nem értesített. Barack a fejére. ;)
Bár érdekes, hogy se az lsof, se az fuser nem vette észre.
- A hozzászóláshoz be kell jelentkezni
Azért nem "vette észre", mert a fájl nem volt nyitva, csupán addig, amíg a DEBUG=`mktemp`
lefutott.
- A hozzászóláshoz be kell jelentkezni
+1
--
A legértékesebb idő a pillanat amelyben élsz.
http://phoenix-art.hanzo.hu/
https://sites.google.com/site/jupiter2005ster/
- A hozzászóláshoz be kell jelentkezni
Ha még mindig aktívan nyitva tartaná az egyik fájlt egy processz, akkor az lsof
kimenetében találhatnál róla információt.
- A hozzászóláshoz be kell jelentkezni
Mint topiknyitó hozzászólásomban már utaltam rá, ez volt az első, amit megpróbáltam:
lsof -r1 +D /tmp
Meg így is:
lsof -r1 /tmp/tmp.*
De minduntalan csak ennyit kapok vissza:
=======
=======
=======
=======
és így tovább percekig...
No meg így is próbáltam - eredménytelenül:
lsof -r1 | grep tmp
fuser paranccsal is próbáltam - de nuku eredmény:
watch -n 1 fuser -a -v /tmp
- A hozzászóláshoz be kell jelentkezni