Szeretnénk törölni egy felhasználó teljes profilját és a hozzá tartozó fájlokat a szerver különböző részein.
A userdel parancs
A userdel parancsot fogjuk használni root-ként:
userdel krisztian
ha a home könyvtárát is szeretnénk törölni, akkor az -r kapcsoló is szükséges
userdel -r krisztian
A fenti paranccsal sikerült a krisztian felhasználó home könyvtárát és tartalmát törölni és az üzenet sorát.
Ha a szerveren máshol is létrehozhatott fájlt, akkor azt manuálisan kell megkeresni és törölni.
Az /etc/login.defs és az /etc/deluser.conf
Az /etc/login.defs fájl RHEL disztróhoz kapcsolódó konfig fájl. A login csomag beállításait tartalmazza. Ebben található egy USERDEL_CMD változó, ha definiálva van, akkor ez a parancs fut le, amikor eltávolítunk egy felhasználót. Ez el tudja távolítani az at/cron/print munkákat, amelyek
az eltávolított felhasználó tulajdonában vannak.
Az /etc/deluser.conf fájl a Debian disztróhoz kapcsolódó konfig fájl. Itt már kimondottan a felhasználó törléset konfigurálhatjuk. Pár változó REMOVE_HOME, REMOVE_ALL_FILES, ha értékük 1, akkor a home könyvtár és a felhasználó tulajdonában lévő összes fájl törlődik.
Egy teljes példa
Feltételezzük, hogy egy munkatársunk (kollega) elment a cégtől. Először is zároljuk a felhasználót:
passwd -l kollega
Elmentjük a biztonság kedvéért a home könyvtárát:
tar -zcvf /backup/elmentek/kollega.$uid.$datum.tar.gz /home/kollega/
Itt a $uid, $datum megfelelő értékkel helyettesítendő. Keressük meg ezután, hogy van-e futó folyamata a felhasználónak:
pgrep -u kollega
ps -fp $(pgrep -u kollega)
killall -KILL -u kollega
Most már törölhetjük a felhasználót:
userdel -r kollega
Töröljük at, cron és a print bejegyzéseit:
find /var/spool/at/ -name "[^.]*" -type f -user kollega -delete
crontab -r -u kollega
lprm kollega
Megkeressük az összes fájlt, ami a tulajdonában van:
find / -user kollega -print
Sőt akár egy másik kolléga tulajdonába adjuk őket:
find / -user kollega -exec chown ujkollega:ujcsoportneve {} ;
Így már biztos sikerült a kollega felhasználó összes könyvtárát és fájljait megfelelően kezelni.