Command Line

Linux parancssor. Ismert és kevésbé ismert parancsok. Bash tippek, trükkök. Rövid scriptek.

Címkék

&& (1) A4 (1) ac3 (1) ack (1) acpi (2) AES (1) afzcamCreator (1) agrep (1) aha (1) ajánló (1) alias (2) alkönyvtár (4) android (1) animgif (2) apropos (1) audio (2) avi (6) awk (1) backup (5) badblocks (1) basename (3) bash (20) bash completion (1) battery (1) bc (1) blkid (1) boot (3) brew (1) brute force (1) bug (1) bzip2 (2) cab (1) cal (1) calibre (4) calibredb (1) camera (1) capability (1) cat (2) cd (4) cdialog (2) checkinstall (2) cikkajánló (2) ciklus (1) címke (2) cksum (1) clipboard (1) cmdtools (1) color (1) colordiff (1) column (1) commandlinefu (1) convert (8) corel aftershot pro (1) cp (1) cr (1) crop (1) csplit (1) curl (1) date (1) dátum (1) dd (8) ddrescue (1) deb (1) decimális (1) default value (1) defrag (1) df (1) dia (1) dialog (2) diff (6) digitális fénykép (14) dircolors (1) dirty cow (1) dlna (1) dmidecode (1) dng (2) dos (2) dos2unix (1) dropbear (1) dropbox (1) dt3 (1) du (3) dump (2) dv (1) dvd (10) dvdauthor (2) dvd rw tools (1) e2freefrag (1) e2fsprogs (4) ebook (2) editor (2) eh (1) eject (1) emacs (4) encfs (2) energiagazdálkodás (1) enfuse (2) Enigma (1) epub (2) ESC (1) espeak (1) exa (1) exe (1) exif (6) exiftool (12) exit (1) ext2 (1) ext3 (1) ext4 (1) f3 (1) fájl (1) fallocate (1) fdisk (3) fdupes (1) feh (2) felhő (1) felirat (1) ffmpeg (12) filefrag (1) find (6) for (3) format (1) fortune (1) fred weinhaus (1) fuck (1) fuse (4) fuse-lgefs (1) fzf (1) gdatafs (1) genisoimage (3) getcap (1) getfacl (1) getmail (1) ghostscript (1) gif (1) gifsicle (1) glances (1) gnumeric (1) gnuplot (1) gömb (1) google (1) google drive (1) gotty (1) GPAC (1) gparted (2) gpg (3) gpg-zip (1) gplaycli (1) gps (3) gpsbabel (1) graphviz (1) grep (3) grive (1) grive2 (1) groff (1) growisofs (1) gs (1) gtk (1) gunzip (1) gzip (2) h264 (2) hálózat (1) handbrake (1) hangosítás (1) hardver (1) hard link (1) hash (2) hashcat (1) haszontalan (1) hdd (6) head (1) helyettesítés (1) hexadecimális (2) hibernate (1) homebrew (2) hp (1) hp-levels (1) html (1) http (1) hugin (1) icewm (1) icewm-light (1) identify (1) if (1) ifconfig (2) ifs (1) igo (1) imagemagick (12) imap (1) index (1) install (1) installer (1) iotop (1) iperf (1) iso (3) java (2) jelszó (6) jhead (1) jnettop (2) jogosultság (1) jpeg (4) jpg (2) jre (1) kapcsos zárójel (1) karakterkódolás (1) kdenlive (1) képméretezés (1) képnézegető (1) kernel (1) kétmenetes (1) keystore (1) keytool (1) kiegészítés (1) kindle (1) kódolás (1) könyv (1) kriptográfia (1) k x (2) lbzip2 (1) less (5) Levenshtein (1) lf (1) lg (1) linux (2) linuxbrew (1) linuxvilág (1) lm sensors (1) ln (1) log (1) losetup (1) ls (4) lsof (1) LS COLORS (1) lzw (1) mac (1) macos (2) mac address (2) mad (1) mail (1) mailbox (1) man (2) markdown (1) matroska (4) md5 (1) md5sum (2) mediainfo (1) melt (1) mencoder (5) merevlemez (5) meta (1) mikmod (1) minidlna (1) mjpegtools (1) mkv (6) mkvmerge (3) mkvtoolnix (4) mlt (1) mms (1) mogrify (1) monitor (1) montage (1) mount (3) mp3 (2) mp4 (1) MP4Box (1) mpg123 (1) mpg321 (1) mplayer (6) mplex (1) named (1) naptár (1) ncurses (2) nethogs (1) ng (1) nice (1) niceload (1) nl (1) nosztalgia (1) ntfsresize (1) numfmt (1) nyomtató (1) od (2) ogg (1) oktális (1) openssh (1) openwrt (1) óra (1) panoráma (1) parallel (3) parancsbehelyettesítés (1) parted (1) pass (1) paste (1) patch (2) pbcopy (1) pbpaste (1) pbzip2 (3) pdf (8) pdfcrack (1) pdfjam (1) pdfnup (1) pdftk (2) pendrive (2) pentax (6) perl (1) pgp (1) pgrep (1) PhotoRec (1) pi (1) picasa (1) picasaweb (1) pid (1) pigz (1) pipe (7) pktriggercord (1) play store (1) pm-utils (1) pop3 (1) popd (2) port (1) process (4) pushd (2) pv (3) pwgen (1) python (1) qimport (1) qpd (1) qr (2) qrencode (2) quotedprintable (1) random (1) randr (1) rdfind (1) readlink (1) recode (2) regiókód (1) reguláris kifejezés (2) rejtjelezés (2) renice (1) rfkill (1) rip (1) rm (1) rpm (5) rsa (1) rsync (2) sane (1) scanimage (1) screenshot (1) script (1) sebesség (1) sed (2) seq (4) setcap (1) setfacl (1) sha256sum (1) sha512sum (1) shellshock (1) shred (2) SIGINT (1) smp (3) sorszámozás (1) sort (2) sourse-highlight (1) space (1) sparse (1) split (2) ssconvert (2) ssd (1) ssh (3) sshfs (1) sshtron (1) startx (1) stat (1) stopper (1) suspend (1) symlink (1) sync (1) sysrq (1) systemd-analyze (1) systems (1) számológép (1) szenzor (1) szerver (1) szimbolikus link (1) szimbolikus lunk (1) szín (1) szkennelés (1) tail (2) tar (3) tee (3) testdisk (1) text (2) thefuck (1) tiff (1) time (1) timeout (1) tinta (1) titkosítás (3) tömörítés (4) top (2) töredezettségmentesítés (1) touch (2) tput (1) tr (1) transcode (5) trap (1) TRE (1) tree (2) tutorial (1) ufraw (2) ufraw batch (1) újság (1) unbuffer (1) uniq (1) unix (2) upower (1) urandom (1) user (1) utf 8 (1) változó (2) VBoxManage (1) véletlenszám (2) verem (1) vertical video syndrome (1) VHS (1) vi (4) vid.stab (1) video (2) vim (1) virtualbox (1) vob (1) vobcopy (1) wake on lan (1) watch (1) webkamera (1) webszerver (2) wget (1) which (2) whitespace (2) who (1) wifi (1) windows (3) woeusb (1) wol (1) X (1) x264 (1) xargs (4) xbacklight (1) xclip (2) Xdialog (1) xml (1) xmllint (1) xrandr (2) xxd (3) yes (1) youtube (1) youtube-dl (1) zárójeles (1) zbar (1) zene (1) zenity (2) zip (1) Címkefelhő

cikkajánló: Shell Scripts Matter

2017.06.13. 10:00 | sala | Szólj hozzá!

Nagyon könnyű csúnya shell scripteket írni. Valahogy könnyebben nyugtatom meg magamat, ha egy 40 soros bash script ronda, mintha egy 500 soros Java kód. Pedig a shell scriptekben lehet igazán tömören nagy károkat okozni.

Találtam egy nagyon jó cikket, ami segít abban ha szép, és ami még fontosabb megbízható kódot írni: https://dev.to/thiht/shell-scripts-matter

Címkék: cikkajánló script bash

exiftool gps

2017.06.10. 10:00 | sala | Szólj hozzá!

Fényképek GPS koordinátáját legegyszerűbben exiftoollal állíthatjuk be:

exiftool -GPSLongitudeRef=E -GPSLongitude=16.8436 -GPSLatitudeRef=N -GPSLatitude=46.8451 *.jpg

forrás: https://scribblesandsnaps.com/2011/11/23/easy-geotagging-with-exiftool/

Címkék: gps exiftool

Quoted Printable

2017.05.30. 10:00 | sala | Szólj hozzá!

Ősrégi unix mailbox fájlokat szerettel volna egyszerűen megnézni parancssorban, de ezekben az ékezetes betűk (többnyire) Quoted Printable formátumban vannak, ami eléggi nehezíti az olvashatóságot (pl. cs=FCt=F6rt=F6k).

A következő egyszerű alias segít nagyon sokat:

$ alias qpd='perl -MMIME::QuotedPrint -pe '\''$_=MIME::QuotedPrint::decode($_);'\'''

 Ezután less helyett qpd-vel lehet belenézni a fájlokba:

qpd sent-mail-sep-2003

pontosabban mivel akkoriban még nem UTF8-at használtam, jól jön recode is:

qpd sent-mail-sep-2003 | recode latin2..utf8

forrás: https://gist.github.com/jjarmoc/1571540

Címkék: perl mailbox recode qpd quotedprintable

jhead fájlátnevezés

2017.04.30. 10:00 | sala | 4 komment

Fényképek tömeges átnevezésekor talán a legegyszerűbb eszköz a jhead. A következő parancs a kép készítésének időpontja alapján nevezi át a jpeg fájlokat:

jhead -n%Y%m%d_%H%M%S_%f *.jpg

A futtatás után imgp1000.jpg fájlból 20170428_100145_imgp1000.jpg lesz. Többféle formátumot használhatunk, nekem a fenti példa főleg akkor hasznos, ha több géppel fényképezek egyszerre, ezzel időrendbe lehet tenni a fájlokat. (Persze többnyire csak ezután)

 Biztos meg lehet ezt oldali exiftoollal is, ha igen, otegi megírja.

Címkék: digitális fénykép jhead

du rejtett alkönyvtár

2017.04.27. 10:00 | sala | Szólj hozzá!

Egy alkönyvtáram helyfoglalását akartam ellenőrizni du-val, de valahogy hiányzott néhány gigabájt.

Az általam többynire használt

du -ms *

sajnos teljesen ignorálja a rejtett alkönyvtárakat. Ha azokról is adatra lenne szükségünk, akkor a következő módon kell du-t meghívni:

du -ms .[!.]* *

Címkék: du

defrag

2017.04.18. 10:00 | sala | Szólj hozzá!

Bár szinte mindig linuxos parancssori eszközökről írok, elvileg használhatunk parancssort más operációs rendszereknél is. Egy Windows Vistás gépnél (nem, nem az enyém) szerettem volna ellenőrizni a merevlemez töredezettségét. A beépített GUI teljesen használhatatlan: nem ad semmi információt arról, hogy mennyire töredezett a lemez, munka közben is csak annyit ír ki, hogy a töredezettségmentesítés több óráig is eltarthat, de nem írja ki hogy hol tart a munkában.

A programnak van egy használhatóbb parancssoros változata is:

C:\windows\system32>defrag C: -a -v
Windows Lemeztöredezettség-mentesítõ
Copyright (c) 2006 Microsoft Corp.

Elemzési jelentés a következõ kötethez: C:

    Kötetméret                          = 140 GB
    Szektorcsoportméret                 = 4 KB
    Felhasznált terület                 = 121 GB
    Szabad terület                      = 19.18 GB
    Szabad terület (százalék)           = 13 %

Fájl töredezettsége
    Fájl töredezettsége százalékban     = 1 %
    Áthelyezhetõ fájlok összesen        = 262,353
    Átlagos fájlméret                   = 483 KB
    Összes töredezett fájl              = 2,051
    Összes töredékek száma              = 8,266
    Töredékek átlagos száma fájlonként  = 1.03
    Nem áthelyezhetõ fájlok összesen    = 72

Szabad terület töredezettsége
    Szabad terület                      = 19.18 GB
    Szabad terület összesen             = 32,639
    Szabad területek átlagos mérete     = 616 KB
    Legnagyobb összefüggõ szabad terület        = 4.62 GB

Mappa töredezettsége
    Mappák száma                        = 33,941
    Töredezett mappák száma             = 31
    Mappatöredékek száma                = 121

Fõ fájltáblázat (MFT) töredezettsége
    A teljes MFT-méret                  = 298 MB
    MFT-rekordszám                      = 264,595
    MFT-használat százalékban           = 86
    Összes MFT-töredék                  = 8

    Megjegyzés: Az NTFS-kötetek 64MB méretûnél nagyobb fájltöredékeit nem tartalmazza a töredezettségi statisztika

    Nem kell töredezettségmentesíteni a kötetet.

Végül a töredezettségmentesítést nem futtattam le a, de elvileg a következő parancs kellett volna:

defrag C: -v

 

Címkék: windows defrag töredezettségmentesítés

glances

2017.04.15. 10:00 | sala | Szólj hozzá!

Már több tophoz hasonló programról írtam (iotop, jnettop, lm_sensors) nemrég hívták fel a figyelmemet egy olyan programra, ami igyekszik az összes ilyen erőforrást egyszerre figyelni (más programokra épülve persze), így egyetlen egy képernyőn ellenőrizhetjük a gépünket (értsd: kereshetjük, hogy mi a fene lassította már megint le).

Hosszas magyarázat helyett a következő screenshot elég jól megmutatja, mire képes a glances:

glances.png

 A tippet köszönöm Ricsinek.

Címkék: top glances

exiftool if

2017.04.04. 10:00 | sala | Szólj hozzá!

Az exiftool oldalán olvastam ezt a figyelmeztetést:

If you find the need to use "find" or "awk" in conjunction with ExifTool, then you probably haven't discovered the full power of ExifTool. Read about the -ext, -if, -p and -tagsFromFile options in the application documentation.

Nos, valóban szoktam használni find-ot (sőt, cut-ot, grep-et...) exiftoollal, szóval megnéztem az ajánlott opciók közül if-et.

Tegyük fel van rengeteg képünk amiket különféle fényképezőgépekkel készítettünk. Azon belül pedig természetesen különféle beállításokkal. A következő paranccsal megkereshetjük a Pentax K-x géppel ISO 400-as beállítással készült képeket és kilistázhatjuk a rekeszt és az expozíciós időt:

$ exiftool -aperture -shutterSpeed -if '$Model eq "PENTAX K-x"' -if '$ISO eq 400' ~/Pictures/2016*
======== /home/user/Pictures/20160304/imgp7890.jpg
Aperture                        : 13.0
Shutter Speed                   : 1/60
======== /home/user/Pictures/20160305/imgp7891.jpg
Aperture                        : 13.0
Shutter Speed                   : 1/60
   58 directories scanned
  587 files failed condition
    2 image files read

Címkék: if exiftool

cp helyett rsync

2017.03.09. 10:00 | sala | Szólj hozzá!

A cp (copy) parancs az egyik legalapvetőbb utasítás, de van néhány hátránya. Leginkább engem az zavar, hogy nem kapok arról visszajelzést, hogy hol is tart a másolás. Elég sokan azt javasolják, hogy használjunk inkább rsync-et. Korábban erről a parancsról már írtam, archiváláshoz használom.

Ha cp helyett a következő paraméterezését szoktam használni:

rsync -ah --progress

Bátrabbak akár a alias-t is beállíthatnak, hogy cp helyett ez fusson, ezzel kapcsolatban azért vannak fenntartásaim.

Címkék: cp rsync

ffmpeg hangosítás

2017.03.03. 10:00 | sala | Szólj hozzá!

Ha túl halk egy videónk, a következőképpen hangosíthatjuk fel egyszerűen:

Először is elemeztetjuk ffmpeggel a hangsávot:

$ ffmpeg -i input.mp4 -af "volumedetect" -f null /dev/null

[Parsed_volumedetect_0 @ 0x18157c0] n_samples: 349184
[Parsed_volumedetect_0 @ 0x18157c0] mean_volume: -24.5 dB
[Parsed_volumedetect_0 @ 0x18157c0] max_volume: -9.5 dB
[Parsed_volumedetect_0 @ 0x18157c0] histogram_9db: 13
[Parsed_volumedetect_0 @ 0x18157c0] histogram_10db: 28
[Parsed_volumedetect_0 @ 0x18157c0] histogram_11db: 179
[Parsed_volumedetect_0 @ 0x18157c0] histogram_12db: 513

Ez elég sok mindent kiír, vastaggal jelöltem a számunkra lényeges értéket. Ezután ezt ez értéket felhasználva felhangosíthatjuk a videót:

ffmpeg -i input.mp4 -af "volume=9.5dB" -vcodec copy -acodec libvo_aacenc -b:a 192k output.mp4

Nyilván ez egy igen egyszerű módszer, lehet ennél sokkal jobb módszereket is találni, de az esetek többségében nekem ez pont elég.

Forrás:http://superuser.com/a/323127/8240

Címkék: audio hangosítás ffmpeg

lsof port

2017.01.07. 10:00 | sala | 3 komment

Arról már írtam, miként lehet lsof használatával megtalálni, melyik process nyitott meg egy fájlt. A program arra is használható, megy megtaláljuk, melyik program fogja a portjainkat.

Lekérdezhetjük a port száma alapján:

$ lsof -i tcp:17500
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dropbox 6153 user 76u IPv4 33907 0t0 TCP *:17500 (LISTEN)
dropbox 6153 user 77u IPv6 33906 0t0 TCP *:17500 (LISTEN)

Lekérdezhetjük a szolgáltatás neve alapján is:

$ lsof -i :ntp
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
chronyd 3667 chrony 1u IPv4 23833 0t0 UDP *:ntp
chronyd 3667 chrony 2u IPv6 23834 0t0 UDP *:ntp

Címkék: port lsof

ffmpeg osztott képernyő

2017.01.04. 10:00 | sala | Szólj hozzá!

Az előző bejegyzésemben szerepelt két osztott képernyős felvétel, amit ffmpeggel készítettem.

Az első felvételnél két videót ragasztottam egymás mellé, így a két 1920x1080-as videóból egy 3840x1080-as videót kaptam:

ffmpeg -i bal.mkv -i jobb.mkv -filter_complex "[0:v]pad=iw*2:ih[bg]; [bg][1:v]overlay=w" output.mkv

A második esetben a bal oldali videó bal felét a jobb oldali videó jobb felével ragasztottam össze és egy néhány pixeles fekete csíkkal emeltem ki az összeillesztés helyét. Az eredmény így egy 1920x1080-as videó:

ffmpeg -i bal.mkv -i jobb.mkv -filter_complex "[0:v]crop=iw/2-4:ih:0:0[left]; [1:v]crop=iw/2:ih:ow:0[right]; [left]pad=2*iw+8:ih[bg]; [bg][right]overlay=w" output.mkv

Címkék: ffmpeg

Videostabilizálás

2017.01.01. 10:00 | sala | Szólj hozzá!

Ha nem állvánnyal készítjük a videóinkat akkor jó eséllyel remegős lesz a felvétel amit utána korrigálni illik.

A vid.stab könyvtár több editáló programban is megtalálható, én ffmpeggel használtam.

Könnyen lehet, hogy a disztribúciónkban található ffmpegben nincs bent ez a könyvtár és saját ffmpeget kell fordítanunk.

A stabilizálás két lépésből áll, először csak megvizsgálja a videót a program és egy transforms.trf fájlban gyűjti össze az adatokat, a második lépesben e fájlt felhasználva történik a tényleges stabilizálás:

ffmpeg -i input.mov -vcodec libx264 -acodec aac -vf vidstabdetect output.mkv
ffmpeg -i input.mov -vcodec libx264 -acodec aac -vf vidstabtransform output.mkv

Eredeti videó

Nem túlzottan remeg, de teljes képernyőn azért jól látszik, hogy nem használtam állványt.

Stabilizált videó

Egymás mellett a két videó teljes méretben

Egymás mellett a két videó fél méretben

 

Címkék: ffmpeg vid.stab

encfs --reverse

2016.12.03. 10:00 | sala | Szólj hozzá!

Általában ha egy alkönyvtárat titkosítunk (pl. encfssel) akkor titkosítva tároljuk az adatokat a merevlemezen és csak jelszóval férhetünk hozzá a titkosítatlan adatokhoz. Lehetőségünk van ennek a fordítottjára is.

Akiben felmerül, hogy mi értelme van ennek: Van egy alkönyvtáram amit lokálisan nincsen titkosítva (annyira nem tikos) de azért a felhőbe nem szeretném titkosítatlanul feltölteni.

Ha van egy titkosítatlan alkönyvtárunk (/tmp/dir1) akkor a következő paranccsal titkosíthatjuk ezt:

encfs --reverse /tmp/dir1 /tmp/dir2

Néhány kérdés után (a jelszót is meg kell adnunk kétszer) létrejön a /tmp/dir2 alkönyvtár, ami a /tmp/dir1 titkosított változata. Már a fájlnevek is titkosítva vannak benne, így nem kell attól sem tartanunk, hogy a fájlnevek sokat elárulnak a tartalomról. Valójában ez persze csak egy virtuális fájlrendszer, vagyis nem fog órákig futni a titkosítás és nem is foglal el helyet a merevlemezen.

Nagyon fontos, hogyha vissza szeretnénk állítani a titkosított állapotból az eredetit, akkor nem elég a /tmp/dir2 alkönyvtár tartalma. Az előző parancs létrehoz még egy rejtett fájlt (/tmp/dir1/.encfs6.xml) amire szintén szükségünk lesz (és persze a jelszóra is):

ENCFS6_CONFIG=/tmp/dir1/.encfs6.xml encfs /tmp/dir2 /tmp/dir3

Ezután /tmp/dir3 az eredeti titkosítatlan verziót mutatja.

A backup programtól függően az is lehet, hogy encfs --reverse parancsot inkább rootként --public kapcsolóval együtt érdemes futtatnunk.

 

 

Címkék: backup titkosítás encfs

upower

2016.11.30. 10:00 | sala | Szólj hozzá!

Írtam már az acpi-ről amivel az akksi állapotát (is) ellenőrizhetjük. Az upower még több információt ad.

Először is kilistázhatjuk az upower által felismert eszközöket:

$ upower --enumerate
/org/freedesktop/UPower/devices/line_power_AC0
/org/freedesktop/UPower/devices/battery_BAT0
/org/freedesktop/UPower/devices/DisplayDevice

Valójában csak a battery_BAT0-ról fog érdemi információt adni:

$ upower -i /org/freedesktop/UPower/devices/battery_BAT0
  native-path:          BAT0
  vendor:               ASUSTeK
  model:                N750-62
  power supply:         yes
  updated:              Thu 24 Nov 2016 09:11:57 PM CET (6 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               discharging
    warning-level:       none
    energy:              42.313 Wh
    energy-empty:        0 Wh
    energy-full:         48.762 Wh
    energy-full-design:  69.486 Wh
    energy-rate:         23.831 W
    voltage:             11.1 V
    time to empty:       1.8 hours
    percentage:          89%
    capacity:            69.7435%
    technology:          lithium-ion
    icon-name:          'battery-full-symbolic'
  History (charge):
    1480018317    89.000    discharging
  History (rate):
    1480018317    23.831    discharging

Címkék: acpi battery upower

dirty cow

2016.10.27. 10:00 | sala | Szólj hozzá!

A dirty cow sebeshetőséget tesztelhetjük egy speciális programmal.

A /tmp/teszt fájl rooté és senkinek sincsen rá írási joga, néhány 'a' betű van benne:

$ ls -l /tmp/teszt
-r-----r-- 1 root root 5 Oct 26 08:55 /tmp/teszt
$ cat /tmp/teszt
aaaa

Nem túl meglepő módon sima felhasználóként nem tudunk a fájlba írni

$ echo 'bbbb' >> /tmp/teszt
bash: /tmp/teszt: Permission denied

A dirty cow tesztprogram használatával viszont meglepő módon bele tudunk írni a fájlba:

$ ./dirtyc0w /tmp/teszt cccc
mmap 7f7b1ab10000
madvise 0
procselfmem 50000000
$ cat /tmp/teszt
cccc

A sebeshetőség 2007 óta van benne a Linux kernelben, így mindenkinek erősen javasolt a frissítés.

Címkék: linux kernel dirty cow

pass

2016.10.14. 10:00 | sala | Szólj hozzá!

A nem túl fantáziadús nevű pass a Unix filozófiát követve egy igen egyszerű parancssoros jelszómenedszer. Magát a rejtjelezést gpg-re bízza.

Feltételezve, hogy gpg-ben van már egy Kulcs nevű kulcsunk, pass-t a következőképpen inicializálhatjuk:

pass init Kulcs

Jelszavaink változását git-ben is tárolhatjuk:

pass git init

Ez lehetőséget ad persze arra is, hogy a jelszavakat valami (remélheően védett) git szerverre feltöltsük.

Új jelszó hozzáadása:

pass insert web/dropbox

A jelszavakat csoportokba (és alcsoportokba) szervezhetjük, a fenti példában a web csoport dropbox nevű jelszavát menthetjük el. Kétszer kell beírni a jelszót, hogy a hibákat elkerüljük.

Ennek hatására létrejön a ~/.password-store/web/dropbox.gpg fájl ami a megadott gpg kulccsal van rejtjelezve.

Rögtön látszik itt az a két dolog ami miatt kritizálni szokás pass-t.

1. A fájl neve (ami nincs titkosítva) rögtön utal a szolgáltatásra. Az rögtön támadási lehetőség, ha tudni lehet, hogy milyen szerverekhez tárolunk el jelszót.

2. Általában nem egyszerűen szolgáltatásnév-jelszó párost kell eltárolnunk. Szinte mindig el kell tárolnunk egy login nevet is, elég gyakran egy webcímet, néha még több információt.

pass insert -m web/teszt

A második problémára pass azt a megoldást adja, hogy képes többsoros jelszót is tárolni (-m kapcsolóval), ahol az első sor az igazi jelszó, a többi sor a kiegészítő információkat tartalmazza.Itt igazában ránk van bízva, hogy a többi sorba mit írunk, a többen (pl. a qtpass GUI) a következő template használatát javasolják:

jelszó
login: usernév
url: webcím
többi komment

 Jelszavakat kilistázhatjuk (tree segítségével jeleníti meg az eredményt):

$ pass ls
Password Store
└── web
    ├── dropbox
    └── teszt

Kereshetünk finddal

$ pass find box
Search Terms: box
└── web
    └── dropbox

 A jelszót pedig show-val nézhetjük meg.

$ pass show web/dropbox
...

 Számtalan pass-ra épülő GUI van (Linux, Windows, Android, IOS, de még emacs csomag is), így az is használhatja, aki nem annyira kedveli a parancssort.

Címkék: jelszó pass

fzf

2016.10.08. 10:00 | sala | Szólj hozzá!

Az fzf (fuzzy finder) project egy parancssoros eszköz ami egy szövegfájlban tud olyan sorokat keresni amelyek "nagyjából" megfelelnek a keresési feltételünknek.

Önmagában ez elég haszontalan, viszont más programokkal (leginkább magával a shell-lel) összekapcsolva nagyon hasznos lehet. Elsőre kicsit fura volt használni, de minél többet használom annál kényelmesebbnek tűnik.Tipikusan olyan program aminél a leírások után nem volt világos hogy mire is jó, csak használatban derült ki számomra. (És az én leírásom sem lesz jobb ebből a szempontból).

CTRL-R

A CTRL-R segítségével ugye a bash history-ban kereshetünk, vagyis a korábban kiadott parancsaink között. Miután fzf-et installáljuk CTRL-R megváltozik. Egyrészt egy sor helyett egy teljes ablakban kereshetünk a korábbi parancsok között, másrészt begépelve a parancs egy részét, ügyesebben találja meg a korábbi parancsunkat. Egy gyakori példa, hogy egy adott alkönyvtárba akarok belépni ami elég mélyen van a faszerkezetben, legyen mondjuk ez a /egy/ketto/harom/kutya. Tudom, hogy már többször kiadtam a cd /egy/ketto/harom/kutya parancsot. Hagyományosan CTRL-R segítségével vagy cd-re keresek (de akkor a többi könyvtárváltásom is előjön) vagy kutya-ra (de akkor a könyvtárnevet tartalmazó többi parancs is előjön). fzf-fel elég beírnom annyit, hogy "cd kutya" és megtalálja a parancsot.

CTRL-T

CTRL-T hatására fzf az aktuális alkönyvtár fájljai között keres rekurzívan és a kiválasztott fájl nevét másolja a parancssorba.

**<TAB>

Nem mindig az aktuális alkönyvtárban keresünk, ha egy másik alkönyvtárban akarunk keresni, akkor **<TAB> hozza elő fzf-et.

feh -Fd ~/Pictures/**<TAB>

A példában a feh képmegjelenítőt használom, a ~/Pictures alkönyvárban fog képeket keresni.

Nem feltétlenül fog feh az összes fájl között keresni.

feh -Fd ~/Pictures/*_ef.jpg**<TAB>

Ebben a példában csak azokat a fájlokat listázza, amelyekre _ef.jpg "illeszkedeik". (Én így jelölöm az expozíciósorozattal készített fájljaimat).

Egyebek

Kicsit véletlenszerűnek tűnő módon fzf projectbe néhány egyéb parancs támogatása is bekerült (aztán később rájöttek, hogy ezt nagyon nehéz lesz karbantartaniuk, szóval már nem nagyon raknak be új parancsokat). Pl. támogatják a kill-t, vagyis a következő esetben

kill -9 <TAB>

fzf indul el és az éppen futó process-ek közül választhatunk.

Míg

unalias **<TAB>

esetén a beállított alias-ok között kereshetünk.

Címkék: fzf

gpg cache

2016.10.03. 10:00 | sala | Szólj hozzá!

gpg használatakor kényelmes, hogy a jelszót (passphrase-t) nem kell mindig begépelni, hanem egy ideig megjegyzi a rendszer. Biztonságtechnikailag viszont ez időnként elég bosszantó. A következő paranccsal el lehet felejtetni az éppen megjegyzett jelszavakat (feltéve, hogy gpg-agent-et használunk, és nem az elég agresszív gnome keyring managert):

echo RELOADAGENT | gpg-connect-agent

forrás: http://askubuntu.com/a/558158

Címkék: gpg

mkv vágása

2016.09.30. 10:00 | sala | Szólj hozzá!

Egy hosszabb mkv fájlból újrakódolás nélkül kivághatunk részleteket ffmpeggel:

ffmpeg -i hosszu.mkv -t 21.5 -c copy rovid.mkv

A fenti parancs az első 21.5 másodpercből készít új fájlt. Ha nem a fájl legeleje kell nekünk, akkor -ss kapcsolót kell használnunk.

Címkék: mkv ffmpeg

java keystore jelszó

2016.09.08. 11:00 | sala | Szólj hozzá!

Generáltam egy java keystore-t, benne egy kulcspárral:

keytool -genkey -noprompt -alias mydomain -keyalg RSA -keystore test_keystore.jks -keysize 2048 -dname "CN=commandline.blog.hu, C=HU" -storepass 123456  -keypass jelszo

A keystore jelszava 123456 a kulcspáré jelszo.

Brute force

Elég sok eszköz van, amivel brute force támadással megpróbálhatjuk feltörni a keystore jelszavát, én a keystorebreakert próbáltam ki, itt megadhatjuk milyen karakterek fordulhatnak elő a jelszóban. A legfeljebb 6 karakter hosszú csak számokat tartalmazó jelszavakat pillanatok alatt végigpróbálja:

java -jar KeystoreBreaker.jar test_keystore.jks 0123456789 000000 999999 4

Ehhez a feltöréséhez pár másodperc elég volt. Nyilván több idő kell ha nemcsak számok lehetnek a jelszóban, a legfeljebb 6 hosszú szám+kisbetű összes lehetőségének végigpróbálásához a program szerint 1.5 óra kellene, szám+kisbetű+nagybetűnél kb. 2 nap.

Itt tartottam a bejegyzéssel, ide jönne a rész ami leírja, hogy milyen jelszót (ne) válasszunk, amikor találtam még valamit.

Changepassword

 A changepassword nevű programmal egy keystore jelszavát változtathatjuk meg. Megkérdi a régi jelszót, az újat és létrehoz egy új keystore-t az új jelszóval ami a régi kulcsait tartalmazza:

$ java ChangePassword test_keystore.jks test_keystore2.jks
Enter keystore password: fogalmamsincs
Changing password on 'test_keystore.jks', writing to 'test_keystore2.jks'...
Enter new keystore password: ujjelszo

Egy igen furcsa van a programban, nagyszerűen működik akkor is, ha rossz jelszót adunk meg. A programot innen töltöttem le, élesben nem próbáltam ki, de a fenti egyszerű teszt alapján működik. A szerző alapján a kulcspár jelszavát nem lehet így lecserélni, az valóban biztonságos.

Titkon azért abban bízom én értettem valamit félre valamit és nem ennyire rossz a java keystore jelszókezelése.

Címkék: java jelszó brute force keystore keytool

grive2

2016.07.17. 10:00 | sala | Szólj hozzá!

Régóta próbáltam már keresni valamit amivel szinkronizálni lehet Linux alatt a Google Drive tartalmát. Az egyetlen eszköz ami nekem valamennyire működött a grive2.

Először a következő paranccsal kell indítani:

grive2 -a

Ez megnyit egy weboldalt ahol engedélyezhetünk hozzáférést google drive-unhoz, az ott kapott tokent bemásolva a parancssorba.

Ezután már elég a következő is:

grive2

Igazából ez a program sem működik túlzottan jól, egy igen friss javítás kellett ahhoz, hogy a feltöltés is működjön.

 

Címkék: google drive grive2 grive

rm helyett shred

2016.07.14. 10:00 | sala | Szólj hozzá!

Korábban már használtam shredet a merevlemez teljes tartalmának törléséhez, de ezt használhatjuk fájltörléshez is.

/dev/sdb6 partíción teszteltem:

$ echo 'EZNINCSAPARTICION' > test1.txt
$ strings /dev/sdb6 | grep -i EZNINCS
EZNINCSAPARTICION
$ rm -f test1.txt
$ strings /dev/sdb6 | grep -i EZNINCS
EZNINCSAPARTICION

Látszik, hogy a fájl törlése után is megmarad a partíción a fájl tartalma.

$ echo 'EZTENYLEGNINCSAPARTICION' > test2.txt
$ strings /dev/sdb6 | grep -i EZTENYLEG
EZTENYLEGNINCSAPARTICION
$ shred --remove test2.txt
$ sudo strings /dev/sdb6 | grep -i EZTENYLEG
$

Ha rm helyett shred-et használunk, akkor törlés után nincs nyoma a fájl eredeti tartalmának.

Címkék: rm shred

pwgen

2016.07.11. 10:00 | sala | Szólj hozzá!

Jelszót nem túl egyszerű generálni, szerencsésebb ezt is programra bízni. A pwgen elvileg olyan jelszavakat generál (a hosszt mi adhatjuk meg) amiket meg is lehet jegyezni.

A program érdekessége, hogy figyeli miként indítjuk a programot, és másként működik ha a program kimenetét átirányítjuk.

Alapesetben jó sok jelszót generál, hogy a mögöttünk leskelődő kolléga nem tudja a jelszót:

$ pwgen 10
Ath0iiph4u Aigh8aeh0o kia2ohd9Ei oe6iiRoo4N oxeizeiPh1 AeHuu7Zohp eiZ6eigahM
uf4aiph5Oi Epuxee6ieh aD7ieghei7 phogi2eiG2 oa6maeDai2 oop2ieh0Ua Aimeid3ewu
eicoo5Wieb yuT7siecho tuupo5uu0F thi1Oj3gie Xooyeux3oo aapozu6Cho Ohha3coodu
yaGhue7Zah uFooji4oox quuteec7Es ao8cuPh3ru AhGh4ohGa7 iHeivae6fi Que3oosaus
Ve9maek5wa ieG4autoob ahPith1aex eewaom3uF8 se1ahGhios Ba2chiez6A Oquoof9zo7
thiPhai2ph ha9Fe2joi0 seeWung4Na mahth9Noh8 Ahy4uth8Yi Phout3ahj3 coeThiwe0l
ze8lei4Yux julee6Asoo iubeeph1Oo foo9Iez9on jiTee1aeYi LohVaeng8s ieV8ui5ahf
Vie7eijein Eingoo4ahw Fai2zuuqu8 UTh8yiPier Ooyu4dohS1 KoocahNae5 oTha3mie3s
Gae2apie9i Quoh1Foh9a kai7Va4Iec soonioHei3 Ahque3engu ieY2Tai5bi quieje6Mia
aiwoob3Pim eeNu6Tei5v kool1dohLe ohies1Eich goht1Shoqu ieH3ahghoh tho2Sathai
eiK4uNgeen ahjook6eoG eiX5ieWeed aigaeFi6xu ulie0Oowah wohh9giMai ohHe8ieGie
bu9giebieX aeK7ohpoki ego2Thiepa eaPhaeMai1 ohBu6zieng koh5Aith4e Xo8veiquak
on4AhZei6g eish4Theih Batah5Opie lia4ohJ3oP aeN1piu8Fe Ievishah0i Oofagh1tah
Aix4Bich1g Eijeej6iej eeYah8aeSh ohdahh8Eec vea7Otohnu aiCh4Bi2ho rei3Riexiw
LeiMadei6E ohsei3Iequ oux7ohNgoh ooZ5aephah aKi0Loo9ku Si1bu6eela roo4Ab2oph
iYee7eeCho Hei8Cae3Oh tha4uShaeb eshosie1Oh kaih2Wae2l je3Ieceeye eeboo2Noh0
xuaNil9pi5 Che2chi7So lixeeMie5M ieFeik3thu phaiz3Phoo uWo8obah4y ahv8Taevah
ha5foo0Iph dougauPae4 eighuY1ael Gouthoh5yo aa4Eikai0j ii4ShixaeT eim2Wa8Xu5
ooC6ieQu7g Aerahr3ood AiBo5quuov SeL4Nuutha Uki9caewij wa2gaiNga0 teiPaef0Pu
ahGhao5eeH ahveiN1ahx shaekeQu1d bopheing9R Eephiet8ao toh8fiba2U gar7La8she

Ha átirányítjuk az outputot (az első példában fájlba, második példában clipboardra), akkor viszont csak 1 jelszót generál:

$ pwgen 10 > /tmp/a.txt
$ cat /tmp/a.txt
ohz7RaiGho
$ pwgen 10 | xclip

Ha ezek a jelszavak túl egyszerűnek tűnnek, akkor generáltathatunk bonyolultabbakat is (még a program sem igazából ajánlja ezt, hiszen ezeket szokta szinte mindenki leírni egy papírra és a monitorra ragasztani):

$ pwgen -sy 10 | cat
&f+=[7~D:x

A példákban szereplő egyik jelszót sem használom sehol.

Címkék: jelszó pwgen

gpg-zip

2016.07.08. 10:00 | sala | Szólj hozzá!

Írtam már korábban arról, hogyan lehet egy fájlt gpg-vel titkosítani. Ha egy teljes alkönyvtárat szeretnénk titkosítani, akkor gpg-zip-et használhatjuk:

$ gpg-zip -c -o titok.gpg dir
$ gpg-zip --list-archive titok.gpg
$ gpg-zip -d titok.gpg

Az első utasítás a dir alkönyvtárat titkosítja és létrehozza a titok.gpg fájlt. A második annak tartalmát listázza ki, a harmadik újra kicsomagolja a titkosított fájlt. Nyilván mindegyik kérdez jelszót.

Ha a korábbi példához hasonlóan inkább AES256-ot szeretnénk használni, akkor megtehetjük, de elég csúnya a szintaktika:

gpg-zip -c --gpg-args "--cipher-algo AES256" -o titok2.gpg dir

Azt igazából persze nem tudom, hogy miért jobb a gpg-zip mintha simán gyártanék egy tar-t és azt titkosítanám. Mivel gpg-zip egy shell script, belenéztem és azt látom hogy ez valóban csak a tart és a gpg-t kapcsolja össze.

Címkék: tar zip gpg gpg-zip

süti beállítások módosítása