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) ajánló (1) alias (2) alkönyvtár (4) android (1) animgif (1) apropos (1) audio (2) avi (6) awk (1) backup (4) badblocks (1) basename (3) bash (19) bash completion (1) battery (1) bc (1) blkid (1) boot (3) 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ó (1) ciklus (1) címke (2) cksum (1) clipboard (1) cmdtools (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) 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 (11) 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) 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) hash (1) haszontalan (1) hdd (5) head (1) helyettesítés (1) hexadecimális (2) hibernate (1) hp (1) hp-levels (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) iotop (1) iperf (1) iso (3) java (2) jelszó (5) 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) linuxvilág (1) lm sensors (1) log (1) losetup (1) ls (3) lsof (1) LS COLORS (1) lzw (1) mac address (2) mad (1) mail (1) mailbox (1) man (2) markdown (1) matroska (4) md5sum (1) 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) 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) patch (2) pbzip2 (3) pdf (8) pdfcrack (1) pdfjam (1) pdfnup (1) pdftk (2) pendrive (1) 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) 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 (2) sshfs (1) startx (1) stat (1) stopper (1) suspend (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) 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ó (1) 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 (2) wol (1) X (1) x264 (1) xargs (4) xbacklight (1) xclip (1) 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ő

ack

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

A grep parancsot szinte mindenki ismeri, több mint 40 éves, több új programot készítettek már a leváltására (én is írtam már pl. az agrep nevű változatról) az egyik ilyen próbálkozás az ack, ami a grephez hasonló, programozóknak szánt eszköz.

Használata végtelenül egyszerű, ha az aktuális könyvtárban (és rekurzívan az összes alkönyvtárban) szeretnénk rákeresni egy adott regexp mintára:

ack "A.*Task"

Ha nem akarunk az összes fájlban keresni, hanem csak a java források érdekelnek:

ack --java "A.*Task"

Hasznos, hogy automatikusan kihagyja .git, .svn, ... alkönyvtárakat.

 A weboldalukon (ahol az URL is már kissé furcsa) érdemes megnézni a többi érvet is amivel megpróbálnak győzni arról, hogy ezt használjuk inkább a grep helyett.

Címkék: grep ack

gotty

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

Ha parancssort használunk megoszthatjuk a terminálunkat egy weboldalon a gotty segítségével.

A

gotty top

parancs után a http://127.0.0.1:8080 oldalon megnézhetjük a top eredményét. Az oldal szépen folyamatosan frissül, ahogy top frissíti az eredményeket.

Alapesetben a weboldal csak megmutatja az eredményeket, de a -w kapcsolóval írási jogot is kapunk, vagyis a

gotty -w emacs -nw alma.txt

segítségével weboldalon keresztül editálhatjuk az alma.txt fájlt. (A -nw-ről itt írtam).

Sőt, a

gotty -w bash

hatására a weboldalon keresztül lényegében egy terminalt kapunk, ahová tetszőleges parancsot beírhatunk.

Mondanom sem kell, csodálatos biztosági réseket lehet ezzel az eszközzel nyitni, szóval csak óvatosan.

 

Címkék: bash webszerver gotty

pm-utils

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

Több módszerrel is lehet parancssorból hibernálni vagy készenléti állapotba tenni a gépet én pm-utils csomagot szoktam használni. A parancssor előnye, hogy egy este elindított hosszú folyamat után a gép magától "elalszik". Kissé mesterséges példa:

$ sleep 60 && pm-suspend

 

Címkék: hibernate suspend pm-utils

thefuck

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

Parancssor használata közben időnként hibázik az ember. Ilyenkor némi káromkodás után beírjuk a helyes parancsot. Ebben tud segíteni a szép nevű thefuck program ami az előző elrontott parancsot próbálja megjavítani.

Ha például véletlenül annyit írunk, hogy

git stats

akkor érhető módon git jelzi, hogy nem ismeri a stats parancsot. Ha ezután kiadjuk a

fuck

parancsot, akkor thefuck javasolja

git status

használatát. Ezt egy enterrel elfogadva le is fut a parancs.

A program github oldalán egy animált gif több példát is mutat.

 

Címkék: fuck thefuck

unbuffer

2017.08.19. 10:00 | sala | 2 komment

Elég sok olyan parancs van, ami (feltételezve, hogy egy modern terminált használunk) színeket használ. Ha viszont az eredményt less-szel nézzük, a színek elvesznek, mert a parancs érzékeli, hogy nem terminálra ír, hanem csak egy pipe-ba.

Vagyis például

git status

színes, de

git status | less

már nem színes.

Ha egyszerre szeretnénk less-t és színeket a következőképpen kell használnunk a parancsot:

unbuffer git status | less -r

Címkék: szín pipe unbuffer

afzcamCreator

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

Tisztában vagyok vele, hogy ez vélhetően még a többi bejegyzésnél is szűkebb réteget céloz meg, de ha valaki Corel AfterShot Pro 3-at szeretne használni, de az sajnos nem támogatja a fényképezőgépét, viszont támogat egy hasonló gépet (de nem beépítve, hanem letölthető camera profile-ként), akkor annak a valakinek érdemes lehet megnézni az afzcamCreator programom (bash script, szóval legalább nem offtopic).

Címkék: camera corel aftershot pro afzcamCreator

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