Nochmal ich

mit "chattr -i *" im Verzeichnis "/var/cache/linuxmuster/logins" kann man
anschließend alle Dateien löschen.

Gruß

Alois

Am 9. Juli 2015 um 00:39 schrieb Alois Raunheimer <
[email protected]>:

> 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

Antwort per Email an