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
