Entries filed under Tweaks

MAC-Adresse per Skript aus ifconfig

Posted on 9. Februar 2012 Comments

Soweit ich weiß, gibt es unter Linux keinen Befehl oder eine Datei in der die MAC-Adresse steht, nur ifconfig. Für die weitere Verwendung ist das natürlich unpraktisch und so habe ich hier eben ein bisschen was mit grep und regular expressions zusammengeskriptet/kopiert:

#!/bin/bash
ifconfig |grep $1 | grep -m 1 -Eo '[[:alnum:]][[:alnum:]](:[[:alnum:]][[:alnum:]]){5}'

Das am besten unter der Datei grepMacAdr speichern, noch schnell mit

chhmod +x  grepMacAdr

ausführtbar machen, dann erfolgt der Aufruf mit

./grepMacAdr eth0

eth0 ist hier das Netzwerkgerät. Wenn das bekannt ist kann auch direkt im Skript $1(=erster Parameter) durch die entsprechende Bezeichnung geändert werden.

Zur Erklärung: ifconfig ruft den Befehl auf, der alle Netzwerkgeräte samt Konfiguration ausgibt, von denen schneidet das Tool grep nur den Abschnitt heraus, der das übergebene Netzwerkgerät behandelt(bzw. die erste Zeile, da steht die MAC-Adresse im allgemeinen) und davon wiederrum wird mit einer Regular Expression(-E) dann nach dem Muster XX:XX:XX:XX:XX gesucht. Falls, was mit dem ersten grep falsch gelaufen ist, wird nur das erste ausgeben(-m 1). Ausgegeben wird dabei nur der Teil, der das Muster einhält, nicht die ganze Zeile(-o)

Ihr findet das Skript auch als fertige Datei hier.

Mit acp_commander root Zugriff auf Buffalo TeraStation Pro

Posted on 9. Februar 2012 Comments

Bei der Arbeit haben wir eine TeraStation Pro II und eine TeraStation Live. Dort kommt man leider nur per Web-Interface drauf, wir brauchten aber root haben also hab ich mich mal umgeguckt. Man kann natürlich die Firmware flashen, aber es geht auch noch einfacher. Mit dem Tool acp_commander und ein paar Linux-Befehlen kann man sich ebenfalls root Zugriff verschaffen.

Bei der TeraStation Live klappte folgendes:

java -jar acp_commander -t IPADRESSE -o

Vorrausgesetzt ist natürlich eine funktioniernde Java Installation. Wenn das unter Windows geschieht, muss das bin-Verzechnis der Java Installation im PATH sein(war bei mir nicht standardmässig der Fall). Für IPADRESSE ist die IP-Adresse des Geräts einzusetzen(wird evtl. auf Display angezeigt).

Wenn man folgende Meldung bekommt, sollte man der TeraStation eine statische IP geben, dem PC ebenfalls und die dann einfach direkt verbinden, denn irgendwas ist in den Router/W-LAN Einstellungen nicht in Ordnung bzw. zu restriktiv:

A SocketTimeoutException usually indicates bad firewall settings.
Check especially for *UDP* port 22936 and make sure that the connection to your LS is working.
ERROR: Exception: SocketTimeoutException (Receive timed out) [ACP Send/Receive (Packet:8020 = ACP_Discover)]

Wenn alles geklappt hat, kann man sich mit root und keinem Passwort über telnet anmelden:

telnet -l root IPADRESSE

oder über putty(telnet auswählen, Standard ist natürlich SSH). Jetzt kann man SSH nach belieben in /etc/sshd_config konfigurieren und dann mit /etc/init.d/ssh restart neustarten.

Die andere Kiste war nicht ganz so einfach zu öffnen, hier braucht man ein paar Linux-Befehle:

Setzen eines neuen root Passworts:

java -jar acp_commander.jar -t IPADRESSE -ip IPADRESSE -pw ADMINPASS -c "(echo ADMINPASS;echo ADMINPASS)|passwd"

Schaltet die Authentifizierung über PAM via SSH wieder an:

java -jar acp_commander.jar -t IPADRESSE -ip IPADRESSE -pw ADMINPASS  -c "sed -i 's/UsePAM yes/UsePAM no/g' /etc/sshd_config"

Einstellung in der /etc/sshd_config, dass sich auch root direkt anmelden kann und nicht über su ein User zum root wird(gibt es unter busybox wohl nicht):

java -jar acp_commander.jar -t IPADRESSE -ip IPADRESSE -pw ADMINPASS -c "sed -i 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/sshd_config"

Zu guter Letzt: SSH Server neu starten

java -jar acp_commander.jar -t IPADRESSE -ip IPADRESSE -pw ADMINPASS -c "/etc/init.d/sshd.sh restart"

Für ADMINPASS ist jeweils das Administratorpassowort einzusetzen und für IPADRESSE die IP-Adresse(s.o.). Auch hier muss der UDP Port frei sein, also am besten direkt über statische IPs mit nem Kabel von Computer zu TeraStation verbinden.

Man findet sonst auch noch interessante Informationen auf cpradio.org.

Credits to BigDiver und eine andere Quelle, die ich gerade nicht mehr wiederfinde.

dd Statusanzeige

Posted on 12. September 2011 Comments

dd ist das Kommandozeilen Kopiertool von *nix-Betriebssystemen. Im Gegensatz zu den meisten Programmen, hat es aber keine Statusanzeige oder gar einen Statusbalken um den Fortschritt anzuzeigen, so dass man kontrollieren kann, ob sich das Programm nicht vielleicht aufgehängt hat.

Mit diesem Trick kann man aus dd dennoch zu einer Ausgabe zwingen:

  1. dd Kopiervorgang starten, z.B.:
    $ dd if=/dev/sdb of=/dev/sdc
  2. Neue Konsole öffnen
  3. PID vom dd-Prozess herausfinden:
    $ ps -A |grep dd

    Die Ausgabe könnte z.B. so aussehen:

    $ 4905 pts/0   00:00:00 dd
  4. Statusreport-Signal an dd senden(PIDist die Nummer die Schritt 3. ergeben hat, z.B. 4095):
    $ kill -USR1 PID
  5. In der Konsole aus der ddgestartet wurde müsste jetzt eine Ausgabe kommen, z.B.
    75273+0 Datensätze ein
    75273+0 Datensätze aus
    38539264 Bytes (39 MB) kopiert, 27,4718 s, 1,4 MB/s

 

Ausserdem gibt es noch ein grafisches Tool für dd: air-imager

Credits to jma89 and h4shBrpwnz at linuxquestions.org

//update:
Das kleine Programm pipe viewer(pv) tuts auch und man bekommt sogar noch Datenrate und Fortschrittsbalken. Einfach installieren:

$ sudo apt-get install pv

Und dann über den geraden Strich über den eckigen Klammern an den dd Befehl hängen:

$ dd if=/mnt/sdx of=/mnt/sdy | pv

Credits to Peteris Krumin for finding this.

 

//update2:

Manchmal klappt das so nicht, z.B. beim Raspberry Pi (interne SD Karte auf USB Stick(/dev/sda) sichern). Dort muss man das folgendermaßen machen:

sudo dd if=/dev/mmcblk0 | pv | sudo dd of=/dev/sda

Thanks to from urfix.com

Firefox 5.0 und ubufox mit Ubuntu 10.04 (xul-ext-ubufox Problem)

Posted on 24. Juni 2011 Comments

repat@laptop:~$ sudo apt-get upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Status-Informationen einlesen... Fertig
Die folgenden Pakete werden aktualisiert:
ubufox
1 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen noch 0B von 58,3kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 319kB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]? j
(Lese Datenbank ... 268513 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereiten zum Ersetzen von ubufox 0.9-0ubuntu1~mfs~lucid1 (durch .../ubufox_0.9.1-0ubuntu0.10.04.1~mfn3_all.deb) ...
Entpacke Ersatz für ubufox ...
dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/ubufox_0.9.1-0ubuntu0.10.04.1~mfn3_all.deb (--unpack):
Versuche, »/etc/xul-ext/ubufox.js« zu überschreiben, welches auch in Paket xul-ext-ubufox 0:0.9-0ubuntu1~mfs~lucid1 ist
Fehler traten auf beim Bearbeiten von:
/var/cache/apt/archives/ubufox_0.9.1-0ubuntu0.10.04.1~mfn3_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Lösung des Problems? xul-ext-ubufox(das Paket ist dafür gut) deinstallieren:

sudo apt-get remove xul-ext-ubufox

danach

sudo apt-get install -f

oder

sudo apt-get remove
sudo apt-get install ubufox

Dank geht an orthopteroid aus ubuntuforums.org.

Danach ist bei mir alles in Englisch gewesen, dazu muss man die neue Sprachdatei runterladen und installieren

Dank geht an Martin Vogel, für den Tip:)

update: Des weiteren berichtet Tuxsuisse im Blog linuxundich.de, dass man unter Ubuntu z.B. einfach das Paket firefox-locale-de mit

sudo apt-get install firefox-locale-de

nachinstallieren könnte, dann geht das ebenfalls.

Cronjobs von selbst wieder anstellen

Posted on 11. Mai 2011 Comments

Das Problem war ganz einfach, manuell dürfen einige wenige Berechtigte aus guten Gründen Cronjobs abstellen. Damit aber am nächsten Tag der Cronjob wieder läuft braucht man ein (nicht-abstellbaren) Cron Jobs, der alle anderen Cronjobs wieder anstellt. Glücklicherweise gibt es da die Schnittstelle Config::Crontab und so sind dies nur ein paar Zeilen(via CPAN bzw. man Config::Crontab):

#!/usr/bin/perl
use Config::Crontab;
my $ct = new Config::Crontab;
$ct->read; # alle crons auslesen a.k.a. crontab -l
$_->active(1) for $ct->select(-command_re => '/usr/local/bin/command'); # zeile vervielfachen fuer andere befehle
$ct->write; # alle crontabs schreiben, nicht vergessen!

Der gewünschte, nun wieder aktive Befehl ist /usr/local/bin/command.

Internet Explorer Vollbild per Kommandozeile

Posted on 9. März 2011 Comments

Nicht dass ich Internet Explorer Benutzer wäre, aber bei der Arbeit bekomm ich manchmal seltsame Aufträge:

C:\Programme\Internet Explorer\iexplore.exe -k http://google.de

Das Kommandozeilenargument „-k“ aus der cmd, einer Verknüpfung oder dem „Ausführen…“-Dialog startet eine Website im Vollbild, so als hätte man F11 gedrückt. Bei anderssprachigen Windows Versionen, natürlich den Pfad anpassen.

Samba, net use, Windows 7 und Systemfehler 86

Posted on 14. Februar 2011 Comments

Beim Mappen von Netzwerklaufwerken unter Windows 7 ist mir heute bei einer veralteten Samba Version(2.x) der Systemfehler 86 aufgetaucht. Nach etwas googeln fand ich folgenden Forum Eintrag auf wirklichewelt.de, welcher mich auf die richtige Fährte brachte. Allerdings war die vorgeschlagene Lösung, nicht das was ich suchte.

Auf einer anderen Windows 7 Maschine klappte nun der Login sehr wohl, in den Einstellungen von secpol.msc war jedoch unter Netzwerksicherheit: LAN Manager Authentifizierung… keiner der Werte aus der Dropdown Liste angebeben sondern einfach nichts. In der Auflistung der Sicherheitsoptionen stand „nicht definitiert“.

Nun konnte ich aber partou nicht den Wert aus dem LAN Manager entfernen auf der Maschine, auf der der net use login nicht funktionierte. Lösung: den passenden Registry Wert herausfinden und löschen.

Im Blog von t-error fand ich nun einen Kommentar von Gunnar Frenzel, der verriet, dass in der Registry im Ordner HK_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa der passende Schlüssel „LmCompatibilityLevel“ ist. Ein Test auf der funktionierenden Windows Maschine zeigte, dass der Schlüssel dort nicht vorhanden war, ergo das „nicht definiert“ aus den Sicherheitsoptionen erklärt.

Einfach den Schlüssel löschen und rebooten(wichtig!), dann klappt auch net use wieder. Mit neueren Samba Versionen ist das allerdings kein Problem mehr, da kann man wie im ersten Link vorgeschlagen auch LM- und NTLM-Antworten senden (NTLMv2-Sitzungssicherheit verwenden) wählen

http://blog.t-error.ch/article/1027/mit_windows_7_auf_samba-shares_zugreifen/

.htaccess sehen/ändern Trick

Posted on 16. Juli 2009 Comments

Woran auch immer es liegt, mit manchen Servern oder FTP-Clienten kann man die .htaccess nicht sehen. Im FileZilla soll es angeblich eine Funktion geben, die versteckte Dateien freischaltet, diese hab ich jedoch nicht gefunden. Über commandline ftp bzw. Shell bei Linux kann man sie sehen, auch runterladen und hochladen, jedoch die Rechte nicht verändern. Nun gibt es diverse WebFTP Dienste, die die .htaccess sichtbar machen und mit denen man auch mittels CHMOD die Rechte ändern kann.

update: Unter Server/Auflistung versteckter Dateien erzwingen kann man eben jene Funktion anstellen(Danke an justiceforall)