Kategorien
Linux

Raspberry Pi 2 – Arch Linux Installation aus einem Linux System

Vorbereiten der SD-Karte. Ersetze sdX in den folgenden Schritten durch den entsprechenden Namen des Gerätes unter dem deine SD-Karte in Linux erschienen ist. (leicht über dmesg|tail direkt nach Anschluss der SD-Karte zu finden)

  1. Starte fdisk um die SD-Karte zu partitionieren:
    sudo –s # um alle folgenden Schritte als Benutzer root auszuführen
    fdisk /dev/
    sdX
  2. In der fdisk Eingabe lösche die alten Partitionen und erstelle die neuen:
    1. Der Befehl o löscht alle Partitionen auf der Karte.
    2. p zeigt alle vorhandenen Partitionen an. Es sollte keine mehr existieren
    3. Wähle n, für neue Partition, dan p für primäre Partition, im Anschluss 1 für die erste Partition, danach ENTER um den ersten Sektor zu bestätigen und +100M für den letzten Sektor.
    4. Im Anschluss t, danach c um den Typ der Partition auf „W95 FAT32 (LBA)“ zu setzen.
    5. Drücke n, dan p im Anschluss 2 für die zweite Partition dann ENTER zwei mal um sowohl den ersten als auch den letzten Sektor zu bestätigen.
    6. Schreibe die Partitionstabelle und verlasse das Programm mit w.
  3. Erstellen des ext4 Dateisystems:
    mkfs.ext4 /dev/sdX2
    mkdir /mnt/root
    mount /dev/sdX2 /mnt/root
  4. FAT-Dateisystem erstellen und mounten:
    mkfs.vfat /dev/sdX1
    mkdir /mnt/root/boot
    mount /dev/sdX1 /mnt/root/boot
  5. Lade die ArchLinux Distribution auf das root Dateisystem:
    wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
    tar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C /mnt/root
    sync
  6. Die beiden Partitionen unmounten:
    umount /mnt/root/boot /mnt/root

Jetzt ist die SD-Karte bereit für den Raspberry Pi. Nach dem Anschluss von Netzwerk und 5V-Stromversorgung startet er ArchLinux.
Eine Verbindung ist über angeschlossenen Monitor und Tastatur, SSH und Serielle Konsole möglich.
Der Benutzername des default Benutzers ist „alarm“ sein Passwort lautet „alarm“.
Das root-Password lautet „root“.

Kategorien
Allgemein

SMTP via Telnet

Ein Beispiel für die manuelle EMail-Zustellung via Telnet:

~$ telnet mx.example.com 25
Trying 198.51.100.215…
Connected to mx.example.com.
Escape character is ‘^]’.
220 mx.angststalt.de ESMTP Postfix (Debian/GNU)

Die Verbindung zum Server mx.example.com wird über port 25 Hergestellt

EHLO domain.tld
250-mx.example.com
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

“Helo” mit dem Eigenen Hostnamen um die Verbindung aufzunehmen

MAIL FROM: <test@domain.tld>
250 2.1.0 Ok

Absenderangabe der EMail.

RCPT TO: <zieladresse@dieseserver.tld>
250 2.1.5 Ok

 

Empfänger der EMail angeben.

DATA
354 End data with <CR><LF>.<CR><LF>

Hier beginnt die EMail…

Subject:Hey, hier eine EMail für dich

Angabe des Betreffs der EMail

Ich habe hier eine EMail für dich,
in dieser EMail steht eine ganze Menge Text…

An dieser Stelle folgt der Inhalt der EMail…

.
250 2.0.0 Ok: queued as 112AE1B1

Mit einem Punkt wird die EMail beendet.

QUIT
221 2.0.0 Bye
Connection closed by foreign host.

und mit dem Befehl “Quit” wird die Verbindung beendet.

Kategorien
CL-35B2 Forensik Linux security Workstation

Linux: eine einfache und “schöne” Festplattenfüllanzeige

Ich stelle euch hier mein Script zur Festplattenfüllanzeige meiner Server zur verfügung, da viele meiner Freunde das Script von mir wünschten.

Ich habe das script auf meinen Server in der .bashrc Datei hinterlegt und es zeigt nach dem Login auf den Server, auch via SSH, werden die Fülldaten aller eingebundenen Datenträger angezeigt.

Die Ausgabe des Scriptes enspricht diesem Bild

Die Farben der Rahmen wird bei einer Belegung von 80% nicht mehr grün sondern gelb und ab sowie ab 90% Festplattenfülle in Rot dargestellt.

Die Breite der Darstellung passt sich beim Aufruf automatisch der im Terminalfenster verfügbaren Breite des Fensters an.

Auf meinem CL-25B2 NAS habe dieses Script, anstelle der .bashrc Datei in der Datei /etc/profile.local hinterlegt, so das die Festplattenfüllanzeige bei jedem Login angezeigt wird, nicht nur bei einem bestimmten Benutzer.

Für Verbesserungsvorschläge bin ich immer Dankbar, diese bitte in die Kommentare 😉

#!/bin/bash

# Ausgabe eines Statusbalkens
statusbalken() {
 if [ $# != 1 ]
  then
   exit;
 fi

 used=$(df "$1"|tail -n 1|awk '{print $3}')
 total=$(df "$1"|tail -n 1|awk '{print $2}')

 e=$(printf "\033")
 end="$e[0m"
 COLUMNS=$(tput cols)
 COLUMNS=$((COLUMNS-9))

 PERCENT=$(echo "$used $total 100"|awk '{printf ("%i", $1/$2*$3 )}')
 percent=$(echo "$used $total $COLUMNS"|awk '{printf ("%i", $1/$2*$3 )}')

 COLOR="$e[1;31m"
 if [[ $PERCENT -lt 90 ]] ;then
  COLOR="$e[1;33m"
 fi
 if [[ $PERCENT -lt 80 ]] ;then
  COLOR="$e[1;32m"
 fi

 printf " Disk usage: %s\n ${COLOR}[${end}" "$1"
 for (( i=0; i< percent; i++ ))
 do
  printf "%b" "#"
 done

 for (( i=percent; i<COLUMNS; i++ ))
 do
  printf "%b" "-"
 done
 printf "${COLOR}]${end}%3d%%\n" "$PERCENT"
}

# Laufwerke ermitteln
drives=$(mount|grep -E '^\/'|awk '{print $3}')

for var in $drives
do
 statusbalken "$var"
done

Da im WordPress die Formatierung von Shellscripten immer ungewünscht “angepasst” wird, zusätzlich hier noch ein Download-Link für das Script.: http://dl.loteks.de/drives.sh

Kategorien
Allgemein

shellshock II (RPM-Paket erstellen)

In der chroot-Umgebung aus der ersten Anleitung kann auch direkt ein rpm Paket erstellen, welches eine saubere Installation der aktualisierten Bash ermöglicht.

Die Anleitung beginnt an Punkt 2 (2. Bash Quellen bereitstellen) der ersten Anleitung!

In der chroot-Umgebung des Build Systems einen Benutzer für den Paketbau anlegen:

chroot /mnt/chroot
adduser builder  && su builder && cd ~

Im Anschluß werden die für rpmbuild notwendigen Verzeichnisse, die drei Bash Konfigurations-Dateien .bashrc, .bash_profile, .bash_logout und die Specs-Datei für den rpm-Paketbau angelegt und die Bash Quellcodes sowie Patches heruntergeaden.:

mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
cd ~/rpmbuild/SOURCES/
wget ftp://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
wget ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/ -m -nd
cat <<'EOF' > dot-bash_logout
# ~/.bash_logout: executed by bash(1) when login shell exits.

# when leaving the console clear the screen to increase privacy

if [ "$SHLVL" = 1 ]; then
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi
EOF
cat <<'EOF' > dot-bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
EOF
cat <<'EOF' > dot-bashrc
# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=10000
HISTFILESIZE=20000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'

alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi

export LANG=de_DE.utf8
export LC_CTYPE=de_DE.UTF-8

test "$SSH_AUTH_SOCK" || exec ssh-agent $SHELL -c "ssh-add; exec $SHELL -login"
EOF
cd ~/rpmbuild/SPECS
cat < <'EOF' > bash.spec
# BASH spec File TEST
#%define beta_tag rc1
%define patchlevel .30
%define baseversion 4.3

# Build auch mit unpackaged files abschliessen
%define _unpackaged_files_terminate_build 0
%define _missing_doc_files_terminate_build 0

Version: %{baseversion}%{patchlevel}
Name: bash
Summary: The GNU Bourne Again shell
Release: 1%{?dist}
Group: System Environment/Shells
License: GPLv3+
Url: http://www.gnu.org/software/bash
Source0: ftp://ftp.gnu.org/gnu/bash/bash-%{baseversion}.tar.gz

Source1: dot-bashrc
Source2: dot-bash_profile
Source3: dot-bash_logout

# Official upstream patches
Patch001: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-001
Patch002: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-002
Patch003: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-003
Patch004: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-004
Patch005: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-005
Patch006: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-006
Patch007: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-007
Patch008: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-008
Patch009: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-009
Patch010: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-010
Patch011: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-011
Patch012: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-012
Patch013: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-013
Patch014: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-014
Patch015: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-015
Patch016: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-016
Patch017: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-017
Patch018: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-018
Patch019: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-019
Patch020: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-020
Patch021: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-021
Patch022: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-022
Patch023: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-023
Patch024: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-024
Patch025: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-025
Patch026: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-026
Patch027: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-027
Patch028: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-028
Patch029: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-029
Patch030: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-030

Requires(post): ncurses-libs
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires: ncurses-devel
BuildRequires: autoconf, gettext

%description
The GNU Bourne Again shell (Bash) is a shell or command language
interpreter that is compatible with the Bourne shell (sh). Bash
incorporates useful features from the Korn shell (ksh) and the C shell
(csh). Most sh scripts can be run by bash without modification.

%define pkgdocdir %{_datadir}/doc/%{name}-%{version}

%prep
#%setup -q -a 2
%setup -q -n %{name}-%{baseversion}

# Official upstream patches
%patch001 -p0 -b .001
%patch002 -p0 -b .002
%patch003 -p0 -b .003
%patch004 -p0 -b .004
%patch005 -p0 -b .005
%patch006 -p0 -b .006
%patch007 -p0 -b .007
%patch008 -p0 -b .008
%patch009 -p0 -b .009
%patch010 -p0 -b .010
%patch011 -p0 -b .011
%patch012 -p0 -b .012
%patch013 -p0 -b .013
%patch014 -p0 -b .014
%patch015 -p0 -b .015
%patch016 -p0 -b .016
%patch017 -p0 -b .017
%patch018 -p0 -b .018
%patch019 -p0 -b .019
%patch020 -p0 -b .020
%patch021 -p0 -b .021
%patch022 -p0 -b .022
%patch023 -p0 -b .023
%patch024 -p0 -b .024
%patch025 -p0 -b .025
%patch026 -p0 -b .026
%patch027 -p0 -b .027
%patch028 -p0 -b .028
%patch029 -p0 -b .029
%patch030 -p0 -b .030

echo %{version} > _distribution
echo %{release} > _patchlevel

%build
autoconf
%configure --with-bash-malloc=no --with-afs --with-installed-readline
make "CPPFLAGS=-D_GNU_SOURCE -DRECYCLES_PIDS `getconf LFS_CFLAGS`"
%check
make check
strip bash
strip bashversion

%install
rm -rf $RPM_BUILD_ROOT

if [ -e autoconf ]; then
  export PATH=.:$PATH
fi

# Fix bug #83776
perl -pi -e 's,bashref\.info,bash.info,' doc/bashref.info

make DESTDIR=$RPM_BUILD_ROOT install

mkdir -p $RPM_BUILD_ROOT/etc

# Not for printf, true and false (conflict with coreutils)
rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/printf.1
rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/true.1
rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/false.1

pushd $RPM_BUILD_ROOT
mkdir ./bin
mv ./usr/bin/bash ./bin
ln -sf bash ./bin/sh
rm -f .%{_infodir}/dir
popd
mkdir -p $RPM_BUILD_ROOT/etc/skel
install -c -m644 %SOURCE1 $RPM_BUILD_ROOT/etc/skel/.bashrc
install -c -m644 %SOURCE2 $RPM_BUILD_ROOT/etc/skel/.bash_profile
install -c -m644 %SOURCE3 $RPM_BUILD_ROOT/etc/skel/.bash_logout
LONG_BIT=$(getconf LONG_BIT)
mv $RPM_BUILD_ROOT%{_bindir}/bashbug \
   $RPM_BUILD_ROOT%{_bindir}/bashbug-"${LONG_BIT}"

%find_lang %{name}

# lua-code von Jesse Keating  so das keine Externen Abhängigkeiten benötigt werden.
# lua-Code von Ignacio Vazquez-Abrams
%post -p 
bashfound = false;
shfound = false;

f = io.open("/etc/shells", "r");
if f == nil
then
  f = io.open("/etc/shells", "w");
else
  repeat
    t = f:read();
    if t == "/bin/bash"
    then
      bashfound = true;
    end
    if t == "/bin/sh"
    then
      shfound = true;
    end
  until t == nil;
end
f:close()

f = io.open("/etc/shells", "a");
if not bashfound
then
  f:write("/bin/bash\n")
end
if not shfound
then
  f:write("/bin/sh\n")
end
f:close()

%postun
if [ "$1" = 0 ]; then
    /bin/grep -v '^/bin/bash$' < /etc/shells | \       /bin/grep -v '^/bin/sh$' > /etc/shells.new
    /bin/mv /etc/shells.new /etc/shells
fi

%files -f %{name}.lang
%defattr(-,root,root)
%config(noreplace) /etc/skel/.b*
/bin/sh
/bin/bash
%attr(0755,root,root) %{_bindir}/bashbug-*
EOF

Die bash.spec-Datei enthält die Konfigutarion des Paketes sowie die bei der Installation und deinstallation notwendigen Scripte. Die Vorliegende SPECS Datei ist eine bearbeitung der Original Quelle von Fedora Core 12, welche ich für die aktuelle BASH angepasst habe.

Jetzt kann mit rpmbuild das Paket erstellt werden, welches direkt im Anschluss mit rpm Installiert werden kann. Das alte Bash Paket wird hierbei durch das neue Paket ersetzt.

rpmbuild -ba  bash.spec
rpm -U --force --replacefiles /mnt/chroot/home/builder/rpmbuild/RPMS/armv6l/bash-4.3.30-1.fc12.armv6l.rpm

Das aus diesem Tutorial entstehende Bash-Binary und RPM-Datei zur Installation

Kategorien
Forensik Linux security

Festplatten Seriennummern unter Linux herausfinden

Um im PC-oder NAS Gehäuse immer gleich die richtige Festplatte zum Tauschen zu finden, muss im ID bzw. die Seriennummer der Festplatte herausgefunden werden.

Da leider nicht jedes NAS auf der Shell auch alle Befehle erlaubt Beziehungsweise alle Befehle anbietet, hier eine Liste mit 4 Methoden die Seriennummer von Festplatten unter Linux auszulesen.:

udebadm

udevadm info --query=property --name=/dev/sda | grep "^ID_SERIAL_SHORT=" | sed "s/ID_SERIAL_SHORT=//g"

Unter “–name=/dev/” wird das Laufwerk angegeben, die Ausgabe ist nur die Seriennummer.

hdparm

hdparm -i /dev/sda | sed -ne '/SerialNo/{s/.*SerialNo=\s*\(.*\)/\1/ ; p}'

Die Festplatte wurd als “-i /dev/sda” angegeben, alternativ können hier mehrere Festplatten mit “-i /dev/sd[ab]” angegeben werde. Die Ausgabe ist ausschließlich die Seriennummer.

smartctl

smartctl -i /dev/sda|sed -ne '/Serial\ Number\:/{s/.*Serial\ Number\:\s*\(.*\)/\1/ ; p}'

Auch bei smartctl wird mit “-i /dev/sda” die fragliche Festplatte angegeben. Die Ausgabe ist ausschließlich die Seriennummer.

 grep, awk, sed

ls -l /dev/disk/by-id/ | grep scsi- | grep -v part | awk '{print $NF " " $(NF-2)}' | sed 's|../../||g' | sed 's/scsi-...._//g'

gibt alle Festplatten mit den zugehörigen Seriennummern und Bezeichnung aus.

Kategorien
Allgemein Linux

MAC-Adresse ändern (Linux, Apple, Windows)

Die MAC-Adresse ist für jede Netzwerkschnitstelle einzigartig. Die MAC-Adresse zu ändern geht in den verschiedenen Systemen wie folgt:

Linux

Unter Linux kann die MAC-Adresse unkompliziert über das Terminal geändert werden.:

ip link set dev [Interface] addr [MAC-Adresse]

Mac OS

Wie unter Linux kann auch unter dem Apple MAC OS die Adresse über das Terminal geändert werden.
Der Aufruf sieht dort wie folgt aus:

ifconfig [Interface] ether [MAC-Adresse]

oder alternativ

ifconfig [Interface] lladdr [MAC-Adresse]

Windows 7

Unter Windows 7 muss die Mac Adresse über einen Registry Eintrag geändert werden.
Hier gilt es “regedit.exe” zu starten und im Anschluß der Eintrag

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}

Unter diese “key” erscheint eine Nummern-Sequenz (000, 001, 002…), von welchem festgestellt werden muss welcher die Netzwerkkarte repräsentiert, in dem Feld  “DriverDesc” steht der Name der Netzwerkkarte. (bei mit 007)

In diesem Key (bei mir 007) suche nach dem Schlüssel “NetworkAddress” und ändere diesen. Änderungen sind über doppelklick oder alternativ Rechtsklick + Ändern.
Gib die gewünschte MAC-Adresse als zusmmenhängende Zeichenfolge, ohne Leerzeichen, Punkte oder Minuszeichen ein.

Wenn der Schlüssel bei der Netzwerkkarte nicht vorhanden ist, Rechtsklick auf einen Freien Bereich und “Neu” – “Zeichenfolge” wählen. Gib als Name “NetworkAddress” und als Wert und als Daten die gewünschte MAC Adresse ein.

Anschleßend muss noch das Netzwerkinterface deaktiviert und in folge wieder aktiviert werden.

Kategorien
Allgemein

Zufällige MAC-Adresse erzeugen

Manchmal kann es hilfreich sein, eine zufällige MAC Adresse zu generieren, beispielsweise für einen Cronjob der eine Netzwerkkarte abschaltet, eine neue MAC-Adresse vergibt und die Verbindung dann eine neue Verbindung herstellt.

Mit folgender Linux-Shell Zeile lässt sich eine solche MAC Adresse generieren.

echo -n 00-01-02; dd bs=1 count=3 if=/dev/random 2>/dev/null|hexdump -v -e '/1 "-%02X"'

Im ersten Teil werden die ersten 3 Byte der Mac-Adresse ausgegeben, diese geben den Hersteller der Netzwerkkarte an. Ich gebe in meinem Beispiel an, das es sich um eine 3COM Netzwerkkarte handelt.
Im zweiten Teil werden 3 Byte Zufallsdaten auf /dev/random entnommen und anschließend werden im Dritten Teil, mittels Hexdump, diese 3 Byte in deren Hexadezimalentsprechung umgewandelt.

Folgend eine kleine Liste mit MAC Adressen verbreiteter Hersteller:

00-01-02-xx-xx-xx 3COM
00-07-E9-xx-xx-xx Acer
00-0A-95-xx-xx-xx Apple
00-15-F2-xx-xx-xx Asus
00-24-fe-xx-xx-xx AVM
00-60-2F-xx-xx-xx Cisco
00-50-8B-xx-xx-xx Compaq
00-11-0A-xx-xx-xx HP
AC-E2-15-xx-xx-xx Huawei
00-07-E9-xx-xx-xx Intel
00-1F-3C-xx-xx-xx Intel
00-1D-92-xx-xx-xx Micro-Star
DC-3E-F8-xx-xx-xx Nokia
B8-27-EB-xx-xx-xx RaspberryPi
90-18-7C-xx-xx-xx Samsung
6C-23-B9-xx-xx-xx Sony
Kategorien
Linux

Partitionierung Klonen

Zum nachträglichen Manuellen einrichten eines RAID Mittels mdadm benötige ich auf beiden Festplatten exakt die gleiche Partitionierung.

Mit hilfe von sfdisk kann schnell und unkompliziert die Partitionierung eines Datenträgers gesichert und zurückgeschrieben werden.
Zuert die Partitionstabelle des Datenträgers in eine Datei sichern.:

sfdisk -d /dev/sda > sda.part

und im Anschlus die Partitionierung auf die nächste Festplatte schreiben.:

sfdisk /dev/sdb < sda.part

ACHTUNG! Alle Daten auf der Festplatte /dev/sdb gehen hierbei verloren!!

Kategorien
Linux

qcow2 Disk Image unter Linux mounten

Um ein qcow2-Disk Image unter Linux zu mounten muss qemu installiert sein.

zuerst müssen das Kernel Module nbd geladen werden:

modprobe nbd max_part=8

Das qcow2 Image muss im Anschluss an ein Gerät gebunden werden:

qemu-nbd --connect=/dev/nbd0 db1_old.qcow2

Im anschluss kann das gerät gemountet werden (im Beispiel die erste Partition):

 mount /dev/nbd0p1 /mnt/

Um im Anschluss das qcow2-Image wieder freizugeben, das Laufwerk unmounten und das Image vom Gerät lösen:

umount /mnt/
qemu-nbd --disconnect /dev/nbd0
Kategorien
Allgemein Linux security

RETTET TrueCrypt…

Da TrueCrypt auf der offiziellen Internet Seite eine Anleitung zur Umstellung auf unsicherere Software, wie zum Beispiel “BitLocker”, gestellt hat und aus Archiven verschwindet hier ein Spiegel der letzten Aktuellen Version! Bewahrt es gut auf!

Ich hoffe es finden sich Entwickler die TrueCrypt weiterführen!!!

Die Checksummen der Dateien (Bitte mit den Dateien und Checksummen aus Drittquellen vergleichen!)
md5sum:

  • bb355096348383987447151eecd6dc0e truecrypt-7.1a-linux-x64.tar.gz
  • 09355fb2e43cf51697a15421816899be truecrypt-7.1a-linux-x86.tar.gz
  • 89affdc42966ae5739f673ba5fb4b7c5 truecrypt_7.1a_mac_os_x.dmg
  • 102d9652681db11c813610882332ae48 truecrypt-7.1a-source.tar.gz
  • 7a23ac83a0856c352025a6f7c9cc1526 truecrypt_setup_7.1a.exe

sha1sum:

  • 086cf24fad36c2c99a6ac32774833c74091acc4d truecrypt-7.1a-linux-x64.tar.gz
  • 0e77b220dbbc6f14101f3f913966f2c818b0f588 truecrypt-7.1a-linux-x86.tar.gz
  • 16e6d7675d63fba9bb75a9983397e3fb610459a1 truecrypt_7.1a_mac_os_x.dmg
  • d43e0dbe05c04e316447d87413c4f74c68f5de24 truecrypt-7.1a-source.tar.gz
  • 7689d038c76bd1df695d295c026961e50e4a62ea truecrypt_setup_7.1a.exe

STELLT AUCH IHR SPIEGEL DES QUELLCODES!