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

### eingesetztes System ###

LINUXMUSTER.NET
Die _freie_ Linux Musterlösung 

  - virtualisiert unter KVM
    + Server
        Codename Babo
        6.1.0-30ubuntu0
    + IPFire
        Core 91
    + coovachilli auf Blau 
 - Linbo 2.2.16

###################
_______________________________________________
linuxmuster-user mailing list
[email protected]
https://mail.lehrerpost.de/mailman/listinfo/linuxmuster-user

Antwort per Email an