Hier http://www.admin-magazin.de/News/Tipps/ADMIN-Tipp-Unloeschbare-Files
habe ich eine mögliche Lösung des Problems gefunden. Nach "chattr -i r426-c16" konnte ich die Datei "r426-c16" löschen. Nur wer setzt solche Attribute? Gruß Alois Am 9. Juli 2015 um 00:29 schrieb Alois Raunheimer < [email protected]>: > Hallo Thorsten, > > auch ich habe 144 Dateien in "/var/cache/linuxmuster/logins" die weder von > dem Skript "/etc/cron.daily/linuxmuster-base" noch händisch zu löschen sind. > > Nach dem Ausführen von "/etc/cron.daily/linuxmuster-base" haben alle diese > Dateien den Zeitstempel mit der Uhrzeit zu der das Skript ausgeführt wurde. > > Gruß > > Alois > > Am 7. Juli 2015 um 10:46 schrieb Jörg Richter <[email protected]>: > >> Hallo Thorsten, >> >> >> >> > Am 07.07.2015 um 16:24 schrieb Thorsten Koslowski < >> [email protected]>: >> > >> > Hallo! >> > >> > Ich möchte mal laut denken, vielleicht kommt dann die Erkenntnis. Oder >> jemand von Euch kann mich erhellen. >> > >> >> Bleibt die Frage: Wer oder was hat das Attribut gesetzt? Ich >> jedenfalls nicht! >> > >> > Die letzte Aussage stimmt. Die Attribute werden scheinbar von Samba so >> gesetzt. Sind User an den Maschinen angemeldet haben diese Dateien folgende >> Attribute und Rechte: >> > >> > #: lsattr /var/cache/linuxmuster/logins/* >> > ----i--------e- /var/cache/linuxmuster/logins/e111-pc01 >> > >> > #: ls -l /var/cache/linuxmuster/logins/* >> > -rw-rw-rw- 1 root root 3 Jul 7 09:40 >> /var/cache/linuxmuster/logins/e111-pc01 >> > >> > Melden sich die User ab, dann werden die Dateien ordentlich abgeräumt. >> > Soweit so gut. >> > >> > Morgens kommt das folgende Script und soll aufräumen: >> > #: cat -n /etc/cron.daily/linuxmuster-base >> > >> > 13 # checking for dead logins and remove them >> > 14 if check_empty_dir "$LOGINCACHE"; then >> > 15 echo "$LOGINCACHE is empty. Doing nothing." >> > 16 exit 0 >> > 17 fi >> > 18 >> > 19 cd $LOGINCACHE >> > 20 >> > 21 for h in *; do >> > 22 >> > 23 chattr -i "$h" >> > 24 >> > 25 for u in `cat $h`; do >> > 26 >> > 27 if ! smbstatus -b -d 0 -u "$u" | grep -w "$u" | grep >> -qw "$h"; then >> > 28 >> > 29 locker="/tmp/.samba-userlog_${h}.lock" >> > 30 lockfile -l 5 "$locker" >> > 31 echo "Removing user $u from login cache ..." >> > 32 grep -vw "$u" "$h" > "$h.tmp" >> > 33 mv "$h.tmp" "$h" >> > 34 rm -f "$locker" >> > 35 >> > 36 fi >> > 37 >> > 38 done >> > 39 >> > 40 if [ -s "$h" ]; then >> > 41 >> > 42 chattr +i "$h" >> > 43 >> > 44 else >> > 45 >> > 46 locker="/tmp/.samba-userlog_${h}.lock" >> > 47 lockfile -l 5 "$locker" >> > 48 echo "Removing host $h from login cache ..." >> > 49 rm "$h" >> > 50 rm -f "$locker" >> > 51 >> > 52 fi >> > 53 >> > 54 done >> > >> > Was mir nicht einleuchten will: >> > >> > Warum wird in Zeile 40 überprüft ob das Login-File vorhanden ist und >> größer als 0? Wenn es da ist, warum wird es nicht gelöscht sondern das >> Attribute +i wieder gesetzt? >> > >> > OK, das Schreiben hat noch nicht die Erleuchtung gebracht. Entweder das >> Absenden bringt sie. Wenn nicht wäre es schön, wenn jemand von Euch die >> Zeit finden könnte sie mir zu bringen. >> > >> > Beste Grüße >> > >> > Thorsten >> >> Ab Zeile 27 werden ja nur solche User aus der Datei entfernt, die derzeit >> nicht angemeldet sind. Umgekehrt: Ist noch jemand angemeldet, so bleibt er >> in der Datei und diese wird nicht gelöscht. >> >> Vielleicht kommt da dieses Skript nicht mit den $-Zeichen zurecht. >> Schreib doch einfach mal testweise einen Dummy-User mit $ am Ende hinein >> und lass das Skript laufen. >> >> Viele Grüße >> >> Jörg Richter >> >> _______________________________________________ >> linuxmuster-user mailing list >> [email protected] >> https://mail.lehrerpost.de/mailman/listinfo/linuxmuster-user >> > >
_______________________________________________ linuxmuster-user mailing list [email protected] https://mail.lehrerpost.de/mailman/listinfo/linuxmuster-user
