Σε Ubuntu ο χρήστης root είναι κλειδωμένος. Αν δεις στο αρχείο /etc/shadow,
- Κώδικας: Επιλογή όλων
root:!:14000:0:99999:7:::
daemon:*:13991:0:99999:7:::
bin:*:13991:0:99999:7:::
sys:*:13991:0:99999:7:::
sync:*:13991:0:99999:7:::
games:*:13991:0:99999:7:::
man:*:13991:0:99999:7:::
lp:*:13991:0:99999:7:::
.
.
.
το δεύτερο πεδίο στη γραμμή για το root είναι ! (το : είναι διαχωριστικό). Το γεγονός ότι για κρυπτογραφημένο κωδικό υπάρχει το θαυμαστικό (ή ό,τι αλφαριθμητικό διαφορετικό από 31 χαρακτήρες) σημαίνει ότι είναι αδύνατο να υπάρχει κάποιος κωδικός που όταν κρυπτογραφηθεί, παράγει ως αποτέλεσμα το θαυμαστικό.
Αυτή είναι μια σημαντική διαφορά μεταξύ Debian/Ubuntu, και άλλες διανομές, και παλαιότερα Unix.
Έτσι, σε Ubuntu, αν είστε χρήστης και εκτελέσετε
- Κώδικας: Επιλογή όλων
su -
είναι αδύνατο να δουλέψει.
Τι συμβαίνει όμως στο Ubuntu; Στο Ubuntu υπάρχει το πακέτο sudo που επιτρέπει να εκτελείς εντολές ως διαχειριστής, αφού δώσεις τον κωδικό σου, κωδικός χρήστη. Με αυτό το τρόπο, δε χρειάζονται δύο κωδικοί (χρήστη/χρηστών, και διαχειριστή-root). Οι άνθρωποι ξεχνάνε..
Γιατί όμως υπάρχουν χρήστες που εκτελούν
- Κώδικας: Επιλογή όλων
sudo su -
Πως δουλεύει εδώ το su; Το su δουλεύει διότι από την εντολή sudo γινόμαστε διαχειριστές, και η κλήση της εντολής «su -» γίνεται με δικαιώματα διαχειριστή. Αν έχεις δικαιώματα διαχειριστή, η εντολή su δεν απαιτεί κωδικούς, οπότε εδώ δουλεύει.
Αν θέλεις να εκτελείς εντολές παροδικά ως διαχειριστής, γράφεις sudo και μετά βάζεις την εντολή που θέλεις.
Αν θέλεις ένα φλοιό διαχειριστή, εκτελείς sudo su -.
To - είναι κάτι που δεν είναι υποχρεωτικό να το βάλει κάποιος.
- Κώδικας: Επιλογή όλων
$ su --help
Usage: su [options] [LOGIN]
Options:
-c, --command COMMAND pass COMMAND to the invoked shell
-h, --help display this help message and exit
-, -l, --login make the shell a login shell
-m, -p,
--preserve-environment do not reset environment variables, and keep
the same shell
-s, --shell SHELL use SHELL instead of the default in passwd
$ _