středa 12. března 2014
dos2unix vs tr ^M
dos2unix je obecně pěkně popsáno zde.
tr -d "\015\032" < file.conf > file.conf_new
P.S. Libore díky ...
pátek 18. května 2012
grep ve Windows
Pokud je v systému PowerShell můřeme použít krkolomný příkaz Select-String.
test.txt:1:Tento text je testovaci.
test.txt:2:Testovat je treba.
test.txt:3:Kazdy testuje vse kolem sebe.
Druhá ukázka je z Cygwin ...
maly@nbmaly-tmp /cygdrive/c/temp
$ grep.exe -ni "test" test.txt
1:Tento text je testovaci.
2:Testovat je treba.
3:Kazdy testuje vse kolem sebe.
úterý 22. listopadu 2011
winexe na Ubuntu nebo LMDE
http://sourceforge.net/projects/winexe/
wiki
http://en.wikipedia.org/wiki/WinExe
Help build on ubuntu or debian - tested compile on LMDE
http://mpov.timmorgan.org/winexe-on-ubuntu
sudo apt-get install build-essential autoconf checkinstall
svn co http://dev.zenoss.org/svn/trunk/wmi/Samba/source
cd source
wget https://gist.github.com/raw/843062/5bb87c4fa13688f65ca8b1e54fc42676aee42e5a/fix_winexe_service.diff
patch -p0 -i fix_winexe_service.diff
./autogen.sh
./configure
make proto bin/winexe
sudo cp bin/winexe /usr/local/bin/
ready for used :-)
středa 16. listopadu 2011
Feitian ePass PKI token

K čemu taková USB fleška je :-) ? Vypadá sice jako fleška, ale uvnitř je čtečka Smard Card - Feitian R-310 a Feitian PKI smartcard (FTCOS / PK-01C). Na token je možno uložit certifikát nebo ssh klíč. Výhodou je, že se dá RSA klíč přímo generovat na daném zařízení s tím, že privátní klíč nikdy token neopustí, což je jedna z klíčových vlastností .
Spolu s tokenem bylo dodáno i malé 92M CD s dokumentací. Aktuální ISO obraz je dostupný zde.
Hnedle co jsem jej dostal do ruky, strčil jsem jej do USB.
Nov 14 13:35:44 ntb kernel: [19615.418112] usb 5-1: New USB device found, idVendor=096e, idProduct=0503
Nov 14 13:35:44 ntb kernel: [19615.418115] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 14 13:35:44 ntb kernel: [19615.418117] usb 5-1: Product: SCR301
Nov 14 13:35:44 ntb kernel: [19615.418119] usb 5-1: Manufacturer: Feitian
Nov 14 13:35:44 ntb mtp-probe: checking bus 5, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/usb5/5-1"
Nov 14 13:35:44 ntb mtp-probe: bus: 5, device: 5 was not an MTP device
Pro práci s tokenem budeme v Linux/UNIX systémech potřebovat free software OpenSC. Výrobcem tokenu je spolešnost Feitian. Ovladač FTCOS/PK-01C v OpenSC se jmenuje "entersafe", více je popsáno zde.
Nejprve jsem si instaloval tyto balíky v distribuci LMDE. K OpenSC je ječtě třeba ovladač čtečky atd. pcsc+ccid.
sudo aptitude install opensc
sudo aptitude install libccid
sudo aptitude install libacsccid1
sudo aptitude install pcsc-tools
sudo aptitude install pcscd
Kominikace s čtečkou mi nějak nefungovala, proto jsem si manuálně zkompiloval aktuální verzi. Popis instalace pěkně zdokumentován na GOOZE.
Ověření instlace je dokumentováno zde. LMDE verze.
opensc-tool --verbose --info
opensc 0.12.1 [gcc 4.6.1]
Enabled features: zlib openssl pcsc(libpcsclite.so.1)
Aktuální manuálně kompilovaná verze.
opensc 0.12.2 [gcc 4.6.1]
Enabled features: zlib readline openssl pcsc(libpcsclite.so.1)
Vypíšeme si čtečky --list-readers, -l Lists all configured readers
opensc-tool -l
# Detected readers (pcsc)
Nr. Card Features Name
0 Yes Feitian SCR301 00 00
Inicializace karty je opět pěkně zdokumentována zde.
Vypíšeme si ATR ma kartě --atr, -a Prints the ATR bytes of the card
opensc-tool --atr
Using reader with a card: Feitian SCR301 00 00
3b:9f:95:81:31:fe:9f:00:65:46:53:05:30:06:71:df:00:00:00:80:6a:82:5e
Vypíšeme si seriové číslo karty. --serial Prints the card serial number
opensc-tool --serial
Using reader with a card: Feitian SCR301 00 00
29 15 33 21 10 23 08 11 ).3!.#..
Preventivě smažeme kartu, na které od výrobve stejně nic není. Prověříme tím komunikaci čtečky s smart card.
pkcs15-init -vE
Using reader with a card: Feitian SCR301 00 00
Connecting to card in reader Feitian SCR301 00 00...
Using card driver entersafe.
About to erase card.
Dále si na kartě inicializujeme profil, nastavíme pin a puk
pkcs15-init --create-pkcs15 --profile pkcs15+onepin --use-default-transport-key --pin 1234 --puk 654321 --label "Jan Novak"
Pomocí dump si vypíšeme co Smard Card obsaduje.
pkcs15-tool --dump
Using reader with a card: Feitian SCR301 00 00
PKCS#15 Card [
Version : 0
Serial number : 2915332110230811
Manufacturer ID: EnterSafe
Last update : 20111115124249Z
Flags : EID compliant
PIN [User PIN]
Object Flags : [0x3], private, modifiable
ID : 01
Flags : [0x32], local, initialized, needs-padding
Length : min_len:4, max_len:16, stored_len:16
Pad char : 0x00
Reference : 1
Type : ascii-numeric
Path : 3f005015
Můžeme do karty importovat existující RSA klíč, který musíme nejprve dešifrovat.
openssl rsa -in ~/.ssh/id_rsa -outform pem > id_rsa.pem
Enter pass phrase for /home/novak/.ssh/id_rsa:
writing RSA key
Posléze jej uložíme na Smard Card.
pkcs15-init --store-private-key id_rsa.pem --auth-id 01 --pin 1234
Lepší možnost je si klíč generovat přímo na token.
Veřejný klíč si vygenerujeme následovně. Návod opět zde. Vypíšeme si nejprve informaci o veřejném klíčí na smard card.
pkcs15-tool --list-public-keys
Using reader with a card: Feitian SCR301 00 00
Public RSA Key [Public Key]
Object Flags : [0x2], modifiable
Usage : [0x4], sign
Access Flags : [0x0]
ModLength : 2048
Key ref : 0
Native : no
Path : 3f0050153000
ID : c70982******a14eb3
pkcs15-tool --read-ssh-key c70982
Using reader with a card: Feitian SCR301 00 00
2048 65537 259843
ssh-rsa AAAAB3Nz
Pak se již můžeme přihašovat na vzdálený server pomocí Secure Shell.
ssh -v -I /usr/lib/opensc-pkcs11.so server.domena.cz
Provider tokenu je možno zavést do patřičného souboru.
vim ~/.ssh/ssh_config
PKCS11Provider /usr/lib/pkcs11/opensc-pkcs11.so
Alternativy USB tokenu, u kterých se o Linuxu moc nepíše, ale funkční pod OpenSC budou.
pondělí 23. srpna 2010
APOD
Sem tam si rád stáhnu nějaké to pěkné pozadí z http://apod.nasa.gov/apod/ česká verze http://www.astro.cz/apod/. Dnes jsem nalezl pěkný script, který stáhne a přenastaví pozadí. Script je pro všechny platformy. Přesněji existuji verze pro jednotlivé OS platformy. Já samozřejmě užil tu v Bash fetchapod.sh
http://www.scibuff.com/2009/05/14/download-apod-and-set-it-as-the-wallpaper-batch-script/
úterý 22. června 2010
EV Certifikát od Thawte

Postupy pro jednotlivé instalace pro jednotlivé programy jsou zde na stránce Install SSL certificate.
Návod na instalaci na serveru Apache je zde Install Extended Validation Certificate on Apache
Zajimavostí je, že u Thawte musíme vyplnit stahovací formulář a potvrdit pravidla užití kořenových certifikátů, které stáhneme zde. Což se tuším u VeriSign nemuselo.
Nastavení Apache je již obdobné jako u puvodního příspěvku. Důležité jsou opět direktivy SSLCACertificateFile a SSLPassPhraseDialog.
Kontrolu certifikatu na serveru můžeme proveřit pomoci Browseru, nebo z příkazové řádky, pomocí prikazu. Velmi pekný a ucelený návod na OpenSSL je zde.
openssl s_client -connect www.google.com:443
čtvrtek 27. května 2010
Jak mazat DNS cache na windows z cmd
Aktuálně jsem si stáhnul toto. Opět mě překvapilo ze pomoci FF jsem s download neuspěl . IE hnus jsem poustet nechtel.
WindowsXP-KB838079-SupportTools-ENU.exe

Jakožto velmi občasný uživatel windows s oblibou používám Cygwin + rxvt, edituju si cygwin.bat takto.
@echo off
C:
chdir C:\cygwin\bin
rxvt -sr -sl 2500 -sb -geometry 90x30 -fg lightblue -bg midnightblue -tn rxvt -fn "Lucida Console-14" -e /usr/bin/bash --login -i
Konzole je pak skutečně textová. Moje averze k cmd.exe je asi zjevná.
Mazání cahce pomocí příkazu je pak parádička.
USER@WINXP ~
# dnscmd.exe dc-server /ClearCache
dcserver completed successfully.
Command completed successfully.
čtvrtek 6. května 2010
ubuntustart script for 10.04
https://launchpad.net/ubuntustart/+download
Nač strácet čas ručním nastavováním, když si někdo dal práci a připravil šikovný nástroj na poinstalační nastavení.
čtvrtek 15. dubna 2010
Rychost disku
Testovací programy:
FreeBSD
diskinfo -t /dev/ad0
Linux
hdparm -tT /dev/sda
Dalším velmi zajímavým nástrojem je Bonne++
pátek 2. dubna 2010
Soubor v balíku ?
FreeBSD
pkg_which file
Linux RPM Base
rpm -qf file
Ubuntu
dpkg -S file
Debian
apt-file file
úterý 5. ledna 2010
Jak na SSL certifikát Secure Site Pro with EV od VeriSign

CSR jsem jsem si vytvořil následovně.
openssl req -newkey rsa:2048 -sha1 -nodes -keyout private.key -out public.csr
Protože EV certifikát vyžaduje velikost privátního klíče 2048. Takto vytvořený CSR sice bezproblémově prošel certifikací, ale web server Apache odmítal nastartovat natož nahodit 443 virtual. V logu ssl_engine_log se objevovalo toto.
[error] Init: (www.domena.cz:443) Unable to configure RSA server private key (OpenSSL library error follows)
[error] OpenSSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
Po dlouhém hledání a nastudování patřičných návodů k dané chybě, jsem ověřil že modus nesedí (není stejný), což je vyžadováno. Nápomocné jsou tyto příkazy OpenSSL, které načtou informace o klíčí a certifikátu. Další nápověda je zde.
openssl x509 -noout -text -in www.domena.cz.crt-modulus | less
openssl rsa -noout -text -in www.domena.cz.key-modulus | less
Byl jsem tudíž donucen stávající a ověřený klíč Revokovat a vytvořit nové CSR a privátní klíč pomocí doporučených OpenSSL příkazů. Certificate Signing Request (CSR) Generation Instructions - Apache SSL
openssl genrsa -des3 -out www.domena.cz.key 2048
openssl req -new -key www.domena.cz.key -out www.domena.cz.csr
U VeriSign jsem narazil na problém při přepsání klíče.
Revoke and Replace
4) Summary
We are unable to continue with this enrollment for the following reason: eECAS_INSTANT_DN_NOT_MATCH
Dále jsem provedl jen Revoke a manuální přepsání, ale to nikam nevedlo.
2) Summary
We are unable to continue with this enrollment for the following reason:
eECAS_INSTANT_DN_NOT_MATCH
Po kontaktování podpory jsem byl nasměrován na popis chyby. Error: errors.ecas.1 during EV Certificate replacement no a po novém certifikačním požadavku, kde se u platby uvede Order Number na které je vázána již uskutečněná platba.
Pro korektní zprovoznění certifikátu je třeba nakonfigurovat Apache takto. Volba SSLPassPhraseDialog se užije jen v případě, že máme klíč s pass phrase k čemuž nás VeriSign nabádá.
SSLPassPhraseDialog exec:/usr/local/etc/apache22/certi/ssl_pwd.pl
SSLCertificateFile certificates/www.domena.cz.crt
SSLCertificateKeyFile certificates/www.domena.cz.key
SSLCACertificateFile certificates/intermediate.crt
nebo
SSLCertificateChainFile certificates/intermediate.crt
pondělí 19. října 2009
Kdy certifikát expiruje ?

Manually check the expiration date of an SSL certificate:
1. Retrieve the certificate.
$ echo "" | openssl s_client -connect server:443 > certificate
2. Check the expiration date of the certificate.
$ openssl x509 -in certificate -noout -enddate
notAfter=Nov 11 23:59:59 2010 GMT
Tak zase za rok :-) Orig návod je zde.
pondělí 13. července 2009
Údržba Firefoxu v Ubuntu
sudo apt-get install sqlite3
killall firefox
cd ~/.mozilla/firefox/*.default
for z in `ls *.sqlite`; do echo "VACUUM;" | sqlite3 $z; done
úterý 2. června 2009
sendxmpp command-line
Instalace je velmi jednoduchá
cd /usr/ports/net-im/sendxmpp/
make install clean
sendxmpp-0.0.8 Perl-script to send xmpp (jabber) messages
pkg_info -r sendxmpp-0.0.8
Information for sendxmpp-0.0.8:
Depends on:
Dependency: expat-2.0.1
Dependency: perl-5.8.9_2
Dependency: p5-YAML-0.68
Dependency: p5-XML-Parser-2.36
Dependency: p5-GSSAPI-0.26
Dependency: p5-Digest-SHA1-2.12
Dependency: p5-Digest-HMAC-1.01
Dependency: p5-Authen-SASL-2.12
Dependency: p5-ExtUtils-CBuilder-0.24
Dependency: p5-ExtUtils-ParseXS-2.19_1
Dependency: p5-Module-Build-0.33
Dependency: p5-Unicode-String-2.09
Dependency: p5-XML-Stream-1.22
Dependency: p5-Net-XMPP-1.02
Po instalaci je třeba nastavit účet, ze kterého budeme zasílat XMPP zprávu.
joe .sendxmpprc
smejdil@jabber.org:5222 heslo
chmod 0600 .sendxmpprc
echo "Test" | sendxmpp -s "Test" -r script lukas.maly@edu.mudk.cz
Teď už můžeme odeslat cokoliv ze standartního vstupu jako zprávu XMPP na jakýkoliv jabber účet.
grep imap /var/log/maillog | awk '{print $7}' | sort | uniq | sendxmpp -t -s "Seznam imap useru" -r script lukas.maly@edu.mudk.cz
Script se mi alespoň zatím nepodařilo zprovoznit s Jabber serverem OpenFire :-(
čtvrtek 18. prosince 2008
Jak zjistit UUID u nového disku
root@server:~# blkid
/dev/sda1: UUID="392822d3-208d-4e84-b015-a26509ce99e7" TYPE="ext3"
/dev/sda5: TYPE="swap" UUID="863f046c-8ee9-41fa-9184-4cf8eeef4d00"
/dev/sdb1: UUID="2847aa41-de17-4e42-ba06-207736d42269" TYPE="ext3"
no a do fstab přidáme toto:
# /dev/sdb1
UUID=2847aa41-de17-4e42-ba06-207736d42269 /data ext3 relatime
úterý 16. prosince 2008
Kamarád SED nahrazuje slova
sed -i 's/ugly/beautiful/g' /home/bruno/old-friends/sue.txt
nebo
find /home/bruno/old-friends -type f -exec sed -i 's/ugly/beautiful/g' {} \;
Též podnětné informce jsou zde:
http://student.northpark.edu/pemente/sed/sed1line.txt
Ale joe je taky dobrej kámoš
pátek 5. prosince 2008
Jak z CVS dostat starší projekt
Je to easy man cvs
Dále jak updatnou nový adresář
cvs -nq update -d # ukáže co je k updatnutí i s adresářema
cvs -d update sql_my
Jak archivavat TARem seznam souborů
pkg_info -L screen-4.0.3_5 > file_list.txt
tar: Removing leading `/' from member names
joe file_list.txt
Odstraníme / na začátku souboru
cd /
tar cvzf /tmp/screen_tar.tgz `cat file_list.txt`
Důvodem této opičárny je neexistence balíčku screen.
[FreeBSD /usr/ports/sysutils/screen]# make package
===> screen-4.0.3_5 may not be packaged: Tends to loop using 100% CPU when used from package - perhaps it hard-codes information about the build host.
Zdravím RSA a pfSense
středa 5. listopadu 2008
Find a exec cmd
chmod -R 655 /dir aplikuje práva i na adresáře, což je nežádoucí. Je možno použít find a jím vykonávat chmod.
find /tmp/ -name "*.txt" -exec chmod 400 "{}" \;
find /tmp/ -type d -exec chmod 755 "{}" \;
find /tmp/ -type c -exec chmod 664 "{}" \;
find /tmp/ -type d | xargs -n 1 chmod 775
Dale poznamka jak mazat pomoci find?
find dir/ -name CVS -exec rm -rf "{}" \;
čtvrtek 16. října 2008
FreeBSD Default UFS2 partiiton
newfs -U -O2 /dev/ad1s1d
Tak to vytvořený filesystém si alokuje 8% velikosti disku jako rezervu.
[root~]# dumpfs -m /dev/ad0s1e
newfs -O 2 -U -a 8 -b 16384 -d 16384 -e 2048 -f 2048 -g 16384 -h 64 -m 8 -o time -s 241058560 /dev/ad0s1e
Lze disk naformatovat s -m 1%
newfs -U -O2 -m 1% /dev/ad1s1d