BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Automatisch ZFS Snapshots erstellen

Verwendet man das ZFS Dateisystem, können mit zfs-snapshot-mgmt regelmässig automatisch ZFS Snapshots erstellt werden. Im FreeBSD Portbaum findet man zfs-snapdhot-mgmt unter sysutils/zfs-snapshot-mgmt:

# cd /usr/ports/sysutils/zfs-snapshot-mgmt && make install clean

Nun kann unter /usr/local/etc/zfs-snapshot-mgmt.conf eine Konfiguration erstellt werden, in der festgelegt wird, wann Snapshots erstellt werden sollen, wie lange die verschiedenen Snapshots erhalten bleiben sollen und wann sie dementsprechend automatisch wieder gelöscht werden:

# Automatic ZFS snapshot management configuration file
#
# This is a YAML file (see http://www.yaml.org)
# Use exactly 2 spaces for each indentation level
#
snapshot_prefix: auto-
filesystems:
  tank/home:
    # Create snapshots every 10 minutes, starting at midnight
    creation_rule:
      at_multiple: 10
      offset: 0
    # Keep all snapshots for the first 90 minutes,
    # then only those that were created at 30 minute intervals for 12 hours
    # (after snapshot creation),
    # then only those that were created at 3 hour intervals, counting at 2:00
    # (i.e. 2:00, 5:00, 8:00, 11:00, 14:00, 17:00, 20:00, 23:00)
    # for 7 days
    preservation_rules:
      - { for_minutes:    90, at_multiple:    0, offset:    0 }
      - { for_minutes:   720, at_multiple:   30, offset:    0 }
      - { for_minutes: 10080, at_multiple:  180, offset:  120 }
  tank/ports:
    # Create snapshots every 24 hours, starting at 20:00.
    creation_rule:
      at_multiple: 1440
      offset: 1200
    # Keep daily snapshots created at 20:00 (in this case all).
    preservation_rules:
      - { for_minutes: 5760, at_multiple: 1440, offset: 1200 }

Ist die Konfiguration erstellt, kann der benötigte crontab-Eintrag gemacht werden, so dass die Snapshots automatisch erstellt und gelöscht werden:

# echo "*/5 * * * *       root   /usr/local/bin/zfs-snapshot-mgmt" >> /etc/crontab

Die aktuell vorhandenen Snapshots können mit zfs list angezeigt werden:

# zfs list
NAME                               USED  AVAIL  REFER  MOUNTPOINT
tank                              3,06G  11,6G    18K  /tank
tank/home                          982M  11,6G   770M  /usr/home
tank/home@auto-2008-09-06_10.00   65,3M      -   682M  -
tank/home@auto-2008-09-07_11.00   54,4M      -   682M  -
tank/home@auto-2008-09-07_16.00       0      -   682M  -
tank/home@auto-2008-09-07_21.00       0      -   682M  -
tank/home@auto-2008-09-08_22.00       0      -   682M  -
tank/home@auto-2008-09-09_13.00       0      -   682M  -
tank/home@auto-2008-09-09_18.00       0      -   682M  -
tank/home@auto-2008-09-09_23.00       0      -   682M  -
tank/home@auto-2008-09-10_09.00       0      -   682M  -
tank/home@auto-2008-09-10_14.00       0      -   682M  -
tank/home@auto-2008-09-11_00.00       0      -   682M  -
tank/home@auto-2008-09-11_10.00       0      -   682M  -
tank/home@auto-2008-09-11_15.00     36K      -   682M  -
tank/home@auto-2008-09-12_09.00    286K      -   746M  -
tank/home@auto-2008-09-12_09.30    247K      -   746M  -
tank/home@auto-2008-09-12_10.00     49K      -   763M  -
tank/home@auto-2008-09-12_10.30       0      -   763M  -
tank/home@auto-2008-09-12_11.00       0      -   763M  -
tank/home@auto-2008-09-12_11.30       0      -   763M  -
tank/home@auto-2008-09-12_12.00       0      -   763M  -
tank/home@auto-2008-09-12_12.30       0      -   763M  -
tank/home@auto-2008-09-12_13.00       0      -   763M  -
tank/home@auto-2008-09-12_13.30     29K      -   770M  -
tank/home@auto-2008-09-12_14.00       0      -   770M  -
tank/home@auto-2008-09-12_14.30       0      -   770M  -
tank/home@auto-2008-09-12_14.50       0      -   770M  -
tank/home@auto-2008-09-12_15.00       0      -   770M  -
tank/home@auto-2008-09-12_15.10       0      -   770M  -
tank/home@auto-2008-09-12_15.20       0      -   770M  -
tank/home@auto-2008-09-12_15.30       0      -   770M  -
tank/home@auto-2008-09-12_15.40       0      -   770M  -
tank/home@auto-2008-09-12_15.50       0      -   770M  -
tank/home@auto-2008-09-12_16.00       0      -   770M  -
tank/home@auto-2008-09-12_16.10       0      -   770M  -
tank/obj                          1,62G  11,6G  1,62G  /usr/obj
tank/ports                         800M  11,6G   800M  /usr/ports
tank/ports@auto-2008-09-09_10.00    36K      -   493M  -
tank/src                           493M  11,6G   493M  /usr/src

Mehr Informationen findet man in der Manpage zfs-snapshot-mgmt(8). Eine Einführung in das Arbeiten mit ZFS und ZFS Snapshots findet man hier: http://www.chruetertee.ch/blog/archive/2007/05/26/zfs-auf-freebsd.html

Related Entries:
ZFS-Statistiken anzeigen
ZFS-Installation mit Hilfe von mfsBSD
FreeBSD nur auf ZFS installieren
Alle Änderungen eines ZFS-Pools anzeigen
ZFS Dateisystemoptionen verwenden
Comments (2)  Permalink

SSH Schlüssel mit ssh-agent verwalten

Mit Hilfe eines Public Keys kann man sich ohne eine Passworteingabe an einem Rechner anmelden. Trotzdem sollte der Schlüssel selbst mit einem Passwort versehen werden, so dass bei jeder SSH Verbindung ein Passwort eingegeben werden muss. Mit Hilfe von ssh-agent kann der Schlüssel gespeichert werden, so dass das Passwort nur einmal eingegeben werden muss. Dazu muss zuerst eine Shell mit ssh-agent gestartet werden, in welcher die Schlüssel ohne Passwort verwendet werden können:

# ssh-agent tcsh

Danach können die Schlüssel mit Hilfe von ssh-add hinzugefügt werden. ssh-add sucht dabei nach vorhandenen Schlüsseln und fragt nach den Schlüsselpasswort:

#  ssh-add 
Enter passphrase for /home/beat/.ssh/id_rsa: 
Identity added: /home/beat/.ssh/id_rsa (/home/beat/.ssh/id_rsa)

Nun kann man sich ohne weitere Passworteingabe an einem Rechner anmelden:

# ssh <Benutzer>@<Rechner>

Mit Hilfe der -l Option können alle gespeicherten Schlüssel angezeigt werden:

# ssh-add -l
2048 4d:3a:53:64:46:69:51:61:4b:62:93:66:77:ff:42:88 /home/beat/.ssh/id_rsa (RSA)

Ruft man ssh-add mit der -x Option auf, wird man nach einem Passwort gefragt und der ssh-agent wird gesperrt:

# ssh-add -x
Enter lock password: 
Again: 
Agent locked.

Ist der Agent gesperrt und man versucht sich wieder mit SSH zu verbinden, wird man wieder nach dem Passwort gefragt:

# ssh <Benutzer>@<Rechner>
Enter passphrase for key '/home/beat/.ssh/id_rsa':

Mit Hilfe der -X Option kann der Agent wieder entsperrt werden:

# ssh-add -X
Enter lock password: 
Agent unlocked.

Verwendet man den Schlüssel nicht mehr, so kann der ssh-agent mit Hilfe der -k Option beendet werden:

# ssh-agent -k
unsetenv SSH_AUTH_SOCK;
unsetenv SSH_AGENT_PID;
echo Agent pid 7747 killed;

Sowohl auf FreeBSD als auch auf OpenBSD ist ssh-agent und ssh-add im Basissystem vorhanden. Mehr Informationen findet man in den Manpages ssh-agent(1) und ssh-add(1).

Comments (2)  Permalink

Pakete mit Abhängigkeiten herunterladen

Mit Hilfe von pkg_fetch können FreeBSD Pakete heruntergeladen werden, ohne dass die Pakete installiert werden. pkg_fetch wird als Teil von portupgrade installiert, welches man im Portsbaum unter ports-mgmt/portupgrade findet:

# cd /usr/ports/ports-mgmt/portupgrade make install clean

Nun kann das gewünschte Paket heruntergeladen werden:

# pkg_fetch newsbeuter
--->  Fetching newsbeuter-1.0
/var/tmp/portupgradehUUJ0aUL/newsbeuter-1.0.tb 100% of 2025 kB   10 MBps
--->  Downloaded as newsbeuter-1.0.tbz
--->  Identifying the package /var/tmp/portupgradehUUJ0aUL/newsbeuter-1.0.tbz
--->  Saved as /usr/ports/packages/All/newsbeuter-1.0.tbz

Sollen alle weiteren Pakete, von welchen das Paket abhängig ist, heruntergeladen werden, so kann die -R Option verwendet werden:

# pkg_fetch -R <Paket>

Mehr Informationen zu pkg_fetch findet man in der Manpage pkg_fetch(1).

 Permalink

master.passwd mit vipw bearbeiten

Möchte man die /etc/master.passwd manuell bearbeiten, so empfiehlt es sich, dazu vipw zu verwenden. Startet man vipw, wird zuerst die /etc/master.passwd gesperrt. Wird nun vipw parallel nochmals gestartet, so wird ein Fehler ausgegeben:

# vipw 
vipw: the password db file is busy

Ist die master.passwd nicht gesperrt, wird ein Editor gestartet, womit die master.passwd bearbeitet werden kann. Beim Speichern der Datei wird sie auf syntaktische Fehler überprüft:

pwd_mkdb: corrupted entry
pwd_mkdb: at line #34
pwd_mkdb: /etc/pw.nK2GGB: Inappropriate file type or format
re-edit the password file? y

Werden keine Fehler gefunden, wird die Datei abgespeichert, die /etc/passwd generiert und die spwd.db und pwd.db mit Hilfe von pwd_mkdb automatisch erstellt.

Auf FreeBSD ist vipw bereits im Basissystem vorhanden. Mehr Informationen zu vipw findet man in der Manpage vipw(8).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Gestartete Prozesse aufzeichnen

Auf FreeBSD können aus Sicherheitsgründen oder zur Kontrolle der Benutzer alle gestarteten Prozesse aufgezeichnet werden. Dazu muss zuerst die entsprechende Logdatei angelegt werden.

# touch /var/account/acct

Nun kann das Aufzeichnen mit Hilfe von accton gestartet werden:

# accton /var/account/acct

Soll das Aufzeichnen bei einem Neustart des Systems automatisch wieder gestartet werden, muss ein entsprechender Eintrag in der /etc/rc.conf gemacht werden:

# echo 'accounting_enable="YES"' >> /etc/rc.conf

Nun können die auf dem System ausgeführten Prozesse mit Hilfe von lastcomm ausgelesen werden. Dabei werden die gebrauchte CPU-Zeit und der Zeitpunkt, an dem der Prozess gestartet wurde, angezeigt:

# lastcomm | head
cron             -F      root             __        0.001 secs Sat Aug 16 14:03
sh               -       beat             __        0.004 secs Sat Aug 16 14:03
sh               -       beat             __        0.007 secs Sat Aug 16 14:03
fetch            -       beat             __        0.008 secs Sat Aug 16 14:03
sh               -       beat             __        0.005 secs Sat Aug 16 14:03
rm               -       beat             __        0.001 secs Sat Aug 16 14:03
sh               -F      beat             __        0.001 secs Sat Aug 16 14:03
awk              -       beat             __        0.002 secs Sat Aug 16 14:03
sh               -F      beat             __        0.000 secs Sat Aug 16 14:03
date             -       beat             __        0.002 secs Sat Aug 16 14:03

Nun kann mit lastcomm auch abgefragt werden, welcher Prozess wann gestartet wurde. Die -S Option zeigt die Startzeit des Prozesses an, die -E Option die Zeit, zu welcher der Prozess beendet wurde:

# lastcomm -SE mysqlcheck
mysqlcheck       -       root             __       Sat Aug 16 04:59 Sat Aug 16 05:03
mysqlcheck       -       root             __       Sat Aug 16 04:27 Sat Aug 16 04:59

Auch können die gestarteten Prozesse eines Benutzers ausgelesen werden:

#  lastcomm beat | head
sh               -       beat             __        0.004 secs Sat Aug 16 14:18
sh               -       beat             __        0.007 secs Sat Aug 16 14:18
fetch            -       beat             __        0.008 secs Sat Aug 16 14:18
sh               -       beat             __        0.005 secs Sat Aug 16 14:18
rm               -       beat             __        0.001 secs Sat Aug 16 14:18
sh               -F      beat             __        0.001 secs Sat Aug 16 14:18
awk              -       beat             __        0.002 secs Sat Aug 16 14:18
sh               -F      beat             __        0.000 secs Sat Aug 16 14:18
date             -       beat             __        0.002 secs Sat Aug 16 14:18
sh               -F      beat             __        0.001 secs Sat Aug 16 14:18

Möchte man in Echtzeit anschauen, welche Prozesse ausgeführt werden, so kann folgender Befehl verwendet werden:

#  tail -f -c 0 /var/account/acct | lastcomm -f -
pt_chown         -       root             __        0.002 secs Sat Aug 16 14:10
csh              -F      beat             ttyp2     0.001 secs Sat Aug 16 14:10
[                -       beat             ttyp2     0.002 secs Sat Aug 16 14:10
sleep            -       root             __        0.001 secs Sat Aug 16 14:08
id               -       root             __        0.002 secs Sat Aug 16 14:10
sh               -F      root             __        0.000 secs Sat Aug 16 14:10
sed              -       root             __        0.002 secs Sat Aug 16 14:10
sh               -F      root             __        0.001 secs Sat Aug 16 14:10
dirname          -       root             __        0.001 secs Sat Aug 16 14:10
realpath         -       root             __        0.002 secs Sat Aug 16 14:10
perl5.8.8        -       root             __        0.197 secs Sat Aug 16 14:10
sh               -       root             __        0.012 secs Sat Aug 16 14:10
sh               -F      root             __        0.001 secs Sat Aug 16 14:10
head             -       root             __        0.002 secs Sat Aug 16 14:10
[...]

Mit Hilfe von sa können nun Statistiken aus den gesammelten Daten erstellt werden. Mit Hilfe der -m Option kann eine Statistik pro Systembenutzer erstellt werden. In der ersten Spalte wird der Benutzername, in der zweiten die Anzahl aufgerufener Befehle, in der dritten Spalte die verbrauchte CPU Zeit in Minuten und in der vierten Spalte die Anzahl I/O Operationen angezeigt. Die letzte Spalte zeigt das "CPU storage Integral" an.

Die Informationen aus /var/account/acct werden regelmässig zusammengefasst und in zwei Dateien namens /var/account/savacct und /var/account/usracct geschrieben. Sollen diese Zusammenfassungen von sa nicht konsultiert werden, kann die -i Option verwendet werden:

# sa -m
root                355295 2469616839080897.00cpu 4680095707762672640tio4716451977516570624k*sec
operator              1320 2444245624632115.00cpu 4619567317775286272tio4673811998809535488k*sec
sshd                    24 2438677375134378.50cpu            0tio4657441095305658368k*sec
smmsp                   46 2433793290438792.50cpu 4621256167635550208tio4663265208397997056k*sec
beat                 55809 2457577981511816.50cpu 4624633867356078080tio4700035557291664384k*sec
guest                  195 2446241946682436.50cpu 4638496509959077888tio4669250949699600384k*sec
nobody                 384         1.32cpu       183408tio       23944k*sec
# sa -mi
root                 26203         8.28cpu       414130tio     1569806k*sec
operator               840         0.05cpu           10tio       53464k*sec
sshd                     6         0.00cpu            0tio         850k*sec
smmsp                   31         0.00cpu           61tio        9326k*sec
beat                 35755         2.30cpu          225tio     2961561k*sec
nobody                 384         1.32cpu       183408tio       23944k*sec

Ruft man sa ohne Optionen auf, werden die Statistiken pro Befehl angezeigt.:

#  sa | head
    6734      10.511re       10.46cp        0avio     6866k   cc1
    1992       7.495re        6.51cp        0avio     2122k   perl5.8.8
    1017       9.142re        4.22cp       16avio     1148k   bsdtar
   46443     484.530re        3.28cp        0avio    14967k   sh
     170      19.333re        3.10cp     3459avio       41k   find
  157832     176.759re        2.12cp        0avio    42037k   sh*
   48233      15.835re        2.03cp        0avio    26532k   sed
      26       2.005re        2.00cp        1avio       44k   perl
     608       2.390re        1.75cp       19avio      760k   mtree

Die erste Spalte zeigt an, wie oft der Befehl ausgeführt wurde, die zweite die Laufzeit in Minuten, die dritte Spalte die totale CPU Zeit in Minuten, die vierte Spalte die durchschnittliche Anzahl I/O Operationen. Möchte man die Liste nach der durchschnittlichen Anzahl I/O Operationen sortiert haben, kann die -d Option verwendet werden. Soll nach totalen CPU-Zeit sortiert werden, verwendet man die -k Option.

Mehr Informationen findet man in den Manpages accton(8), lastcomm(1) und sa(8).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Textdateien zeilenweise verbinden

Möchte man mehrere Textdateien miteinander zeilenweise verbinden, kann man dazu paste verwenden. Im folgenden Beispiel werden zwei Dateien mit je drei Zeilen verbunden:

# cat datei1
Zeile 1.1
Zeile 1.2
Zeile 1.3
# cat datei2
Zeile 2.1
Zeile 2.2
Zeile 2.3
# paste datei1 datei2
Zeile 1.1 Zeile 2.1
Zeile 1.2 Zeile 2.2
Zeile 1.3 Zeile 2.3

Auch kann die Ausgabe eines Befehls mit paste spaltenweise dargestellt werden. Folgendes Beispiel zeigt die Ausgabe von ls in drei Spalten an:

# ls
datei0  datei1  datei2  datei3  datei4  datei5  datei6  datei7  datei8  datei9
# ls | paste - - -
datei0  datei1  datei2
datei3  datei4  datei5
datei6  datei7  datei8
datei9

Mit der -s Option können alle Zeilenumbrüche in einer Datei in Tabulatoren umgewandelt werden:

# cat datei1
Zeile 1.1
Zeile 1.2
Zeile 1.3
# paste -s datei1
Zeile 1.1  Zeile 1.2  Zeile 1.3

Verwendet man die -d Option, kann angegeben werden, wie die Zeilenumbrüche ersetzt werden sollen. Im folgenden Beispiel wird der erste Zeilenumbruch in einen Tabulator, der zweite in einen Zeilenumbruch umgewandelt:

# cat datei1
Zeile 1.1
Zeile 1.2
Zeile 1.3
Zeile 1.4
Zeile 1.5
Zeile 1.6
Zeile 1.7
Zeile 1.8
Zeile 1.9
Zeile 1.0
# paste -s -d '\t\n' datei1
Zeile 1.1       Zeile 1.2
Zeile 1.3       Zeile 1.4
Zeile 1.5       Zeile 1.6
Zeile 1.7       Zeile 1.8
Zeile 1.9       Zeile 1.0

Sowohl auf FreeBSD als auch auf OpenBSD ist paste im Basissystem vorhanden. Mehr Informationen zu paste findet man in der Manpage paste(1).

 Permalink

Dateiinformationen auslesen

Mit Hilfe von finfo lassen sich Informationen zu einer Datei auslesen. Im FreeBSD Portbaum findet man finfo unter sysutils/finfo:

# cd /usr/ports/sysutils/finfo && make install clean

Nun können verschiedene Informationen über eine Datei angezeigt werden:

# finfo /usr/sbin/pkg_updating 
File  : /usr/sbin/pkg_updating
Type  : Regular File
Inode : 3697844
Modes : r-xr-xr-x 
Links : 1
Size  : 16104 Bytes (15.73K) (0.02M)
Blocks: 32
Mt Ma : 000
Mt Mi : 0x00000060
IO BS : 4096
User  : root (0)
Group : wheel (0)
Last Accessed  : Sat Aug  2 17:46:44 2008
Last Modifed   : Thu Jul 24 02:02:31 2008
Status Changed : Thu Jul 24 02:02:31 2008

Möchte man Informationen zu einem Symlink auslesen, kann die -l Option von finfo verwendet werden:

# finfo -l /sys
File  : /usr/src/sys
Type  : Symbolic Link
Inode : 8
Modes : rwxr-xr-x 
Links : 1
Size  : 11 Bytes (0.01K) (0.00M)
Blocks: 0
Mt Ma : 000
Mt Mi : 0x0000005b
IO BS : 4096
User  : root (0)
Group : wheel (0)
Last Accessed  : Thu Jul 24 01:57:03 2008
Last Modifed   : Thu Jul 24 01:57:03 2008
Status Changed : Thu Jul 24 01:57:03 2008

Mehr Informationen zu finfo findet man in der Manpage finfo(1).

 Permalink

Aktuelle Zeit einer Zeitzone anzeigen

Mit Hilfe von zdump läst sich die aktuelle Zeit einer bestimmten Zeitzone anzeigen. Dazu muss einfach der Name der Zeitzone oder die Namen der Zeitzonen an zdump übergeben werden:

# zdump CET UTC America/Toronto
CET Sat Jul 26 10:29:26 2008 CEST
UTC Sat Jul 26 08:29:26 2008 UTC
America/Toronto Sat Jul 26 04:29:26 2008 EDT

Die Zeitzonen, welche abgefragt werden können, findet man unter /usr/share/zoneinfo/. Sowohl auf FreeBSD als auch auf OpenBSD ist zdump im Basissystem vorhanden. Mehr Informationen zu zdump findet man in der Manpage zdump(8).

 Permalink

Carriage Return-Zeichen von DOS-Zeilenumbrüchen entfernen

Textdateien welche mit DOS-Zeilenumbrüchen gespeichert werden, erhalten ein Carriage Return-Zeichen, welches zum Beispiel von less(1) als ^M dargestellt wird. Möchte man nun dieses Zeichen entfernen, kann tr mit der -d Option dazu verwendet werden:

# file dosumbrueche.txt 
dosumbrueche.txt: ASCII text, with CRLF line terminators
# less dosumbrueche.txt
Zeile1^M
Zeile2^M
# tr -d '\r' < dosumbrueche.txt > unixumbrueche
# file unixumbrueche
unixumbrueche: ASCII text
# less unixumbrueche
Zeile1
Zeile2

Sowohl auf FreeBSD als auch auf OpenBSD ist tr im Basissystem vorhanden. Mehr Informationen zu tr findet man in der Manpage tr(1).

Comments (1)  Permalink

Einmalig verwendbare Passwörter benutzen

Auf FreeBSD können zum Anmelden einmalig verwendbare Passwörter mit Hilfe von OPIE benutzt werden. Dazu muss OPIE zuerst auf einem sicheren Kanal mit der -c Option initialisiert werden (am besten auf der Konsole des Rechners). Mit der -s Option kann ein mindestens 5 Zeichen langer Seed (ein zufälliger Initialisierungswert, in folgendem Beispiel abc123) angegeben werden. Während der Initialisierung wird man nach einer mindestend 10 Zeichen langen Passphrase gefragt, welche später zum Generieren der Einweg-Passwörter verwendet werden muss:

# opiepasswd -c -s abc123
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase:<Passphrase>
Again new secret pass phrase:<Passphrase>

ID beat OTP key is 499 abc123
BOLO SNOW FOUR SWAT FURY FAY

Das erste generierte Passwort besitzt die Nummer 499. Beim nächsten Anmelden wird man aber nach dem Passwort mit der Nummer 498 gefragt, deshalb muss dieses zuerst abgefragt werden. Dazu übergibt man die Passwort-Nummer und den Seed an opiekey:

# opiekey 498 abc123
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: <Passphrase>
FRAU NAIR COCO DRAG SLOB RAFT

Meldet man sich nun zum Beispiel per SSH auf dem Rechner an, wird man nach dem Passwort mit der Nummer 498 gefragt:

# ssh beat@<Rechner>
otp-md5 498 abc123 ext
Password:FRAU NAIR COCO DRAG SLOB RAFT

Es lassen sich auch mehrere Passwörter gleichzeitig generieren. Die Anzahl der Passwörter, welche ausgegeben werden sollen, kann mit der -n Option angegeben werden. Auch muss die Nummer des ersten Passworts, welches generiert werden soll, angegeben werden:

# opiekey -n 5 497 abc123
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: <Passphrase>
493: ITEM RUG WORN OLDY FOAL UNIT
494: NINE IVAN DEAD NERO BLUE TAP
495: WEE WADE LOG LAID DANA LAYS
496: FLUB BABE IVAN BURL VAIN HOYT
497: KNOW JOKE ALMA HUED TAIL BIT

Nun können die Passwörter notiert werden. Die Passwortnummern werden bis Null heruntergezählt. Spätestens wenn man bei Null angelangt ist, muss man OPIE neu initialisieren.

Mit Hilfe von opieinfo kann herausgefunden werden, welches Passwort als nächstes verwendet und welcher Seed gebraucht wird.

# opieinfo
497 abc123

Mehr Informationen zu OPIE findet man in der Manpage opiepasswd(1), opiekey(1) und opieinfo(1).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink
Prev Next171-180/325