Zobrazují se příspěvky se štítkemcmd sh. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemcmd sh. Zobrazit všechny příspěvky

středa 12. března 2014

dos2unix vs tr ^M

Řešil jsem úpravu konfiguraku apache na AIXu. Admin serveru přenesl konfigurák z Windows a tak při otevření editorem vi, je místo Enter ^M :-( Jak soubor převést do unixu ?

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 potřebujeme takzvaně grepnout nějaký textový soubor na výskyt nějakého řetězce, potřebujeme na to aplikaci grep, alespoň v UNIXových systémech je to věc prastará. Do windows si můžeme nainstalovat UnxUtils, ale ne vždy můžeme na servery toto instalovat.

Pokud je v systému PowerShell můřeme použít krkolomný příkaz Select-String.

PS C:\temp> Select-String -Path .\test.txt -Pattern "test"

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

Projekt
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

Kolega nalezl tento USB token Feitian ePass PKI token na jednom francouském shopu. Již dříve jsem po obdobném HW toužil. Pátral jsem zda by jej nechtělo koupit více lidí, ale ve finále měl danej shop pouze dva kousky. Celkově dva USB tokeny s poštovným stály 78,53€.

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 [
Jan Novak]:
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.

pkcs15-init --generate-key 2048-rsa --auth-id 01 --pin 1234

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
******a14eb3

Using reader with a card: Feitian SCR301 00 00
2048 65537 259843
******67908u
ssh-rsa AAAAB3Nz
******
Bw2Tfg

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.
Tyto alternativy jsem si zde uvedl jen proto, že jsem na rychlo hledal, zda se da nějaký USB token koupit v čechach. Patrně nebudou fungovat pod Linuxem.

pondělí 23. srpna 2010

APOD

APOD je zkratka z Astronomy Picture of the Day (Archív astronomických snímků dne)
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

Již v minulosti jsem zprovozňoval Extended Validation Certificate na web serveru Apache. Ale to bylo u jiné certifikační autority. Popsané to mám zde.

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

Sem tam potřebuji smazat DNS cache na Win DNS serveru. Je k tomu potřeba Support Tool

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

Pokud se někdo zabývá poinstalačními operacemi na novém Ubuntu 10.04, existuje šikovný script, který Vám mumožní vybrat si co potřebujete. Do systému se přídají externí repository a kupa dalších věcí, které stejně dříve nebo později budete potřebovat.

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

Doma jsem instaloval jedno PC s novějším HW a tak mě zajímala rychlost SATA disků. Zaklínadlem pro SATA II je zjevně AHCI. Jeho podporu a připadně povoleni v BIOSu budu jeste zkoušet a testovat.

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 ?

Občas je třeba zjistit, do jakého balíčku patří daný soubor. Nápomocné k tomu jsou tyto příkazy.

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

Řešil sem vytvoření SSL certifikátu a ověření u certifikační autority dále jen CA VerySign. Jednalo se o tento produkt Secure Site Pro with EV. V minulosti jsem měl zkušenosti s CA Thawte a tak jsem nestudoval všechny podrobnosti a to se mi vymstilo.

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 ?

Na tuto otázku je snadná odpověď. V browseru klikneme na zámek u https spojení. Bejvá v browserech v pravo dole. Z okna vlastnosti máme možnost vyčíst informace o certifikátu. Pokud chceme daný udaj zjistit pomocí pžíkazu openssl na příkazové řádce, jednoduchý postup je zde.

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

Včera jsem narazil na blok Petra Krčmáře, kde zmiňuje postup, jak defragmentovat profil Firefoxu, který posléze rychleji startuje. Né že bych přepisoval již napsané, sem si dělám svou poznámku pro své rychlé nalezeni. Pokud se defragmentace profilu dostane přímo do FF bude to jedině dobře. Můžu jen potvrdit, že mi po aplikaci VACUUM mi FF staruje o poznání rychleji.

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

Hledal jsem příkaz na odeslání XMPP zprávy z příkazové řádky. V portech FreeBSD jsem nalezl port /usr/ports/net-im/sendxmpp/.

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

Instaloval jsem server s / 5G parcelou pro systém. No a posléze jsem se rozhodl na ESX dané VM přidat disk s 512G jako /data. Klasika fdisk a mkfs.ext3 -m 1 /dev/sdb1. Na tom mení nic zváštního. Ale když chci pridat disk do fstabu, tak po staru je to jasne, ale po novu se disku přiděluje s UUID a to se v /dev/disk/by-uuid/ nějak neobjevilo. Kamarád googl poradil.

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

http://www.brunolinux.com/02-The_Terminal/Find_and%20Replace_with_Sed.html

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

cvs checkout -D 2008-08-21 www2007

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ů

Připravíme si seznam souborů např. programu screen


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

Při instalaci FreeBSD se disky formátují s defaultními volbami.

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