syslog.warten.de

95

perl -ne 'print lc' foo

94

#!/bin/bash
for DIR in /data/*
do
    PERM=`ls -ld ${DIR} | cut -f1 -d" "`
     if [ ${PERM} != "drwxrwxrwx" ]
     then
         chmod 777 ${DIR}
    fi
done

93

#!/bin/bash
pwd=`pwd`
find ${pwd} -type f -name *.rar | 
while read "file"
do
    directory=`dirname ${file}`
    filename=`basename ${file}`
    let number=${#filename}-2
    cd ${directory}
    unrar x ${filename}
    if [ $? -eq 0 ]; then
            rm  ${filename:0:${number}}*
    else
            echo ERROR: unrar failed on $file
    fi
    cd ${pwd}
done

92

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 12345678

89

Nach Prüfung der vorhandenen Einträge hiermit alle meine Kommentare, die ohne Authentifizierung erfolgten, meinem User in Movable Type zugeordnet:

UPDATE
    `mt_comment`
SET 
    `comment_commenter_id` = 1, 
    `comment_email` = 'sw@example.com', 
    `comment_created_by` = 1
WHERE 
    `comment_author` = 'sw'
    AND isnull(`comment_commenter_id`)
    AND isnull(`comment_created_by`);

88

echo Hello, world!

Papierkorb Für Samba

Der Gedanke, dass Dateien, die auf dem Fileserver liegen, von den Benutzern versehentlich gelöscht werden könnten und diese dann nur aus den Backups wiederherzugestellen seien, ließ dem Vorgesetzten zwanzig graue Haare wachsen und mich nach einer Lösung suchen. Die besteht aus dem VFS-Modul recycle für Samba, dass die Papierkorb-Funktion von Windows nachahmt. Wird es benutzt, werden UNLINK-Befehle abgefangen, und die Datei in den recycle-Ordner verschoben, anstatt gelöscht zu werden.

Bei Verfügbarkeit des Moduls sollte im Bibliotheksverzeichnis von Samba unter vfs die Datei recycle.so zu finden sein, üblicherweise /usr/lib/samba/vfs/recycle.so auf Linux oder /usr/local/lib/samba/vfs/recycle.so auf BSD.

Am Beispiel einer für alle Benutzer zugänglichen Freigabe sei die Konfiguration gezeigt. Mit der Definition von vfs object = recycle wird das Modul geladen und danach weitere Parameter übergeben. Eine Erklärung zu den Optionen ist der Dokumentation zu entnehmen.

[public]
path = /var/fileserver/public
writeable = Yes
browseable = Yes
create mask = 0666
directory mask = 0777
vfs object = recycle
recycle:repository = .recycle
recycle:keeptree = Yes
recycle:touch = Yes
recycle:versions = Yes
recycle:maxsize = 0
recycle:directory_mode = 0777

Das Verzeichnis .recycle wird automatisch in oberster Ebene der Freigabe angelegt und eine gelöschte Dateien und Verzeichnisse nun dort hin verschoben.

Passwort Von Windows-Benutzerkonto Zurücksetzen

Wenn das Zugangspasswort für ein Benutzerkonto im Windows unbekannt ist und zurückgesetzt werden soll, kann auch der Linux-Admin schnell Abhilfe leisten. Hierzu bedarf es lediglich eines Bootmediums mit Linux und dem Tool chntpw. In meinem Fall ist das ein USB-Stick mit GRML, das chntpw bereits mitbringt.

Ist das System gestartet, wird die Windows-Partition gemountet und in das Verzeichnis WINDOWSSystem32config gewechselt. Dort liegt die Datei SAM, die die Accountdaten, also auch die Passwort-Hashes, beinhaltet.

# mkdir /mnt/windows
# ntfs-3g /dev/sda1 /mnt/windows
# cd /mnt/windows/WINDOWS/system32/config

Mit dem folgenden Kommando kann man sich die einzelnen Konten anzeigen lassen…

# chntpw -l SAM

…und dann zur Tat schreiten und das Passwort löschen oder neu setzen:

# chntpw -u username SAM

Im letzten Kommando ist ‘username’ dabei selbstverständlich durch den Benutzernamen des Windows-Kontos zu ersetzen.

Austausch Defekter Festplatte Bei Hetzner

Auf einen Hilfssystem, das wir von Hetzner hosten lassen, stellte ich gestern einen Hardwaredefekt bei einer der beiden Festplatten des RAID-1-Verbunds fest. Das RAID war degraded und in der dmesg waren die typischen Ausgaben zu finden.

ata2: EH complete
SCSI device sdb: 976773168 512-byte hdwr sectors (500108 MB)
sdb: Write Protect is off
sdb: Mode Sense: 00 3a 00 00
SCSI device sdb: drive cache: write back
ata2.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0
ata2.00: (irq_stat 0x40000008)
ata2.00: tag 0 cmd 0x60 Emask 0x9 stat 0x41 err 0x40 (media error)
sd 1:0:0:0: SCSI error: return code = 0x08000002
sdb: Current: sense key: Medium Error
Additional sense: Unrecovered read error - auto reallocate failed
end_request: I/O error, dev sdb, sector 976767110
ata2: EH complete
SCSI device sdb: 976773168 512-byte hdwr sectors (500108 MB)
sdb: Write Protect is off
sdb: Mode Sense: 00 3a 00 00
SCSI device sdb: drive cache: write back
ata2.00: WARNING: zero len r/w req
ata2.00: WARNING: zero len r/w req
ata2.00: WARNING: zero len r/w req
ata2.00: WARNING: zero len r/w req> ata2.00: WARNING: zero len r/w req
ata2.00: WARNING: zero len r/w req
raid1: Disk failure on sdb2, disabling device.
Operation continuing on 1 devices
RAID1 conf printout:
--- wd:1 rd:2
disk 0, wo:0, o:1, dev:sda2
disk 1, wo:1, o:0, dev:sdb2
RAID1 conf printout:
--- wd:1 rd:2
disk 0, wo:0, o:1, dev:sda2

Kurz den Support bei Hetzner angeschrieben und den Sachverhalt geschildert, bekam ich nach zehn Minuten die erste Antwort und zwei weitere Mails (insgesamt etwa eine halbe Stunde) später hatte ich einen Termin am nächsten Morgen für den Austausch der Platte. Versprochene Downtime war etwa zehn Minuten.

Den Termin und die Downtime hat Hetzner eingehalten. Die neue Platte mußte ich nur noch partitionieren und ins RAID einbinden. Fertig.

sfdisk -d /dev/sda | sfdisk /dev/sdb
mdadm --add /dev/md0 /dev/sdb1
mdadm --add /dev/md1 /dev/sdb2
grub-install /dev/sdb

Ich bin sehr zufrieden mit Hetzner. Von manch anderem Massenhoster kenne ich deutlich unprofessionelleres Vorgehen bei Hardwaredefekten dieser Art.