Hallo zusammen,

ich habe es nun selbst probiert: Das Problem sind die $-Zeichen, die vom grep-Befehl nicht gefunden werden. Ticket mit Lösung:

http://www.linuxmuster.net/flyspray/task/470


Viele Grüße

Jörg Richter


Am 09.07.2015 um 06:46 schrieb Alois Raunheimer:
aber nach "/etc/cron.daily/linuxmuster-base"sind alle wieder unlöschbar
für root da :-(

Da muss wohl jemand aus der "Entwicklungsabteilung" drüber schauen.

Gruß und gute Nacht

Alois

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

    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] <mailto:[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] <mailto:[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] <mailto:[email protected]>>:

                Hallo Thorsten,



                 > Am 07.07.2015 um 16:24 schrieb Thorsten Koslowski
                <[email protected]
                <mailto:[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]
                <mailto:[email protected]>
                https://mail.lehrerpost.de/mailman/listinfo/linuxmuster-user







_______________________________________________
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