Evaggelos Balaskas - System Engineer

The sky above the port was the color of television, tuned to a dead channel

Blog
Posts
Wiki
About
Contact
rss.png twitter linkedin github gitlab profile for ebal on Stack Exchange

Next Page »
  -  
« Previous Page
Jan
14
2013
Use tags in Subject
Posted by ebal at 08:51:36 in blog, planet_Sysadmin

things that make me angry:

1. Empty Subject:

Its really annoying when people are not writing a subject in their emails.
I am sure that in hell exist a circle (dante’s inferno) only for that people.

2. Irrelevant Subject:

Its as annoying to write an irrelevant subject tittle as to not write at all.

eg.

Subject: Is internet down?
Body: i am having problem login into thunderbird, but google.com is opening just fine!

3. Body test in Subject:

Another annoying thing is when people are using subject title as the begin of their body:

Subject: Yesterday one of the servers
Body: crashed but i fix it

This isnt elegant - Be lazy on the right things

4. Large subject - aka write body text into subject:

no comment on that.

eg.
Subject: “Re: Fwd: Plz investigate the problem in communication between contact.center@example.com and customer.service@example.com accounts with the domain thisisnotanexample.com”

5. RE: & FWD:

aka mail chain spam

eg.
Subject: RE: FWD: FWD: FWD: RE: FWD: RE: hello kitty

i want to punch these people really hard

6. Urgent & SOS

eg.
Subject: URGENT THIS EMAIL IS URGENT - PLZ SOS
Body: I cant login into webmail

those types of email for unknown to me reason are always on my Trash!

emailcharter

There are a gazillion other things that can drive your coworkers to spit in your coffee, so read this:
emailcharter

Suggestion:

PLz Try using tags as subjects in your emails.

There are very useful in search and keep your recipients sane.

eg.
Subject: login problem with webmail
Body: I am opening google.com (so i know i have connectivity), but i cant login into webmail.
The msg error is: Wrong Credentials

And on that i would reply instantly with:

Subject: RE: login problem with webmail
Body: We are using the wrong password, try another.

and problem solved !

Tag(s): tags, subject, mail
    Tag: tags, subject, mail
Jan
09
2013
Are you reading this? You are a SPAMMER
Posted by ebal at 13:03:19 in blog

greek version ONLY

Ένας και μόνο έλεγχος για να διαπιστώσεις εάν ο λογαριασμός σου χρησιμοποιείτε από κάποιον άλλο για να στέλνει SPAM.

Το mail συνθηματικό σου είναι το ίδιο με το username ή 123456 ή [otenet|forthnet|hol|cyta][0-9]?

(πχ username: ebal123 & password ebal1234)

Τότε στέλνει κάποιος SPAM με τα στοιχεία σου.
Δεν έχει σημασία εάν δεν έχεις λάβει εσύ κάποιο από αυτό.

Έχω λάβει ήδη εγώ (postmaster)!

Σίγουρα κατά καιρούς, σου έχουν έρθει κάποια του στυλ: “Η αποστολή απέτυχε προς το huge_penis@example.com”
Εάν ακόμα δεν το κατάλαβες, αυτό δεν ήταν SPAM. Ήταν η απάντηση του spam email που έστειλαν με τα δικά σου credentials.

-Τι μπορείς να κάνεις;
Ευτυχώς που κάνεις αυτή την ερώτηση φίλε μου, άλλαξε το mail συνθηματικό σου σε κάτι με πολλούς χαρακτήρες.

πχ. ebal1234menoakomastospititismamasmou

Τόσο απλά.

Εάν διαβάζεις αυτό το άρθρο, σε παρακαλώ πολύ, άλλαξε το mail συνθηματικό σου τώρα.
Αλλιώς θα τα ξαναπούμε … όχι τόσο όμορφα.

-ebal

ΥΓ: Μάθε εδώ πως μπορείς να φτιάξεις ένα συνθηματικό

Tag(s): spam, mail passsword
    Tag: spam, mail passsword
Dec
22
2012
Using febootstrap in archlinux with local repo
Posted by ebal at 20:41:18 in blog, archlinux, planet_Sysadmin

The last few days i am working with febootstrap.
febootstrap is a tool to build a tiny linux appliance based on your system.

To build an appliance, febootstrap downloads every package it needs from the internet, using the defined repositories on your pacman.conf file.
If you want to test different packages or you have to build libguestfs, febootstrap will try to download again and again the packages from the internet.

The main reason is that it use a custom cachedir and root dir for fakeroot to take place and setup your new appliance.

I work-around that i posted a guide a few days back here. But that guide is telling you to edit your basic pacman.conf.

The developer of febootstrap, Richard WM Jones has a great amount of tolerance so i’ve bugged him enough to think about adding at febootstrap a command option for using your own pacman.conf file.

From today we (archers) can use febootstrap (from git at the moment - PKGBUILD is here) with our own custom pacman.conf file.

Below is a quick setup of using your own local/custom-repo/mirror with febootstrap without editing /etc/pacman.conf file.

If you have already downloaded or saved your packages to a custom location, you can bypass the first step.
The whole process doesnt need root privileges.

Step One:


$ mkdir -pv /tmp/cachedir
$ cp /var/cache/pacman/pkg/*pkg.tar.xz /tmp/cachedir/
$ repo-add /tmp/cachedir/local.db.tar.gz /tmp/cachedir/*

Step Two:


$ cp /etc/pacman.conf /tmp/
$ vim /tmp/pacman.conf 

comment out the exist repo sections: core - extra - community
add the below lines


[local]
SigLevel = Never
Server = file:///tmp/cachedir/

Step three :

test it !


$ febootstrap -o /tmp/ -v --names rsync --packager-config /tmp/pacman.conf
Tag(s): febootstrap
    Tag: febootstrap
Dec
20
2012
social media and do i care?
Posted by ebal at 10:21:06 in blog

greek post - random thoughts

Τον τελευταίο καιρό, όλο και περισσότερο διαβάζω για τα παράπονα και την γκρίνια των:

  • σε ποιον ανήκουν τα tweet μου,
  • σε ποιον οι φωτογραφίες μου,
  • σε ποιον το profile μου
  • σε ποιον τα προσωπικά μου δεδομένα

κι άλλα τέτοια.

Την “δημόσια” αρχή έκανε το facebook εδώ και μερικά χρόνια, αλλά ούτε η google - αλλά ούτε και καμία άλλη εταιρεία (data mining) δεν “διευκρινίζει” ξεκάθαρα ότι τα δεδομένα που εισάγεις - τους ανήκουν!

Αλλά τους ανήκουν.

Σάλος για το archive του twitter! Όταν δεις τι έχεις αναρτήσει … θα καταλάβεις ότι το χρησιμοποιείς λάθος.

πχ στην yahoo δεν μπορείς να διαγράψεις το profile σου - όπως και στο facebook πριν από λίγο καιρό.
Πιστεύεις δλδ όταν πατάς διαγραφή - αυτό ως δια μαγείας - διαγράφεται αυτόματα από παντού - από όλα τις συσχετίσεις - από όλα τα backup files ?

Κι όταν εγώ σε “δηλώσω” πάνω σε μια φωτογραφία; Αυτό θεωρείς ότι διαγράφεται;

Δεν θέλω να μείνω στο νομικό πλαίσιο - δεν έχω καν την διάθεση να μιλήσω για αυτό.

Ας γυρίσουμε λίγα χρόνια πίσω (πριν το 1999)
Στην αρχή του internet ήταν αυτονόητο ότι θα χρησιμοποιήσεις κάποιο handle κι όχι το πραγματικό σου όνομα. Πχ. Crash Override
Ποτέ δεν συμπλήρωνες καμία σελίδα με προσωπικά δεδομένα και ποτέ μα ποτέ δεν έκανες εγγραφή σε μια λίστα για DEALS ή που σου υπόσχεται 95% έκπτωση.

Και τώρα;

Τώρα ανεβάζεις προσωπικές φωτογραφίες:

δλδ την φωτογραφία με την γυναίκα σου και το νεογέννητο παιδί σου κάτω από το χριστουγεννιάτικο δέντρο, δίπλα στο τζάκι με ανοιχτό το χρηματοκιβώτιο να φαίνονται τα λεφτά από την άλλη πλευρά η 54” τηλεόραση και στο τραπέζι οι πιστωτικές σου κάρτες να φαίνονται

κι από κάτω ως λεζάντα γράφεις: “αύριο ξεκινάμε για διακοπές μια βδομάδα στο χωριό”
ενώ η φωτογραφία έχει κρατήσει το gps στίγμα και φαίνεται ακριβώς και η διεύθυνσή σου.

Στο δρόμο για το χωριό tweetάρεις: “στο δρόμο για το χωριό - ξεκινήσαμε πριν από μια ώρα”

Μετά από μια βδομάδα - γυρνάς στο σπίτι κι ως δια - μαγείας σου έχουν πάρει την τηλεόραση, το δέντρο και σου έχουν ξηλώσει και το τζάκι από τον τοίχο!

Ακόμα αναρωτιέσαι πως;

Ούτε εγώ προσέχω ή καλύτερα ΔΕΝ προσέχω όσο θα έπρεπε.

Data Mining:

“Η πληροφορική είναι η επιστήμη που ερευνά την κωδικοποίηση, διαχείριση και μετάδοση συμβολικών αναπαραστάσεων πληροφοριών”
Φαντάσου μια εταιρεία που κατέχει yottabytes από το σύνολο του πληθυσμού χωρίς καν να τα έχει εισάγει αυτή. Τα εισάγεις εσύ για αυτούς.
Το προϊόν είσαι εσύ !

Κάνε click εδώ και να μάθεις περισσότερα: Safe Browsing

Προσθήκη: Please Rob Me via comzeradd

Tag(s): social
    Tag: social
  • 1 comment
Dec
15
2012
febootstrap with custom PKGBUILDs in archlinux
Posted by ebal at 14:25:15 in blog, archlinux, planet_Sysadmin

There is an updated blog post about febootstrap. Click here

At some point, especially if you are using libguestfs, you will end up using febootstrap.

febootstrap is a tool to build a supermin appliance to boot strap a tiny base.img with the packages you need.

febootstrap support archlinux so we (archers) can use febootstrap or libguestfs based on an archlinux boot strap tiny appliance. So no extra work for archlinux in rescue virtual-machines or mount virtual disks.

febootstrap has the ability of searching through Arch User Repository to include any extra packages that dont exist in default repositories. This isnt the right way of installing packages from aur … but for lazy people febootstrap seems to do exactly what it should be.

Yesterday i’ve sent my first tiny ocaml patch at febootstrap for changing the location of aur packages.
You can check the patch here.
Hopefully its ok.

Today i want to write down the right way of installing extra packages from aur. The main reason is that aur has a lot of flagged-out-of-date packages and some of them are really … lets say the PKGBUILDs arent up-to-date or with proper dependencies. I am not expert in archlinux packaging so this from a user perspective guide.

1.

First, download the PKGBUILD you want (or use a customize abs PKGBUILD) of the package you need to install in febootstrap.

Check the PKGBUILD, correct the version, add checksum (for package integrity), review the dependencies, make the pkg. Check it again.
This is the most important thing. Try hard not to be lazy on this.

2.

Create the package with makepkg command. You’ll need base-devel packages for this.
Check the files inside the package

pacman -Qpl *.pkg.tar.xz

binaries must be under /usr/bin, libraries under /usr/lib

Be careful

3.

Create a new directory to hold your custom build packages from aur or abs.

eg.

 mkdir -pv /opt/custom_repo/

and move your *.pkg.tar.xz file (or files) under this directory

eg.

move *.pkg.tar.xz  /opt/custom_repo/

4.

At this point you are ready to create your custom repo db file

eg.

repo-add  /opt/custom_repo/repo.db.tar.gz  /opt/custom_repo/*pkg.tar.xz

and

5.

append the below lines at your /etc/pacman.conf file

[repo]
SigLevel = Never
Server = file:///opt/custom_repo/

type

pacman -Syy

to sync your repositories and you are done!

Now you can use febootstrap without searching in aur.archlinux.org for extra packages.

Tag(s): febootstrap, aur.archlinux.org, repo-add, PKGBUILD
    Tag: febootstrap, aur.archlinux.org, repo-add, PKGBUILD
Dec
14
2012
display the disk usage on virtual machines
Posted by ebal at 13:23:17 in blog, planet_Sysadmin

using virt-df is simple as writing df on your terminal.

Below a real life example:


# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     win2003                        running
 4     win2008                        running

# virt-df -d win2008 -h
Filesystem                                Size       Used  Available  Use%
win2008:/dev/sda1                          40G        38G       1.9G   96%
Tag(s): virt-df
    Tag: virt-df
Dec
12
2012
Why you cant buy online from Greek Stores
Posted by ebal at 10:04:12 in blog

Έχω μονάχα ένα laptop: FUJITSU SIEMENS: Amilo Si 1520. Τα τεχνικά του χαρακτηριστικά T5600 - 1.83 GHz - 2Gb Ram. H fujitsu το κατασκεύασε το 2005, εγώ το αγόρασα στα μέσα του δεύτερου εξάμηνου του 2006. 6 χρόνια δουλεύει μέρα νύχτα και πραγματικά θα μπορούσε να σας πει μερικές τρομακτικές ιστορίες. Τον τελευταίο καιρό όμως έχει αρχίσει να φτάνει στα όρια της ζωής του. Για να είμαι ειλικρινής την έχει περάσει πολλά χρόνια τώρα, αλλά έχει αντέξει στην χρήση μου, σε χτυπήματα και σε κάτι περίεργα ρεύματα (εντός κι εκτός ελλάδος).

Ψάχνω για τον αντικαταστάτη του και τον βρήκα στο πρόσωπο του FUJITSU UH572. Αναζητώντας μέσω skroutz το βρήκα διαθέσιμο (σε απόθεμα) στην cosmodata. Κοιτώντας τα χαρακτηριστικά διαπιστώνω ότι ο επεξεργαστής είναι ο: Intel Core™ i7 3617. Θέλω να δω εάν υποστηρίζει VT-x, VT-d (Hardware Virtualization)

κάπου εδώ ξεκινά ο Γολγοθάς μου

Ψάχνω πρώτα στην Intel - Δεν υπάρχει
Ψάχνω μετά στο site της fujitsu - Δεν υπάρχει
Ψάχνω μετά στο google - Υπάρχει, αλλά μόνο σε ελληνικά online καταστήματα !!!!!!!!

Μα πως είναι δυνατόν - αναρωτιέμαι.

Τηλέφωνο στην cosmodata, ο πωλητής με συνδέει με το τεχνικό τμήμα.

-(εγώ) Ενδιαφέρομαι για ένα laptop κι έχω μια ερώτηση σχετικά με τον επεξεργαστή του.
-(τεχν) Τι πρόβλημα υπάρχει;
-(εγώ) Δεν βρίσκω πουθενά στο internet το cpu model - νομίζω ότι έχει γίνει τυπογραφικό λάθος

…

-(τεχν) δεν έχω λόγο να αμφισβητήσω τον κατασκευαστή.
-(εγώ) δεν μπορείτε εσείς να μου πείτε το μοντέλο;
-(τεχν) όχι, δεν έχω μπροστά μου το laptop

μέχρι εδώ, σχετικά καλά. Δεν περιμένω να γνωρίζει κάτι παραπάνω. Απογοητεύομαι λίγο όμως γιατί δεν μπορεί να κάνει το κάτι παραπάνω ώστε να βρει το μοντέλο και να διορθώσει το site. Ξανά πίσω στο τηλεφωνικό κέντρο - τώρα με πωλητή

-(εγώ) Ενδιαφέρομαι για ένα laptop και θέλω να έρθω να το αγοράσω από το κατάστημα.
-(πωλ) Θα πληρώσετε παραπάνω, αγοράστε το online.
-(εγώ) Δεν με ενδιαφέρει, θα πληρώσω παραπάνω. Βλέπω είναι σε απόθεμα, θέλω να έρθω από εκεί.
-(πωλ) Μα θα πληρώσετε παραπάνω!

(πρώτη φορά στην ζωή μου, βλέπω πωλητή να μην θέλει να πουλήσει ακριβότερα)

-(εγώ) δεν με απασχολεί το ποσό. Θέλω να έρθω να το αγοράσω από κάποιο κατάστημα. Θέλω να μου πείτε όμως από ποιο κατάστημα ή πότε μπορώ να περάσω για να το αγοράσω/παραλάβω. Μην έρθω και είναι σε κάποια αποθήκη κάπου μακριά.
-(πωλ) Να σας συνδέσω με κάποιον άλλο.

φαντάζομαι ο αποθηκάριος/λογιστής κάποιος που να ξέρει την τύχη του.

-(εγώ): Ενδιαφέρομαι για κάποιο laptop. Θέλω να το αγοράσω από το κατάστημα. Βλέπω είναι διαθέσιμο, πείτε μου παρακαλώ πότε μπορώ να περάσω κι από που για να το αγοράσω/παραλάβω
-(αποθ): Ποιο μοντέλο
-(εγω): το τάδε …..(κωδικός)
-(αποθ): Είστε σίγουρος;
-(εγώ): Ναι, το βλέπω μπροστά μου στο site σας
-(αποθ): Είναι καινούριο ή παλιό;
-(εγώ): Δεν ξέρω
-(αποθ): Περιμένετε

…. … … (περιμένω) …

-(αποθ): Δεν υπάρχει αυτό το laptop
-(εγώ): Μα λέτε ότι είναι διαθέσιμο!
-(αποθ): Δεν υπάρχει

Προς: Cosmodata

  • Αναφέρεις ότι πουλάς ένα laptop με λανθασμένα τεχνικά χαρακτηριστικά σε απόθεμα που δεν υπάρχει. Περιμένεις δλδ τους πελάτες, να αγοράσουν διαδικτυακά, να πληρώσουν για κάτι που δεν υπάρχει, αλλά πουλάς σε απόθεμα. Αυτό λέγεται ΑΠΑΤΗ
Nov
20
2012
sourceforge and openid
Posted by ebal at 19:45:12 in blog, planet_Sysadmin

I am using OpenId and i have a personal OpenID provider based on simpleid.

I used to be able to login to sourceforge via https://balaskas.gr but i’ve removed my SSL from my website
(My SSL cert is signed by cacert and firefox doesnt accept cacert - thats another story).

So i wanted to re-configure my sourceforce access with http and openid.

I cant !

“There was an error using your OpenID.”

My logs

216.34.181.60 - - [21/Nov/2012:08:39:33 +0200] “GET / HTTP/1.1” 200 951 “-” “Zend_OpenId”
216.34.181.60 - - [21/Nov/2012:08:39:33 +0200] “POST / HTTP/1.1” 200 951 “-” “Zend_OpenId”

i’ve opened a support ticket but i got this:

“While we certainly allow users to use custom OpenIDs, we cannot guarantee that they work with our site. As such, we’re not going spend time troubleshooting that.”

right …. custom OpenID !

for the love of Bob, i am using a personal OpenID provider - i dont have a custom openid !

Tag(s): sourceforge, openid
    Tag: sourceforge, openid
Oct
10
2012
upgrade BusyBox on CyanogenMod
Posted by ebal at 08:28:58 in blog, planet_Sysadmin

To whom dont know what busybox is, plz stop using linux, android or any embedded device.

Step 1. Learn what version of kernel your device has.

my mobile use Marvel (ARMv6) kernel.

Step 2. Download your binary from here download busybox


wget -c http://www.busybox.net/downloads/binaries/latest/busybox-armv6l

Step 3. Copy busybox to your device


adb push busybox-armv6l /mnt/sdcard/

Step 4. Enter your device


adb shell

Step 5. Remount /system with read-write access


mount -o rw,remount /system
cd /system/xbin/

Step 6. Copy busybox to your system xbin dir


cp /mnt/sdcard/busybox-armv6l /system/xbin/

Step 7. Change permissions


chmod 0755  /system/xbin/busybox-armv6l

Step 8. Move your old busybox - dont remove it


cp busybox BusyBox-v1.19.4-cm7

Step 9. replace busybox


# busybox-armv6l cp busybox-armv6l busybox

simple as that !

Tag(s): busybox, android, CyanogenMod
    Tag: busybox, android, CyanogenMod
Oct
09
2012
Fedora 17 Selinux Ugrade - Bump!
Posted by ebal at 08:09:07 in blog, planet_Sysadmin

A customer of mine, had me approached to install a virtualization solution at his company.

The first goal was portability the second productivity.
I had to find a way (transparent from their employes) to remove their work environment from their hardware.

Productivity is easy … just remove any unnecessary software and keep their desktops as clean as they can be.

“Attention Span” is the big monster.

I found that with no-sound they couldnt listen to youtube or to internet radio stations or mp3 and they had to install a radio at their office.
One radio station, one music for all. That approach was much better than every other solution i could figure out.

Imaging a work space with 15 people, how every one wants to listen to a different music/news, youtube or whatever.
That was noise - and noise is the enemy!

As for portability - we dont want to use this old hardware - was easy enough too.
I’ve built a tinycorelinux image and convert every PC to a thin or thick client.
RDP to their Terminal Server was the only thing i had to ensure is working.

Dnsmasq is the simplest and best solution to do that (PXE).

created /tftpboot/ dir and worked my way through that.

I used fedora cause it is a virtualization box with all the latest versions of software.
I wanted to test fedora and selinux wasnt so bad after all.

Till the latest upgrade!


/tftpboot                                          directory          system_u:object_r:tftpdir_t:s0 
/tftpboot/.*                                       all files          system_u:object_r:tftpdir_t:s0

dnsmasq now needs dnsmasq_t


type=AVC msg=audit(1349450414.500:20456): avc:  denied  { read } for  pid=27175 comm="dnsmasq" name="tftpboot" dev="dm-1" ino=524451 scontext=system_u:system_r:dnsmasq_t:s0 tcontext=unconfined_u:object_r:tftpdir_t:s0 tclass=dir

relabeling is out of question.

The solution is to transfer all the necessaries files to a new directory that


semanage fcontext -l 

doesnt marked as something else and chcon the entire directory (recursive) to label to dnsmasq_t all files and dirs.

or to add a new policy rule that accepts dnsmasq_t for /tftpboot directory
or DISABLE selinux cause you’ll never now what else will through to you !

Its unacceptable to make such core changes without have a plan for backwards compatibility or a way to inform your faithful admin that he/shee will have a problem because you have destroyed everything he/she built the last year!.

Tag(s): fedora, selinux, dnsmasq
    Tag: fedora, selinux, dnsmasq
Oct
03
2012
vim wrapper for dns zone files
Posted by ebal at 09:01:08 in blog, planet_ellak, planet_Sysadmin

This blog post is based on Sotiris Tsimbonis’s work.

You should always checkzone the dns zone file you have just edited.

But you can also automate this, with a vim wrapper.

small changes @ Thu, 04 Oct 2012 14:03:15 +0300


#!/bin/sh
# ebal, Thu, 04 Oct 2012 14:03:15 +0300

/usr/sbin/named-checkconf 
RES=$?

if [ ${RES} -gt 0 ]; then
    echo ""
    echo "Fix the above errors before editing your zone file"
    echo ""
    exit ${RES}
fi

ZONE=$1
PREFIX="/var/named/"
CHECKSUM=`/usr/bin/sha1sum ${PREFIX}/${ZONE}`

/usr/bin/vim ${PREFIX}/${ZONE}

echo ""
echo "Checking ${ZONE} for errors..."
echo ""

/usr/sbin/named-checkzone -i local ${ZONE} ${PREFIX}/${ZONE}
RES=$?

if [ ${RES} -gt 0 ]; then
         echo ""
        echo "You need to fix the errors and try again."
        echo ""
        exit ${RES}
fi

SHA1SUM=`/usr/bin/sha1sum ${PREFIX}/${ZONE}`
if [[ "$CHECKSUM" != "$SHA1SUM" ]]; then
    echo "reloading zone ..."
    /usr/sbin/rndc reload  ${ZONE} 
fi

Tag(s): vim, wrapper, dns
    Tag: vim, wrapper, dns
Sep
28
2012
Vim English-Greek Spell Dictionary
Posted by ebal at 09:40:55 in blog, planet_Sysadmin

I use vim as my primary editor.


btw i've never believed in Vim Vs Emacs cause the are two very different 
programs that do very different staffs with very different ways.

Apples and Orange.

The only (by me) common thing is that you can use them as editors too.

I use mutt as my primary MUA with $EDITOR=vim.

Writing frequently emails in more than one language can be harsh with no key bindings or a spell checker. You have to be very careful cause a tiny typo error can confuse a lot of people or worse.

People in sysadmin jobs understand what i mean a little better than others.

vim has been integrated with spell checking functionality. English (of course) are embedded.

To read all about that, open vim and on command mode write:


: help spell

If you want globally to map a function key to English spell checking functionality then, in /etc/vimrc write something like that:


:map <f5> :setlocal spell spelllang=en_us<return>

Next time you open vim (or editing an email through mutt) you can press F5 to spell check your text/email.

 

For Greek spell you need to google it. If you do that, then you’ll find instructions of using openoffice greek spell zip file for creating yours vim spell file (hint: mkspell). You can map it with F6 key and use it as above.

But I am writing both English & Greek and i am boring of typing F[what ever] key or switching languages and mpla mpla mpla mpla …

I use english_greek_spelling_dictionary of Firefox.

So how cool should be if a similar spell checking mechanism exist for vim ? A few days ago, linuxinside.gr had a tribute on pkst (Κώστας Παπαδήμας) and the idea strike me at that moment.

Here are the instructions of making your own



wget -c https://addons.mozilla.org/firefox/downloads/file/108368/english_greek_spelling_dictionary-0.5.5-tb+fx+sm.xpi
unzip english_greek_spelling_dictionary-0.5.5-tb+fx+sm.xpi
cd dictionaries/

At this point we will use mkspell.
Open vim:


vim

and on command mode type:


:mkspell engr English & Greek

The result is something like this:


Reading affix file English & Greek.aff ...
Trailing text in English & Greek.aff line 532: υ
Affix name too long in English & Greek.aff line 871: AA
Reading dictionary file English & Greek.dic ...
First duplicate word in English & Greek.dic line 588565: ΑΒΑ
12794 duplicate word(s) in English & Greek.dic
Compressing word tree...
Compressed 12575870 of 13454281 nodes; 878411 (6%) remaining
Compressed 15867 of 20446 nodes; 4579 (22%) remaining
Writing spell file engr.utf-8.spl ...
Done!
Estimated runtime memory use: 4415720 bytes

If you try to use a region name, then you will be facing the below error msg:


:mkspell en_gr English & Greek

E751: Output file name must not have region name

The result is : engr.utf-8.spl

We can move this to vim default spell location:


sudo cp engr.utf-8.spl /usr/share/vim/vim73/spell/

To map a key to English-Greek spell dictionary, open /etc/vimrc and add the below line:


:map <f6> :setlocal spell spelllang=engr<return>

Here is an example:

vim.spell.png

and here is the file (if you dont want to make it)

engr.utf-8.spl

Tag(s): vim, spell, English, Greek, firefox
    Tag: vim, spell, English, Greek, firefox
  • 1 comment
Sep
10
2012
How to determine if you are running a 32bit or a 64bit distro
Posted by ebal at 08:00:37 in blog, planet_Sysadmin

This is one of the most idiotic questions i am reading all the time on the web (linux related).

So lets take the most frequent answer on this:


file /bin/ls

If the result is 32 then you are using a 32bit distro.
If the result is 64 then you are using a 64bit distro.

SO ?

I ‘ve already knew that cause i installed a 32bit linux on my machine !
It’s obvious !

When people asking this question at 99,9999% of the times, they want to know if their machine has 64bit capabilities.
And at that point you have to give them a hint, that they have to look on their CPU flags.

I’ve comment on a blog (ubuntu related) that this isnt the right way cause you can install a 32bit distro on a 64bit CPU and if you are using file linux command you cant understand if your CPU is 64bit !

They immediately removed my comment (wat?)

My comment had an extra tip :

If the below command has output


grep ^flags /proc/cpuinfo | grep ' lm '

or in one line:


grep -E '^flags.* lm .*'  /proc/cpuinfo

then your cpu has Long Mode (x86-64) capabilities.

The definition of flags are in cpufeature.h
and can be found online here:

cpufeature

One other way is to search online the model name of your cpu. The model name can be also located in /proc/cpuinfo

  • 2 comments
Sep
05
2012
hackerspace
Posted by ebal at 08:35:00 in blog, planet_Sysadmin

Σήμερα στο hsgr έχουμε ανοιχτή συνέλευση: Meeting

Είναι ιδανική μέρα για να έρθετε, να μιλήσουμε, να μας γνωρίζεται, να συζητήσουμε τις ιδέες σας ή να λύσουμε κάποιες από τις ερωτήσεις σας.

Πατήστε εδώ για να δείτε πως θα έρθετε.

” Το Hackerspace είναι ένας ανοιχτός χώρος δημιουργικότητας, συνεργασίας, έρευνας, ανάπτυξης και φυσικά μάθησης. Είναι όμως και κάτι περισσότερο από ένας φυσικός χώρος. Είναι μια ενεργή κοινότητα ανθρώπων με ιδέες που πηγάζουν απ’ τη φιλοσοφία του Ελεύθερου Λογισμικού. “

HSGR Vision

Α. Νέα Μέλη

Εάν πιστεύεται ότι συμφωνείτε με το πως ρολλάρουμε κι επίσης συμμερίζεστε το όραμά μας, συμπληρώστε μια αίτηση για νέο μέλος (υπενθύμιση ότι το hsgr είναι φυσικός χώρος κι έτσι οι μέντορες ζητούν φυσική παρουσία από τα υποψήφια νέα μέλη).

Β. Εξοπλισμός

Donate for Hackerspace.gr Equip

Εάν έχετε διαθέσιμο εξοπλισμό να δωρίσετε στο hsgr (ή έχετε τρόπο να μας προσφέρετε εξοπλισμό ή έκπτωση) υπάρχει σε εξέλιξη αυτή η hsgr campaign.

φαίνεται πως έχουν παγώσει οι δωρεές - λογικό αυτό τον καιρό - μα κάθε βοήθεια ευπρόσδεκτη.

Γ. Τεχνικά Βιβλία

Εάν θέλετε να δωρίσετε τα τεχνικά σας βιβλία στο hsgr, με χαρά μας να τα δεχθούμε. Ίσως να μην τα πάρουμε όλα ! αλλά σίγουρα κάτι θα βρούμε για να εμπλουτίσουμε την βιβλιοθήκη μας.

Μερικά από τα ήδη υπάρχοντα βιβλία/περιοδικά στον χώρο είναι τα εξής: books
Ελεύθερα μπορείτε να έρθετε στο Hsgr για να διαβάσετε ένα από αυτά, χωρίς καμία δέσμευση.

Δ. Υπολογιστές

Έχουμε διαθέσιμα αρκετά spare κομμάτια ήδη. Δεν ζητάμε παραπάνω. Ζητάμε τεχνικούς με μεράκι να μας βοηθήσουν να τα συναρμολογήσουμε ώστε να φέρουμε σε ζωή παλιό εξοπλισμό. Για όσους υπολογιστές φτιάξουμε και δεν χρησιμοποιηθούν στο hsgr, θα γίνουν δωρεά σε ανθρώπους ή νέα παιδιά που δεν έχουν. Εάν έχεις χρόνο στην διάθεσή σου και ξέρεις να συναρμολογείς μπορείς να βοηθήσεις. Κι έναν να φτιάξεις για εμάς είναι αρκετό.

E. Workshops / Παρουσιάσεις aka Events

Είμαστε διαθέσιμοι για να ανοίξουμε τον χώρο σε όποιον φίλο θέλει να κάνει κάποια παρουσίαση ή workshop στον τομέα του.
open source is a philosophy - keep that in mind !

ΣΤ. Σύλλογοι / Ομάδες εργασίας

Ο χώρος είναι διαθέσιμος να φιλοξενήσει οποιοδήποτε ομάδα ή σύλλογο θέλει να κάνει τις συναντήσεις του στο hsgr.
Εάν υπάρχει μέλος του hsgr διαθέσιμο να σας ανοίξει, τότε απλά βλέπετε το πρόγραμμα του hsgr και δεσμεύεται την ημερομηνία.

Εάν δεν υπάρχει κάποιο μέλος του hsgr και θέλετε σε μηνιαία (ή εβδομαδιαία) βάση να έρχεστε, τότε το hsgr είναι ναι μεν διαθέσιμο (θα βρούμε εμείς κάποιο μέλος να ανοίγει τον χώρο), αλλά θα σας συζήσουμε μια μικρή συνδρομή για τα έξοδα του χώρου.

Ζ. Ψυγείο / Προμήθειες.

Στο χώρο έχουμε ένα ψυγείο. Μπορείτε να βοηθήσετε γεμίζοντάς το με αναψυκτικά ή μπύρεςςςςςςς!
Μπορείτε να βοηθήσετε κι απλά φέρνοντας ένα πακέτο καφέ, ζάχαρη (τσάι, σάμαλι, γαλλικό, ελληνικό, εσπρέσσο κλπ κλπ κλπ κλπ).

Η. Supporters

Σε αυτή την σελίδα έχουμε καταγράψει τους Supporters του hsgr:

ή ανώνυμα υπάρχει ένα donation box μέσα στο hsgr !

Κι εάν είστε μακριά και δεν μπορείτε να έρθετε, ορίστε πως μπορείτε να προσφέρετε:
Donate

Θ. Προπαγάνδα

Μπορείτε να μας βοηθήσετε κι απλά συμμετέχοντας στην προπαγάνδα μας:

Για να μην σας ταλαιπωρώ άλλο με το εκτενές post μου, ρίξτε μια ματιά στα events που έχουμε φιλοξενήσει μέχρι τώρα.

Tag(s): hsgr
    Tag: hsgr
Aug
28
2012
Shrink your backup images
Posted by ebal at 12:18:50 in blog, planet_Sysadmin

I am using LVM for storage to virtual machines.
One simply way to make backups (even if the machine is online) is through dd.

(but if you are using a database, online is out of question).

dd will backup the entire partition to a raw image.

Lets make an example:


# time dd if=/dev/vg01/winxp of=winxp.img bs=1024 
5242880+0 records in
5242880+0 records out
5368709120 bytes (5,4 GB) copied, 111,164 s, 48,3 MB/s

So we have a 5Gb backup raw image with sparse files into.
If only there was a way to remove sparse files to reduce the size!

Wait … it does exist: virt-sparsify


# virt-sparsify winxp.img winxp.img.spars
...
Sparsify operation completed with no errors.  Before deleting the old 
disk, carefully check that the target disk boots and works correctly.

# ls -ltr

-rw-r--r-- 1 root root 5368709120 Αύγ  28 11:55 winxp.img
-rw-r--r-- 1 root root 5368709120 Αύγ  28 11:59 winxp.img.spars

# du -h * 
5,1G    winxp.img
3,1G    winxp.img.spars

2gb sparse files have just removed !

Now you can compress the backup image to reduce the size even more:


# du -h winxp.img*

5,1G    winxp.img
3,1G    winxp.img.spars
1,4G    winxp.img.spars.lrz

We can now remove winxp.img & winxp.img.spars (8.2Gb) from our backup storage.

Tag(s): dd, virt-sparsify, lrzip
    Tag: dd, virt-sparsify, lrzip
  • 2 comments
Aug
22
2012
How i converted to systemd
Posted by ebal at 12:42:32 in blog, archlinux, planet_Sysadmin

I was thinking to convert to systemd for quite some time now
So every time someone mentioned something about systemd (on the internet), i was reading his/her story as my life depend on it.

I am using archlinux so when i’ve read Jason’s blog post,
i was very happy. After a few days, Allan post a similar post
and that was the moment i told my self: “It’s time, i can blame Allan for breaking my system”

I run this command


# pacman -S systemd systemd-arch-units systemd-sysvcompat

and removed sysvinit & initscripts also.

Noticed that /etc/rc.conf became /etc/rc.conf.pacsave
and rebooted my machine.

How difficult is that ?

 

There was also a few steps that i needed to do.

Your reading material is here: Archlinux systemd and
systemd services .

After that was trivial to enable my services.
I have only a few of them:


# grep DAEMONS /etc/rc.conf.pacsave 
DAEMONS=(syslog-ng network crond dbus avahi-daemon cupsd xinetd)

I use static network at work.
Followed this link to create my network service.


vim /etc/conf.d/network
vim /etc/systemd/system/network.service

# systemctl status network
# systemctl enable network.service

# systemctl status syslog-ng
# systemctl enable syslog-ng.service

be aware that cron is cronie !


systemctl status crond.service
systemctl enable cronie.service

systemctl status avahi-daemon
systemctl enable avahi-daemon.service

dbus was already enabled


systemctl status dbus

be aware that cupsd is cups


systemctl status cupsd
systemctl enable cups.service

and finally


systemctl status xinetd
systemctl enable xinetd.service

It was simplest than converted from grub to grub2 !

Tag(s): archlinux, systemd
    Tag: archlinux, systemd
  • 2 comments
Jul
02
2012
eurocrisis Vs eurocustomer
Posted by ebal at 11:12:45 in blog, planet_ellak

Μέρος Α. : eurocrisis

Η κακή διαχείριση των οικονομικών μιας κυβέρνησης, μιας εταιρείας ή ενός νοικοκυριού πηγάζει από την αλαζονεία των ανθρώπων.

Όταν οι τράπεζες σε έπαιρναν τηλέφωνο και σε παρακάλαγαν να πάρεις καταναλωτικά δάνεια, ήταν τότε οι καλοί μας φίλοι.
Τώρα που ζητάνε τα λεφτά τους πίσω, είναι οι χειρότεροι εχθροί μας.

Σίγουρα δεν θα μπορούσαμε να αποφύγουμε το σημερινό αποτέλεσμα, πιθανά όμως να μπορούσαμε να αλλάξουμε ελαφρώς το τελικό αποτέλεσμα.

Αναφέρθηκα πιο πάνω στην αλαζονεία των ανθρώπων και θέλω να το αποσαφηνίσω κάπου εδώ. Αναφέρομαι στο λεφτά υπάρχουν. Δεν είναι απλά μια ατάκα ενός πρωθυπουργού, αλλά η αντίληψη σχεδόν της μάζας τα προηγούμενα χρόνια. Να παίξουμε στο χρηματιστήριο με δανεικά λεφτά, να αγοράσω τέσσερις τηλεοράσεις και τρία αυτοκίνητα γιατί έχω λεφτά. Μου τα δίνει η τράπεζα κι εγώ με τον κατώτατο μισθό μου σε 13468 χρόνια μπορώ να τα αποπληρώσω. Μάλιστα υπάρχουν τράπεζες που σου δανείζουν για να πληρώσεις τα δάνεια κι αυτό φυσικά με μεγαλύτερο τόκο!

Οι τράπεζες ποτέ δεν χάρισαν χρήματα και ποτέ δεν έβαλαν τον μαχαίρι στο λαιμό κανενός. Δυστυχώς όμως η αλαζονεία των ανθρώπων να αποκτήσουν αυτό που δεν έχουν (ανάγκη) έφερε πολλά νοικοκυριά, επιχειρήσεις και κράτη στον δανεισμό και στην μη πληρωμή του κεφαλαίου, πόσο μάλλον των υπέρογκων τόκων.

Μέρος Β. : eurocustomer

Να διανθίσω αυτό το post με μία ιστορία:

Την παρασκευή είχα ένα ραντεβού σε μία τεχνική/μελετητική εταιρεία. Γνώριζα ήδη ότι οι εμπλεκόμενες στον κατασκευαστικό χώρο εταιρείες, τα τελευταία τρία χρόνια έχουν περάσει άσχημα. Βρέθηκα στην εταιρεία η οποία διαθέτει: μεγάλο ισόγειο χώρο, ευρύχωρο πατάρι με αρκετά γραφείο και αντίστοιχο με το ισόγειο, υπόγειο χώρο. Γραφεία παντού!

Ο πελάτης είχε δύο προβλήματα:

α. Έχασε ένα 24port switch.
b. Έχασε τον διαχειριστή του (έφυγε).

Έμεινα στην εταιρεία για περίπου μιάμιση ώρα, αρκετή για να σχηματίσω γνώμη κι άποψη για τον χώρο, την δομημένη, τους ανθρώπους, την υποδομή και τα οικονομικά της εταιρείας.

Διαπίστωσα ότι πρέπει να περάσω αρκετές βδομάδες μέσα στον χώρο για να πάρω την εταιρεία από το σημείο μηδέν, σε μια πολύ καλή εικόνα. Τα switches από τα λαμπιόνια τους φαινόταν ότι τα Χριστούγεννα έχουν έρθει λίγο νωρίτερα και γενικά η εικόνα των συστημάτων (γεμάτοι δίσκοι, απαρχαιωμένος εξοπλισμός) έδειχναν ότι οδεύουν προς τον αδη.

και κάπου εδώ ξεκινά το γαμώτο:

1.

- (εγώ) Καλύτερα να μην αγοράσετε ένα 24port switch (50€) αλλά ένα 48port (100€) για να αντικαταστήσουμε τα μικρά (έως 12port) switches και να μπουν στην άκρη για μια ώρα ανάγκης
- (πελάτης) Δεν γίνεται αυτό που λες, ξέχασέ το.
- Ορίστε;
- Δεν μπορεί να γίνει αυτό που ζητάς. Δεν υπάρχουν τα 50€ για την αγορά του 48port, θα πρέπει να αρκεστούμε σε αυτά που έχουμε κι ίσως να αγοράσουμε από βδομάδα (να αλλάξει ο μήνας) το 24port των 50€

κάπου εκεί ψιλοστράβωσα το στόμα:

- Μια διευκρίνηση, δεν έχετε τα 50€ να αγοράσετε το 24port ή δεν έχετε τα 100€ να αγοράσετε το 48port.
- Αυτή την στιγμή δυσκολευόμαστε πάρα πολύ, ξέρεις καλά ότι οι καιροί είναι δύσκολοι και μπλα μπλα μπλα μπλα μπλα

Συγνώμη καλέ μου άνθρωπε, από την στιγμή που ΔΕΝ έχεις ούτε 50€ να αγοράσεις ένα switch, ΤΙ ΣΚΑΤΑ με έχεις μιάμιση ώρα εδώ να κοιτάζω και να καταγράφω τι χρειάζεσαι; Πως στο διάολο θα με πληρώσεις εμένα; Με κουπόνια;

2.

Μια απλή ματιά στο patch panel μου δείχνει να καταλάβω ότι υπάρχουν περίπου 100 θέσεις εργασίας.
Κοιτώντας όμως τα switches, καταλαβαίνω ότι είτε υπάρχουν κενές θέσεις ή χαλασμένα μπριζάκια.

- (εγώ) Πρέπει να γίνει εκτενής έλεγχος σε όλη την δομημένη, patch panel και switches για να βρεθούν οι θέσεις εργασίας που δεν λειτουργούν.
- (πελάτης) Δεν είναι πολλά, πέντε νομίζω θέσεις εργασίας είναι.
- Μα εγώ διαπιστώνω ότι είναι πολύ περισσότερα, να ορίστε αυτό σημαίνει ότι είτε είναι κλειστές, είτε χαλασμένες. Έχετε υποδομή 100 θέσεων.
- Μα εμείς δεν είμαστε ούτε 40 άτομα, κάποτε ήμασταν παραπάνω, αλλά τώρα ούτε 40 δεν είμαστε.
- Τότε τι το θέλεις το 24port switch; Γιατί δεν ξηλώνεις αυτά που δεν παίζουν;
- Ε αφού υπάρχουν, ας είναι περασμένα κι εδώ!

3.

Ανεβαίνει μια στιγμή στο γραφείο του, καθώς τον ενημέρωσαν για ένα σημαντικό τηλεφώνημα και μένω στον χώρο με ένα παλικαράκι γενικών καθηκόντων.

- (παλικαράκι) Εκεί που δουλεύεις, είναι καλά;
- (εγώ) Καλά είναι, έχουμε κι εμείς προβλήματα βέβαια.
- α μάλιστα, δεν πληρώνεστε κι εσείς ε ;
- μας έχουν μειώσει τον μισθό, αλλά ναι πληρωνόμαστε.
- εμείς εδώ έχουμε να πληρωθούμε 7 μήνες!

4.

Γρήγορα γρήγορα ανεβαίνω στο γραφείο του για να μιλήσουμε λίγο για την υποδομή.

- (εγώ) ξέρετε, οι δίσκοι των servers έχουν γεμίσει και πιθανά στα επόμενα λεπτά να μην μπορείτε να αποθηκεύεται τα αρχεία σας στους fileservers
- Αποκλείεται, εάν είχαν γεμίσει θα το είχαμε καταλάβει.
- Μπορείτε απλά να το δείτε από τον υπολογιστή σας, αυτός ο map drive είναι.
- Πως;;;;; 628kb ελεύθερα. Μα πως; Πότε; Γιατί ;

Θεώρησα καλύτερο να τον λυπηθώ αντί να τον βρίσω (όπως του άξιζε). Του πρότεινα να βρει κανα φοιτητή που θέλει να βγάλει ένα μικρό χαρτζιλίκι, να πάρει ότι θέλει - θα έχει εγγύηση για ένα χρόνο - κι έφυγα.

  • 1 comment
Jun
18
2012
democracy crisis
Posted by ebal at 12:00:10 in blog

Περιμένω να πάρω καφέ κι ακριβώς μπροστά μου ανταλλάσσουν απόψεις δύο συνάδελφοι.

Ο ένας δε είναι λίγο χαζούλης (δύο μέτρα ύψος, γεροδεμένος, αλλά κινείται μονότονα σε έναν δικό του ρυθμού), ο έτερος μοιάζει λίγο … τυπάκος (hipster).

  • (hipster) Εάν έπρεπε να διαλέξεις ποιος θα ζήσει, εσύ ή κάποιος μετανάστης, τι θα επέλεγες;
  • (goofy) Φυσικά θα επέλεγα να ζήσουν και οι δύο.
  • (h) Μα πρέπει κάποιος να πεθάνει.
  • (g) Δεν πρέπει να πεθάνει κανένας.
  • (h) Δεν έχεις άλλη επιλογή, πρέπει να διαλέξεις ποιος θα ζήσει και ποιος θα πεθάνει. Εσύ ή κάποιος αλλοδαπός;
  • (g) Με την βοήθεια του Θεού, θα ζήσουν και οι δύο.

Αμέσως ένιωσα τους σφυγμούς μου να ανεβαίνουν.
Προσπάθησα να τους μετρήσω και προσπάθησα να γυρίσω το κεφάλι μου αλλού, μήπως και καταφέρω να ηρεμήσω τους χτύπους της καρδιάς μου.
Τα νεύρα μου όμως ήταν αρκετά τεταμένα κι αναγκάστηκα να δαγκώσω την γλώσσα μου, να σφίξω σε γροθιές τα χέρια μου και να κοιτάζω επίμονα τον τιμοκατάλογο για να μην εκραγώ.

Γιατί ρε αλήτη η δική σου ζωή, η δική σου ψυχή να αξίζει παραπάνω από έναν άλλο άνθρωπο;
Γιατί δεν προσπαθείς να μιλήσεις ως ίσος στον φίλο που νοητικά φαίνεται να είναι τελικά ανώτερος από σένα;

Πριν από λίγες μέρες, έγραψα στο stevyland ένα πολιτικό σχόλιο για τα τεκταινόμενα:

α.

” Καμία παγκόσμια κρίση δεν οφείλεται για το γεγονός ότι τα λεφτά από τα δημόσια ταμεία έχουν κάνει φτερά επειδή μια χούφτα ατόμων με την δική μας συναίνεση (ψήφο) τα έχουν κλέψει. “

β.

” Δεν έχουμε την παιδεία και την μόρφωση, την ηθική και τον σεβασμό, και δυστυχώς στεκόμαστε ανερυθρίαστοι μπροστά στο αποτέλεσμα των προηγούμενων εκλογών. “

γ.

” Σας παρακαλώ, μην ψηφίσετε πολιτικούς που με τις μέχρι τώρα αποφάσεις τους, προσβάλουν την νοημοσύνη σας. “

Αυτά ήταν τα key notes της απάντησής μου και πήρα την εξής απάντηση:

” Ευάγγελε, φλερτάρεις επικίνδυνα με τον φασισμό. Η ιδέα ότι η αλλαγή επέρχεται με την ηθική και την αλλαγή νοοτροπίας είναι μισανθρωπική, ρατσιστική και οικονομικά παρανοϊκή. “

Με λίγα λόγια, η γνώμη μου ότι υπάρχει παγκόσμια ηθική κρίση, το γεγονός ότι πιστεύω με βάση αποδείξεις ότι τα λεφτά μας έχουν κλαπεί κι η άποψή μου ότι όλοι άνθρωποι είναι ίσοι με κάνει φασίστα!

Πιστεύω με όλες τις ρανίδες (κι όχι μόνο την τελευταία μου) τους αίματός μου, ότι η μόρφωση και η παιδεία είναι που έχουν εν τέλη χαθεί. Η οικονομική κρίση που διανύουμε είναι απλά αποτέλεσμα της ηθικής κρίσης.

Στην δουλειά μου, χαίρομαι το γεγονός ότι με χαρακτηρίζουν:

  • Αναρχικό
  • Αριστεριστή
  • ΚΚΕετζή
  • Φασίστα
  • Δεξιό

το μόνο που δεν με έχουν πει ακόμα είναι σοσιαλιστή, παρότι που (συγνώμη για αυτό) στα πρώτα μου χρόνια ψήφισα πασοκ.

Tag(s): politics
    Tag: politics
  • 1 comment
Jun
13
2012
Make Strong Passwords
Posted by ebal at 11:02:19 in blog, planet_ellak

Πριν από λίγες μέρες αναρτήθηκαν στο διαδίκτυο τα “ανάλατα” hashed συνθηματικά των χρηστών από κάποια δημοφιλή site (linkedin, last.fm, eharmony).

Διάβασα αρκετά άρθρα γύρω από το θέμα, την ασφάλεια των διαδικτυακών ιστοτόπων, την προστασία των χρηστών και διάφορες τεχνικές που χρησιμοποιούνται ευρέως. Δυστυχώς εάν και τεχνικά άρθρα τα περισσότερα ΔΕΝ εξηγούσαν με απλό τρόπο τι έχει γίνει, πως μας επηρεάζει (ως χρήστες του διαδικτύου), τι επιπτώσεις έχει πάνω μας και πως μπορούμε να προστατευτούμε από παρόμοιες περιπτώσεις.

Θα προσπαθήσω μέσα από αυτό το άρθρο, μη μιλώντας πολύ τεχνικά, να εξηγήσω κάποια πράγματα και να διορθώσω τις λανθασμένες απόψεις μερικών “ειδικών” που όπως φαίνεται δεν γνωρίζουν από απλά μαθηματικά! Ο σκοπός αυτού του άρθρου είναι καθαρά ενημερωτικός κι όχι εκπαιδευτικός

The Story

Θα ξεκινήσουμε από το τι ακριβώς έγινε.

Τι ειπώθηκε: “Δημοσιεύτηκαν οι κρυπτογραφημένοι κωδικοί”
Τι εν τέλη έγινε και γιατί αυτό που ακούσαμε/διαβάσαμε είναι λάθος.

Εάν και υπάρχει πολύ μεγάλη (και θεωρητική) συζήτηση πίσω από αυτό το θέμα, θα αρκεστούμε ότι κρυπτογραφία σημαίνει ότι μπορώ και να κρυπτογραφήσω και να αποκρυπτογραφήσω το περιεχόμενο/αποτέλεσμα ενός αρχείου.

Τα συνθηματικά ΔΕΝ αποθηκεύονται κρυπτογραφημένα, δλδ δεν μπορούν να αποκρυπτογραφηθούν.
Αποθηκεύονται μετασχηματισμένα με βάση κρυπτογραφικών αλγόριθμων.
Οι δύο πιο γνωστοί είναι ο md5 και ο sha1 (και φυσικά οι παραλλαγές τους).
Οι μαθητικοί αλγόριθμοι hash (md5/sha1) έχουν την ιδιότητα ότι για οποιοδήποτε είσοδο (ανεξαρτήτως μέγεθος) παράγουν ένα αποτέλεσμα 32 χαρακτήρων (md5) και 40 χαρακτήρων (sha1) αντίστοιχα.

Από το αποτέλεσμα δεν μπορείς να βρεις την αρχική είσοδο.

Ας κάνουμε ένα παράδειγμα:


$ echo -n test | md5sum 
098f6bcd4621d373cade4e832627b4f6

$ echo -n test | sha1sum
a94a8fe5ccb19ba61c4c0873d391e987982fbbd3

Αυτά που κυκλοφόρησαν είναι τα παραπάνω hashed των κωδικών.
Λόγω του περιορισμού των χαρακτήρων (32/40 αντίστοιχα) προκύπτει ότι μπορεί να παραχθεί το ίδιο hash από δύο διαφορετικά συνθηματικά (αδυναμία αλγόριθμου).

Hashes

  • Οπότε αφού δεν αποθηκεύεται clear text το συνθηματικό μου, είμαι ασφαλής;
  • Όχι!

Οι hackers τι κάνουν;

Χρησιμοποιούν λεξικά (όχι μόνο το english.dic αλλά γενικά λεξικά με latin based characters) και με την χρήση των σύγχρονων υπολογιστικών συστημάτων, παράγουν hashes με βάση τα λεξικά. Συγκρίνουν τα hashes με βάση την λέξη εισόδου κι έτσι ανακαλύπτουν τον αρχικό κωδικό. Πλέον αυτά τα προγράμματα έχουν προσαρμοστεί ώστε να παράγουν και τις παραλλαγές των κωδικών αυτών.

Για παράδειγμα, αντικαθιστούν το λατινικό γράμμα l (L) με 1 ή !, ομοίως και το i, κι ούτω καθεξής.
Έτσι για την λέξη: lemon δοκιμάζει και τις παρακάτω παραλλαγές:

lemon
1emon
!emon
l3mon
l#mon
lem0n
lemOn
lem)n

Δυστυχώς δεν έχουμε ακόμα εκπαιδεύσει σωστά τους χρήστες μας, οπότε πιθανά στο site: example.com
τα πιο συνήθη συνθηματικά θα είναι της εξής μορφής:

3x@mpl#

παραλλαγή δλδ του ίδιου domain!

Εμείς θεωρούμε ότι έχουμε ένα δύσκολο (για να θυμόμαστε) κωδικό ενώ αντιθέτως οι hackers έχουν ήδη τον κωδικό στο λεξικό τους! Συγκρίνοντας τα unsalted hashed μπορούν να βρουν τους κωδικούς μας.

Salted Hashes

Αφού διευκρινίσαμε ότι δεν υπάρχει μεγάλη ασφάλεια με τα unsalted hashed (εάν φυσικά διαρρεύσουν), ας προχωρήσουμε με το τι είναι τα salted hashes.

Τα salted hashes είναι τα αλφαριθμητικά που προκύπτουν από την προσθήκη τυχαίων χαρακτήρων στο αρχικό συνθηματικό. Η προσθήκη γίνεται όμως πάντα με τον ίδιο τρόπο (αρχή ή τέλος). Κάθε προγραμματιστής που σέβεται τους χρήστες του, θα πρέπει να ακολουθεί το παραπάνω μηχανισμό. Από την στιγμή που αλλάζει δυναμικά το συνθηματικό, στην βάση αποθηκεύεται πλέον το salted hash κι αυτό δεν έχει καμία σχέση με το αρχικό μας συνθηματικό.

Να το δούμε λίγο πρακτικά με ένα πολύ απλό παράδειγμα.

Εμείς δίνουμε τον κωδικό: test
Προστίθεται το “αλάτι” : “f0c8454f070d1a”

Γίνεται δυναμικά : “test + f0c8454f070d1a”

Τώρα συγκρίνουμε τα hashes:


$ echo -n test | sha256sum -
9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08  -

$ echo -n testf0c8454f070d1a | sha256sum -
fdcbbbbf0081199f46fa0629c0faa06a6a99cf22a5ff63f17b0ebb88e355c6e5  -

Τώρα εάν διαρρεύσει η βάση με τα συνθηματικά είμαστε πιο ασφαλής, καθώς δεν μπορεί να γνωρίζει κανείς πως έχει προκύψει το salted hash και ποιος είναι ο κωδικός μας.

Security

Άρα είμαστε πλέον ασφαλής.

  • Όχι.

Τα salted hashes μας προστατεύουν μονάχα εάν διαρρεύσει η βάση με τους κωδικούς.
Δεν μας προστατεύει από την αδυναμία του ίδιου μας του κωδικού. Δλδ το πόσο εύκολα μπορεί να βρεθεί.

Όπως φαίνεται οι hackers διαθέτουν (τουλάχιστον) μια βάση με 6 εκατομμύρια unsalted hashed κωδικούς. Κι όλα αυτά μονάχα από ένα site! Είναι αυτονόητο, ότι όσο πιο πολλές βάσεις hack-εύουν τόσο πιο εύκολο γίνεται για αυτούς να “μαντέψουν” το δικό μας αρχικό κωδικό.

  • Τι επίπτωση έχει σε εμάς, εάν διαρρεύσει ο κωδικός από ένα από τα παραπάνω sites;

Εάν έχω τον λογαριασμό ebal σε ένα site με κωδικό test, τότε σε ένα άλλο site θα έχω (πιθανά) test1 ή όνομα χρήστη: ebal1 κι ούτω καθεξής.

Ορίστε πως περίπου είναι οι περισσότεροι χρήστες:

site: username: password
site1: ebal : test
site2: ebal: test1
site3: ebal: test!
site4: Evaggelos: test!
site5: EvaggelosBalaskas: test1!
site6: ebalaskas _at_ ebalaskas _gr_: t3st1!

Με λίγα λόγια, εάν μας “φάνε” τον κωδικό από ένα site, είναι πολύ εύκολο εν δυνάμει να μας “φάνε” τους λογαριασμούς μας κι από τρίτα sites. Αφού έχουν “εκπαιδεύσει” τα προγράμματά τους με τις νέες παραλλαγές κωδικών.

Strong Passwords

Οι άνθρωποι που ασχολούνται επαγγελματικά με το “σπάσιμο” κωδικών, στις μέρες μας είναι εξοπλισμένοι με την τελευταία τεχνολογικά υπολογιστική δύναμη που κάνει την δουλειά τους αρκετά εύκολη. Ενώ πριν μερικά χρόνια ήθελαν μερικούς μήνες, τώρα αρκούν μερικές ώρες. Κατά μέσο όρο, σε περίπου 6 ώρες ένα unsalted md5 hash σπάει, σε λιγότερο από 3 ώρες εάν είναι βασισμένο σε λεξικό, σε λιγότερο από μια ώρα εάν είναι κάτω από 8 χαρακτήρες, σε 15 λεπτά εάν είναι 6 χαρακτήρες. Σε 1 κλάσμα εάν είναι το 123456.

Επίσης με τόσους κωδικούς, μπορούν να παράγουν κι όλες τις δυνατές παραλλαγές. Οπότε το strong>3x@mpl#</strong θέλει περίπου 1.5λεπτό!

Κατ’ εμέ το βασικότερο πρόβλημα στην παραγωγή κωδικών είναι η δημιουργία μικρών αλλά δύσκολων κωδικών.
Εάν πιστεύεται ότι ο κωδικός σας, είναι δύσκολος, έχει γράμματα, έχει κεφαλαία, έχει αριθμούς, έχει σύμβολα και τον θυμάστε δύσκολα, αλλά είναι 8 με 10 χαρακτήρες, τότε κάνετε ένα μεγάλο ΛΑΘΟΣ!

Έχετε δημιουργήσει έναν πολύ δύσκολο κωδικό για ανθρώπους, αλλά έναν πολύ εύκολο για να σπάσει από κάποιο πρόγραμμα!!!

Η πρόταση μου:

Οι κωδικοί πρέπει να είναι αρκετά μεγάλοι (τουλάχιστον 16χαρακτήρες) και να μην βασίζονται σε λεξικά. Εάν θέλω να φτιάξω έναν κωδικό για το email μου τότε το: ” ένας κωδικός για το email μου ” είναι κάτι που μπορώ να θυμάμαι και το αποτέλεσμα με λατινικούς χαρακτήρες είναι το: “enaskwdikosgiatoemailmou” το οποίο θέλει περίπου: 30.11 trillion centuries

Είναι τόσο απλό, οι πολλοί χαρακτήρες αυξάνουν γεωμετρικά την δυσκολία σε ένα κωδικό.
Το “strong>kWdik0sem@il1</strong” ( παραλλαγή του “κωδικός email 1”) είναι πιο εύκολο να σπάσει από το “enaskwdikosgiatoemailmou” !!!

Αυτονόητο είναι ότι με την προσθήκη κεφαλαίων, αριθμών & συμβόλων η πολυπλοκότητα μεγαλώνει, αλλά το κύριο χαρακτηριστικό είναι το πλήθος των χαρακτήρων. Εάν όμως έχετε λέξη από λεξικό, τότε μειώνεται γεωμετρικά την ασφάλεια του κωδικού σας.

Conclusion

Πολύ μεγάλη προσοχή, ακόμα κι εάν δεν είχατε λογαριασμό στα παραπάνω sites.
Ξεκινήστε να αλλάζετε όλους τους κωδικούς σας, σε όλα τα sites που έχετε.
Δημιουργήστε εύκολους κωδικούς που να μπορείτε να τους θυμάστε, αλλά μεγάλους.

ΜΗΝ χρησιμοποιείτε μέρος του site,
ΜΗΝ χρησιμοποιείτε λέξεις από λεξικό,
ΜΗΝ χρησιμοποιείτε λιγότερο από 16 χαρακτήρες

και
ΚΑΛΗ ΤΥΧΗ

ρίξτε μια ματιά στα εξής sites:

Password Haystacks
Strong Password Generator
Password Strength

Tag(s): password
    Tag: password
  • 2 comments
May
15
2012
The importance of asking public
Posted by ebal at 16:30:21 in blog, planet_ellak, planet_Sysadmin

Who s/he claims that knows everything, must be constantly being asked by everyone else.

If you want to ask me something, do it public.

I have some knowledge of linux stuff, but i dont know everything.
This is a well known fact.

If you ask something in public then there will be something magical.

1.
More people could experience the same problem.
They will immediately comment that they have the exact same problem with you.
You will feel that you are not alone in this world!

2.
Some nerds will try to answer you before you even complete your question. Dont pay any attention to them. But your post will be the top of every search in a few seconds. Dont be bias at them. They have good at their heart.

3.
Some geeks will try to answer you with LMGTFY and wikipedia comments. Dont feel sorry about that. You should have read the manual in the first time, so this is your fault. Read them know.

4.
Some guru will answer to you. Be very carefully. Statistics are against you. From time to time you will cry like a baby by these answers. Guru’s have the ability to amplify all problems and resolve them in a way that even you can understand them.

5.
From the moment you asked something public, there is a trace that you exist! People now know you!!! You are the newbi3_1995 (or something).

6.
If you asked something that someone else have already asked, then you feel this magical connection to him. Internet love is true, embrace it. But seriously you have solved your problem with just a few links to the first question (back in 2005)!.

7.
And the most importance of all, is of course that you will not bother me :P

ps: dont afraid to ask me something.

Next Page »
  -  
« Previous Page

Search

Admin area

  • Login

Categories

  • blog
  • wiki
  • pirsynd
  • midori
  • books
  • archlinux
  • movies
  • xfce
  • code
  • beer
  • planet_ellak
  • planet_Sysadmin
  • microblogging
  • UH572
  • KoboGlo
  • planet_fsfe

Archives

  • 2026
    • March
    • January
  • 2025
    • December
    • October
    • September
    • April
    • March
    • February
  • 2024
    • November
    • October
    • August
    • April
    • March
  • 2023
    • May
    • April
  • 2022
    • November
    • October
    • August
    • February
  • 2021
    • November
    • July
    • June
    • May
    • April
    • March
    • February
  • 2020
    • December
    • November
    • September
    • August
    • June
    • May
    • April
    • March
    • January
  • 2019
    • December
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2018
    • December
    • November
    • October
    • September
    • August
    • June
    • May
    • April
    • March
    • February
    • January
  • 2017
    • December
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2016
    • December
    • November
    • October
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2015
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • January
  • 2014
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2013
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2012
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2011
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2010
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2009
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
Ευάγγελος.Μπαλάσκας.gr

License GNU FDL 1.3 - CC BY-SA 3.0