Αρχική σελίδα » πως να » Ποια είναι η διαφορά μεταξύ του 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 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.