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
