Γράψτε ΚΕΦΑΛΑΙΑ αντί ‘sudo’ για εντολές διαχειριστή


Στο σημερινό tip θα δούμε πως «φωνάζοντας» (γράφοντας κεφαλαία) στο τερματικό, μπορούμε να εκτελούμε εντολές χωρίς την χρήση sudo.

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

Ένα project στο github, ήρθε να προσθέσει την δυνατότητα να μπορούμε να γράφουμε με κεφαλαία την εντολή που θέλουμε να τρέξει με δικαιώματα διαχειριστή ώστε να μην χρειάζεται η προσθήκη sudo.

Σημειώστε ότι δεν θα παρακάμψει το συνθηματικό που χρειάζεται να βάλετε για να τρέξετε αυτές τις εντολές. Απλά θα τρέξει την εντολή με το sudo.

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

Advertisements

Μέθοδος 1: Χειροκίνητη ενεργοποίηση

Ανοίξτε με τον αγαπημένο σας text editor το αρχείο .bashrc

nano ~/.bashrc

Έπειτα στο τέλος του αρχείου προσθέστε τον παρακάτω κώδικα:

# SUDO - shout at bash to su commands
# Distributed under GNU GPLv2, @jthistle on github

shopt -s expand_aliases

IFS_=${IFS}
IFS=":" read -ra PATHS <<< "$PATH"

for i in "${PATHS[@]}"; do
	for j in $( ls "$i" ); do
		if [ ${j^^} != $j ] && [ $j != "sudo" ]; then
			alias ${j^^}="sudo $j"
		fi		
	done
done

alias SUDO='sudo $(history -p !!)'

IFS=${IFS_}

# end SUDO

Αποθηκεύστε και κλείστε το αρχείο (με το nano είναι Ctrl+S και Ctrl+X)

Κλείστε και ανοίξτε πάλι το τερματικό σας και δοκιμάστε να εκτελέσετε μια εντολή που θα χρειαζόταν π.χ. να βάλετε sudo :

ΝΑΝΟ /etc/hosts

θα σας ζητηθεί ο κωδικός του sudo παρόλο που δεν το γράψατε.

Μέθοδος 2: Αυτόματη εγκατάσταση

Εδώ θα χρησιμοποιήσουμε απευθείας το αποθετήριο που έχει φτιάξει ο δημιουργός του συγκεκρημένου hack. Αντιγράφουμε το αποθετήριο στο home φάκελό μας:

git clone https://github.com/jthistle/SUDO.git ~/SUDO

Μπαίνουμε στον φάκελο και τρέχουμε τον εγκαταστάτη, ο οποίος θα λάβει πρώτα ένα αντίγραφο ασφαλείας του .bashrc και θα το αποθηκεύσει ως .bashrc.old ώστε να μπορείτε να το επαναφέρετε αν κάτι πάει στραβά. :

cd ~/SUDO
./installer.sh

Η εκτέλεση αυτού του installer στο μέλλον, θα σας επιτρέψει επίσης να ενημερώσετε σε νέες εκδόσεις του συγκεκριμένου hack.

Κλείστε και ανοίξτε πάλι το τερματικό σας και δοκιμάστε να εκτελέσετε μια εντολή που θα χρειαζόταν π.χ. να βάλετε sudo :

ΝΑΝΟ /etc/hosts

θα σας ζητηθεί το συνθηματικό του sudo παρόλο που δεν το γράψατε στην αρχή της εντολής.

Επίλογος

Δεν είναι κάτι επαναστατικό φυσικά, απλά όλοι έχουμε γράψει και κάποια αστεία alias στο σύστημά μας ή κάποια μικρά hacks ως αλατοπίπερο στο τερματικό μας.

Παραπομπές:

Advertisements

4 σκέψεις σχετικά με το “Γράψτε ΚΕΦΑΛΑΙΑ αντί ‘sudo’ για εντολές διαχειριστή

Add yours

  1. Είχα σκεφτεί να κάνω κάτι τέτοιο, αλλά είχα υπόψιν μου να είναι μόνο το πρώτο γραμμα κεφαλαίο. Και ψαχνόμουν από πλευράς UI.

    O τρόπος που σκεφτόμουν να το κάνω ήταν με τον μηχανισμό του command-not-found και με whitelist, αντί για χρήση alias.

    Η λύση αυτή είναι σαφώς καλύτερη από πλευράς ui πάντως

Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Google

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση /  Αλλαγή )

Σύνδεση με %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Create a website or blog at WordPress.com

ΠΑΝΩ ↑