/ / / Ποια είναι η διαφορά μεταξύ του Sudo και του Su στο Linux;

Ποια είναι η διαφορά μεταξύ του Sudo και του Su στο Linux;

εικόνα

Εάν είστε χρήστης Linux, πιθανότατα έχετε δειαναφορές σε sudo και su. Τα άρθρα εδώ σχετικά με το How-To Geek και αλλού καθοδηγούν τους χρήστες του Ubuntu να χρησιμοποιούν τους χρήστες sudo και άλλων διανομών του Linux για να χρησιμοποιήσουν το su, αλλά ποια είναι η διαφορά;

Το Sudo και το su είναι δύο διαφορετικοί τρόποι για να αποκτήσετε προνόμια ρίζας. Κάθε λειτουργεί με διαφορετικό τρόπο και διαφορετικές διανομές Linux χρησιμοποιούν διαφορετικές διαμορφώσεις από προεπιλογή.

Ο Ρίζας Χρήστης

Τόσο το su όσο και το sudo χρησιμοποιούνται για να τρέχουν εντολές μεroot δικαιώματα. Ο χρήστης root είναι ουσιαστικά ισοδύναμος με τον χρήστη διαχειριστή στα Windows - ο χρήστης ρίζας έχει μέγιστα δικαιώματα και μπορεί να κάνει οτιδήποτε στο σύστημα. Οι κανονικοί χρήστες στο Linux τρέχουν με μειωμένα δικαιώματα - για παράδειγμα, δεν μπορούν να εγκαταστήσουν λογισμικό ή να γράψουν σε καταλόγους συστήματος.

Για να κάνετε κάτι που απαιτεί αυτά τα δικαιώματα, θα πρέπει να τα αποκτήσετε με su ή sudo.

Σου vs Sudo

Η εντολή su μεταβαίνει στον σούπερ χρήστη - ήroot χρήστης - όταν το εκτελείτε χωρίς πρόσθετες επιλογές. Θα πρέπει να εισαγάγετε τον κωδικό πρόσβασης του root account. Ωστόσο, αυτό δεν είναι όλη η εντολή su, αλλά μπορείτε να το χρησιμοποιήσετε για να μεταβείτε σε οποιονδήποτε λογαριασμό χρήστη. Αν εκτελέσετε το su bob , θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης του Bob και το κέλυφος θα μεταβεί στον λογαριασμό χρήστη του Bob.

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

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

εικόνα

Αυτή είναι η βασική διαφορά μεταξύ su και sudo. Η υπηρεσία Su σας μεταφέρει στο λογαριασμό χρήστη root και απαιτεί τον κωδικό πρόσβασης του root account. Το Sudo εκτελεί μια μόνο εντολή με δικαιώματα root - δεν μεταβαίνει στον χρήστη root ή απαιτεί ξεχωριστό κωδικό χρήστη root.

Ubuntu εναντίον άλλων διανομών Linux

Η εντολή su είναι ο παραδοσιακός τρόποςαποκτώντας δικαιώματα root σε Linux. Η εντολή sudo υπήρξε για μεγάλο χρονικό διάστημα, αλλά το Ubuntu ήταν η πρώτη δημοφιλή διανομή Linux για να πάει μόνο sudo από προεπιλογή. Όταν εγκαθιστάτε το Ubuntu, δημιουργείται ο τυπικός λογαριασμός root, αλλά δεν έχει εκχωρηθεί κωδικός πρόσβασης. Δεν μπορείτε να συνδεθείτε ως root μέχρι να αντιστοιχίσετε έναν κωδικό πρόσβασης στο λογαριασμό root.

εικόνα

Υπάρχουν πολλά πλεονεκτήματα στη χρήση του sudoαντί για su από προεπιλογή. Οι χρήστες του Ubuntu πρέπει μόνο να παρέχουν και να θυμούνται έναν ενιαίο κωδικό πρόσβασης, ενώ ο Fedora και άλλες διανομές απαιτούν τη δημιουργία ξεχωριστών κωδικών πρόσβασης root και χρήστη κατά την εγκατάσταση.

Ένα άλλο πλεονέκτημα είναι ότι αποθαρρύνει τους χρήστεςαπό την είσοδο ως χρήστη ρίζας - ή από τη χρήση του su για να αποκτήσετε ένα ριζικό κέλυφος - και να διατηρήσετε το ριζικό κέλυφος ανοιχτό για να κάνετε την κανονική του εργασία. Η εκτέλεση λιγότερων εντολών ως root αυξάνει την ασφάλεια και αποτρέπει τις τυχαίες αλλαγές ολόκληρου του συστήματος.

Οι διανομές που βασίζονται στο Ubuntu, συμπεριλαμβανομένου του Linux Mint, χρησιμοποιούν επίσης sudo αντί για su από προεπιλογή.

Λίγα τεχνάσματα

Το Linux είναι ευέλικτο, οπότε δεν χρειάζεται να κάνουμε πολλή δουλειά για να δουλέψουμε παρόμοια με το sudo - ή το αντίστροφο.

Για να εκτελέσετε μια μόνο εντολή ως χρήστη root με su, εκτελέστε την ακόλουθη εντολή:

su -c 'εντολή'

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

Για να αποκτήσετε ένα πλήρες, διαλογικό κέλυφος ρίζας με το sudo, εκτελέστε sudo -i.

εικόνα

Θα πρέπει να δώσετε τον κωδικό πρόσβασης του τρέχοντος λογαριασμού χρήστη αντί του κωδικού πρόσβασης του root account.

Ενεργοποίηση του χρήστη Root στο Ubuntu

Για να ενεργοποιήσετε τον λογαριασμό χρήστη root στο Ubuntu, χρησιμοποιήστε την ακόλουθη εντολή για να ορίσετε έναν κωδικό πρόσβασης για αυτό. Λάβετε υπόψη ότι το Ubuntu συνιστά αυτό.

sudo passwd ρίζα

Το Sudo θα σας προτρέψει για τον τρέχοντα σας χρήστηγια να μπορέσετε να ορίσετε έναν νέο κωδικό πρόσβασης. Χρησιμοποιήστε τον νέο κωδικό πρόσβασής σας για να συνδεθείτε ως root από μια γραμμή εντολών σύνδεσης τερματικού ή με την εντολή su. Ποτέ δεν πρέπει να τρέχετε ένα πλήρες γραφικό περιβάλλον ως χρήστη root - αυτή είναι μια πολύ κακή πρακτική ασφάλειας και πολλά προγράμματα θα αρνηθούν να εργαστούν.

εικόνα

Προσθήκη χρηστών στο αρχείο Sudoers

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

εικόνα

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

εικόνα

Εάν χρησιμοποιείτε άλλη διανομή Linux, μπορείτε να παραχωρήσετε στον χρήστη άδεια χρήσης του sudo εκτελώντας το visudo εντολή με δικαιώματα root (έτσι τρέχει su πρώτα ή χρησιμοποιήστε su -c).

Προσθέστε την ακόλουθη γραμμή στο αρχείο, αντικαθιστώντας χρήστης με το όνομα του λογαριασμού χρήστη:

χρήστη ALL = (ALL: ALL) ALL

Τύπος Ctrl-X και μετά Υ για να αποθηκεύσετε το αρχείο. Ενδέχεται επίσης να μπορείτε να προσθέσετε χρήστη σε μια ομάδα που καθορίζεται στο αρχείο. Οι χρήστες των ομάδων που καθορίζονται στο αρχείο θα έχουν αυτόματα δικαιώματα sudo.

εικόνα

Γραφικές εκδόσεις του Su

Το Linux υποστηρίζει επίσης τις γραφικές εκδόσεις του su,που ζητούν τον κωδικό πρόσβασής σας σε γραφικό περιβάλλον. Για παράδειγμα, μπορείτε να εκτελέσετε την ακόλουθη εντολή για να λάβετε μια προτροπή κωδικού πρόσβασης και να εκτελέσετε το πρόγραμμα περιήγησης αρχείων Nautilus με δικαιώματα root. Τύπος Alt-F2 για να εκτελέσετε την εντολή από ένα παράθυρο διαλόγου εκτέλεσης γραφικών χωρίς να ξεκινήσετε ένα τερματικό.

gksu nautilus

εικόνα

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

Το Gksu χρησιμοποιεί είτε back είτε backed ή sudo, ανάλογα με τη διανομή Linux που χρησιμοποιείτε.


Θα πρέπει τώρα να είστε προετοιμασμένοι να συναντήσετε τόσο το su όσο και το sudo! Θα συναντήσετε και τα δύο αν χρησιμοποιείτε διαφορετικές διανομές Linux.