Ποια είναι η διαφορά μεταξύ sudo και su;

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

Su

Το πρόγραμμα su Σας επιτρέπει να χρησιμοποιήσετε το κέλυφος ενός άλλου χρήστη χωρίς να αποσυνδεθείτε από την τρέχουσα περίοδο λειτουργίας. Συνήθως χρησιμοποιείται για την απόκτηση δικαιωμάτων root για διαχειριστικές λειτουργίες χωρίς να χρειάζεται να αποσυνδεθείτε και να συνδεθείτε ξανά. Ορισμένα περιβάλλοντα επιφάνειας εργασίας, συμπεριλαμβανομένων των GNOME και KDE, έχουν προγράμματα που ζητούν γραφικά έναν κωδικό πρόσβασης πριν επιτρέψουν στον χρήστη να εκτελέσει μια εντολή που συνήθως απαιτεί τέτοια πρόσβαση.

Το όνομα su προέρχεται από τα αγγλικά sανύπαρκτος uνα είστε (αναπληρωματικός χρήστης). Υπάρχουν επίσης εκείνοι που το κάνουν προέρχονται superuser (super-user, δηλαδή, ο χρήστης root ή διαχειριστής), δεδομένου ότι χρησιμοποιείται συνήθως για την υιοθέτηση του ρόλου του διαχειριστή συστήματος.

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

[τύπος @ localhost] $ ο κωδικός πρόσβασής σας: [root @ localhost] # έξοδος έξοδος [τύπος @ localhost] $

Χωρίς τοποθέτηση χρήστη, έχει πρόσβαση ως διαχειριστής. Ωστόσο, είναι επίσης δυνατό να περάσετε ένα άλλο όνομα χρήστη ως παράμετρος.

[τύπος @ localhost] $ su mongo Κωδικός πρόσβασης: [mongo @ localhost] # έξοδος έξοδος [τύπος @ localhost] $

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

Μια ευρέως χρησιμοποιούμενη παραλλαγή είναι η χρήση su ακολουθούμενη από μια παύλα. Έτσι, για να συνδεθείτε ως root, πρέπει να εισάγετε του - και να συνδεθείτε ως άλλος χρήστης ο - άλλος χρήστης σας. Η διαφορά μεταξύ της χρήσης του σεναρίου ή όχι; Συνιστάται η χρήση του σεναρίου επειδή προσομοιώνει ότι θα συνδεθείτε με αυτόν τον χρήστη. Επομένως, εκτελεί όλα τα αρχεία εκκίνησης αυτού του χρήστη, αλλάζει τον τρέχοντα κατάλογο σε HOME αυτού του χρήστη, αλλάζει την τιμή ορισμένων μεταβλητών συστήματος που τις προσαρμόζει στον νέο χρήστη (HOME, SHELL, TERM, USER, LOGNAME, μεταξύ άλλων) και οι υπολοιποι περισσότερα πράγματα.

Ένα sysadmin πρέπει να είναι πολύ προσεκτικό κατά την επιλογή ενός κωδικού πρόσβασης για τον λογαριασμό root / διαχειριστή, για να αποφευχθεί μια επίθεση από έναν μη προνομιούχο χρήστη που εκτελεί su. Ορισμένα συστήματα τύπου Unix έχουν μια ομάδα χρηστών που ονομάζεται τροχός, το οποίο περιλαμβάνει τους μόνοι που μπορούν να εκτελέσουν su. Αυτό μπορεί ή όχι να μειώσει τις ανησυχίες ασφαλείας, καθώς ένας εισβολέας θα μπορούσε απλώς να αναλάβει έναν από αυτούς τους λογαριασμούς. Αυτός su Το GNU, ωστόσο, δεν υποστηρίζει τη χρήση αυτής της ομάδας. αυτό έγινε για φιλοσοφικούς λόγους.

Sudo

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

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

Προβλήματα Sudo: η περίοδος χάριτος

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

Μερικοί βλέπουν ως ασφάλεια παραβιάζουν το γεγονός ότι sudo παραχωρήστε μια "περίοδο χάριτος" που επιτρέπει στο χρήστη να εκτελεί εντολές ως άλλος χρήστης χωρίς να χρειάζεται να εισαγάγετε επανειλημμένα sudo μπροστά από την εντολή και τον κωδικό πρόσβασης μετά την εκτέλεση. Μετά από αυτήν την «περίοδο χάριτος», sudo θα μας ρωτήσει ξανά τον κωδικό πρόσβασης.

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

Ευτυχώς, είναι δυνατή η απενεργοποίηση της «περιόδου χάριτος», η οποία θα βελτιώσει την ασφάλεια του συστήματός σας. Απλώς προσθέστε μία γραμμή στο αρχείο / etc / sudoers:

sudo nano / etc / sudoers

Και προσθέστε την ακόλουθη γραμμή στο τέλος του αρχείου:

Προεπιλογές: ALL timestamp_timeout = 0

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


25 σχόλια, αφήστε τα δικά σας

Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   helk dijo

    Στην πραγματικότητα, ΕΑΝ μπορείτε να μπείτε με δικαιώματα διαχειριστή με το sudo και να μείνετε εκεί όπως κάνετε με το su -, για αυτό πρέπει να γράψετε: sudo -s αλλάζοντας έτσι τον τρέχοντα χρήστη και αφήνοντας τον χρόνο χάριτος ως αστείο (αφού μπορείτε να μείνετε σαν αυτό όσο θέλετε, όπως και με το δικό σας)

  2.   Miquel Mayol i Tur dijo

    Ευχαριστώ για την αναφορά, αλλά η πραγματική πίστωση πηγαίνει στη συνομιλία Sabayon - την οποία δεν χρησιμοποιώ πλέον επειδή ο σκληρός δίσκος μου έσπασε και προτιμούσα να επιστρέψω στο Ubuntu -.

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

    Τότε σας έστειλα μέσω email γιατί υποσχέθηκα να μοιραστώ αυτό το εύρημα που μου φαινόταν μη ασήμαντο.

    Δεδομένου ότι το Ubuntu είναι εγκατεστημένο από προεπιλογή χωρίς root χρήστη, απλώς εκτελέστε το

    "Sudo passwd root"

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

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

  3.   Nill δείκτη dijo

    Θα μπορούσατε να αποκτήσετε πρόσβαση στο αρχείο / etc / shadow και να αλλάξετε τον κατακερματισμό του κωδικού πρόσβασης ρίζας σε κατακερματισμό του κανονικού κωδικού πρόσβασης χρήστη και στη συνέχεια να κάνετε αλλαγή κωδικού πρόσβασης για τη ρίζα ??? Σε άλλη στιγμή το δοκιμάζω το ίδιο….

  4.   Ας χρησιμοποιήσουμε το Linux dijo

    Σαφή. Δεν είναι αποκλειστικό για τη Fedora.

  5.   MFCOLLF77 dijo

    Τότε από τα δύο μπορούν να εγκατασταθούν; Νόμιζα ότι το «SU» ήταν μόνο στη FEDORA.

  6.   Ντιέγκο Κίσαι Άλμπα Γκαλάρτ dijo

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

  7.   alex dijo

    Στο ubunto νομίζω ότι θυμάμαι ότι δεν μπορείτε να χρησιμοποιήσετε την εντολή su (για να εισαγάγετε ως root user)

  8.   Χαζάν Πέρεθ dijo

    Λοιπόν, για να "ανακτήσετε" τον κωδικό πρόσβασης ρίζας (στην πραγματικότητα, οποιοσδήποτε άλλος κωδικός πρόσβασης), θα μπορούσατε να κάνετε "επίθεση" στο αρχείο κωδικού πρόσβασης του συστήματος με τον John The Ripper. Δεν θα πω περισσότερα για αυτό.

    Ίσως υπάρχουν και άλλες μέθοδοι ... Ίσως να αλλάξετε τον κωδικό πρόσβασης εισάγοντας το "sudo su" και μετά την εντολή "passwd". Θα ήταν ενδιαφέρον να δούμε τι ανταποκρίνονται οι άλλοι ...

  9.   Ας χρησιμοποιήσουμε το Linux dijo

    Ακριβώς!

  10.   Ας χρησιμοποιήσουμε το Linux dijo

    Αυτό είναι σωστό ... πρέπει να ευχαριστήσω τον Miguel Mayol i Tur ... ήταν αυτός με την ιδέα. 🙂
    Στην υγειά σας! Παύλος.

  11.   Αφεντικό dijo

    Σας ευχαριστώ, όπως πάντα μια μεγάλη συνεισφορά. Το εκτιμούμε.

  12.   Ας χρησιμοποιήσουμε το Linux dijo

    Ευχαριστώ αφεντικό! Μια αγκαλιά! Παύλος.

  13.   Τζερόνιμο Ναβάρο dijo

    Η διαφορά μεταξύ «su» και «sudo» είναι «do»

  14.   Erick dijo

    Ξέχασα τον κωδικό πρόσβασης ρίζας, ευτυχώς μπορώ να χρησιμοποιήσω το sudo, και για να χρησιμοποιήσω το su, χρησιμοποιώ το «sudo su» και δεν ζητάει το πάσο (;)
    Ξέρει κανείς πώς να μάθει τον κωδικό πρόσβασης ρίζας (έχω πρόσβαση στο root μέσω sudo);

    1.    marvergarab dijo

      sudo passwd

  15.   Ας χρησιμοποιήσουμε το Linux dijo

    Χα! Τετραπέρατος!

  16.   Φάμπιαν Πάις dijo

    αυτός που θέλει να ανακτήσει τον κωδικό πρόσβασης ρίζας θα ήταν "sudo passwd root" και εκεί θα σας ζητήσει να εισαγάγετε έναν νέο

  17.   alex-pilloku@hmail.com dijo

    γεια πώς είναι η ζωή σου

  18.   SynFlag dijo

    Συγγνώμη αλλά, χρησιμοποιώντας την εντολή su, όπως αυτό:

    su -c "εντολή", είναι η ίδια με τη χρήση του sudo χωρίς την περίοδο χάριτος. Δεν βλέπω την ανάγκη για sudo.

    Η ΠΡΑΓΜΑΤΙΚΗ χρήση του sudo είναι να δώσει σε ορισμένους χρήστες τη δυνατότητα να χρησιμοποιούν αυτήν ή εκείνη την εντολή, χρησιμοποιείται περισσότερο σε εταιρείες, έτσι ώστε να μην χρειάζεται να κάνετε chroot, κάτι που δεν μπορεί να γίνει με το su.

  19.   Γιακάρδης dijo

    Αγαπητέ μου, πρέπει να κάνω Linux TP και πρέπει να απαντήσω σε μερικές απλές ερωτήσεις. Ίσως μπορούν να με βοηθήσουν. Ευχαριστώ από τώρα:

    Ποια εντολή μας επιτρέπει να εγκαταστήσουμε / διαγράψουμε / τροποποιήσουμε πακέτα debian;
    Ποια είναι η εντολή που μας επιτρέπει να διαχειριστούμε πιο εύκολα την εγκατάσταση
    πακέτα στο debian;
    Ποια είναι η εντολή για την εγκατάσταση των πακέτων rpm;
    Ποια επιλογή χρησιμοποιούμε για την απεγκατάσταση ενός πακέτου;
    Ποιος είναι ο κατάλογος όπου βρίσκονται τα αποθετήρια yum;
    Σε τι χρησιμεύει;
    Ποια επιλογή χρησιμοποιούμε για να αναζητήσουμε ένα πακέτο με yum;
    Ποια επιλογή χρησιμοποιούμε για να διαγράψουμε ένα πακέτο;
    Ποια επιλογή μπορούμε να χρησιμοποιήσουμε για την ενημέρωση του συστήματος;
    Ποια γράμματα προσδιορίζουν τις άδειες;
    Τι σημαίνουν κάθε ένα από αυτά;
    Ποιες εντολές αναφέρουν τα δικαιώματα ενός αρχείου;
    Ποιες είναι οι τρεις ομάδες στις οποίες διαιρούνται τα δικαιώματα;
    Ποιοι δύο τρόποι υπάρχουν για την εφαρμογή δικαιωμάτων;
    Τι σύστημα αριθμών χρησιμοποιούν οι άδειες;
    Τι βάρος έχουν αυτά τα γράμματα;
    Τι είναι οι ειδικές άδειες;
    Ποια είναι τα υπάρχοντα ειδικά δικαιώματα και για ποιους χρήστες;
    Τι εντολές χρησιμοποιώ για να αλλάξω τα δικαιώματα;
    Ποιες παραμέτρους χρησιμοποιώ για να δώσω δικαιώματα εκτέλεσης σε ένα αρχείο;
    Ποιες παράμετροι χρησιμοποιούνται για την παροχή δικαιωμάτων ανάγνωσης μόνο σε μια ομάδα;
    Ποιες παράμετροι χρησιμοποιούνται για την παροχή δικαιωμάτων ανάγνωσης / εγγραφής στην ομάδα άλλων και για την κατάργηση γραφής από τον χρήστη που κατέχει το αρχείο;
    Ποια δικαιώματα δημιουργούνται από προεπιλογή για αρχεία και καταλόγους;
    Ποια εντολή χρησιμοποιούμε για να την επαληθεύσουμε;
    Πώς αλλάζουμε την προεπιλεγμένη μάσκα;
    Πώς κάνουμε τη μάσκα διαφορετική; (Χρησιμοποιήστε μια προεπιλεγμένη μάσκα που αφήνει μόνο τους κατόχους με όλα τα δικαιώματα.)
    Ποια εντολή παραθέτει τις διαδικασίες; Αναφέρετε διαφορετικές παραμέτρους και τη χρήση τους.
    Ποια είναι η διαδικασία που ξεκινά τα πάντα;
    Παραθέστε τις διαδικασίες που αντιστοιχούν στον συνδεδεμένο χρήστη.
    Καταγράψτε όλες τις διαδικασίες στο σύστημα.
    Τι επιλογές χρησιμοποιώ για να λάβω επιπλέον πληροφορίες;
    Λίστα όλων των διαδικασιών που χρησιμοποιούνται σε ένα τερματικό
    Ποια επιλογή παραθέτει τις διαδικασίες και τις εξαρτήσεις τους;
    Εξηγήστε ποια είναι η διαδικασία γονέα-παιδιού και πώς να την αναγνωρίσετε
    Ποια εντολή παραθέτει τις διαδικασίες με τη μορφή δέντρων;
    Ποια εντολή παρακολουθεί τις διαδικασίες σε πραγματικό χρόνο;
    Παρακολουθήστε μόνο μία διαδικασία
    Ποια εντολή δείχνει τη χρήση μνήμης;
    Ποια παράμετρος δείχνει τη μνήμη σε megabyte;
    Ποια παράμετρος κάνει σε διαστήματα;
    Ποια εντολή εμφανίζει πληροφορίες σχετικά με το χρονικό διάστημα μιας ομάδας;
    Ποια εντολή χρησιμοποιώ για να σκοτώσω διαδικασίες;
    Τι χειρίζονται αυτές οι διαδικασίες προκειμένου να οριστικοποιηθούν;
    Τι είδους σήματα είναι τα πιο συνηθισμένα;
    Αναφέρετε τους τύπους των υποστηριζόμενων σημάτων.
    Σε ένα τερματικό, κάντε δοκιμή vi και, στη συνέχεια, μεταβείτε σε άλλο τερματικό, αναζητήστε τη διαδικασία και σκοτώστε την με σήμα 15. Ditto, αλλά με σήμα 9.
    Ποια είναι η διαφορά μεταξύ του σήματος 9 και του 15;
    Ποιο από αυτά λειτουργεί από προεπιλογή;
    Γιατί εκτελείται μια διαδικασία στο παρασκήνιο; Και σε πρώτο πλάνο;
    Εκτελέστε τη δοκιμή vi και, στη συνέχεια, πατήστε ctrl + z, τι συνέβη;
    Επανάληψη δοκιμής vi, ctr + z, 4 φορές, πώς μπορώ να ολοκληρώσω αυτό που απέτυχα;
    Περάστε μία από τις διαδικασίες για το πρώτο πλάνο και κλείστε vi.
    Ποια παράμετρος μιας εντολής εκτελούμε ώστε να μην καταλαμβάνει το κέλυφος;
    Ποια εντολή τροποποιεί τις προτεραιότητες μιας διαδικασίας που ήδη εκτελείται; Πώς θα αλλάζατε την προτεραιότητα του τερματικού που λειτουργεί;
    Ποιες τιμές επιπέδου υπάρχουν και ποια είναι η ιεραρχία τους;
    Ανοίξτε το αρχείο / etc / passwd και δείτε ποιο επίπεδο προτεραιότητας έχει.
    Αλλάξτε το επίπεδο προτεραιότητας σε 4 και μετά σε 25 Μπορείτε να αντιστοιχίσετε και τα δύο; Γιατί;
    Καταγράψτε τις διαδικασίες με τις τιμές προτεραιότητας.
    Ποια εντολή παρακολουθεί όλες τις τρέχουσες διαδικασίες;

  20.   κ.λπ. dijo

    Γεια σας, θέλω να απενεργοποιήσω το sudo, όπως και εγώ. Παίρνω αυτό:
    [sudo] κωδικός πρόσβασης για xxx:
    Το xxx δεν υπάρχει στο αρχείο sudoers. Αυτό το περιστατικό θα αναφερθεί.

    καθώς το απενεργοποιώ, αφού χρησιμοποιώ το su στο debian

    1.    ας χρησιμοποιήσουμε το linux dijo

      Γεια σας ecc!

      Νομίζω ότι θα ήταν καλύτερο να θέσετε αυτό το ερώτημα στην υπηρεσία ερωτήσεων και απαντήσεων που ονομάζεται Ask DesdeLinux έτσι ώστε ολόκληρη η κοινότητα να μπορεί να σας βοηθήσει με το πρόβλημά σας.

      Μια αγκαλιά, Πάμπλο.

  21.   Μπερτόλντο dijo

    Γεια. Έχω χρησιμοποιήσει την εντολή θερμοκρασίας σκληρού δίσκου στο Linux Mint: «sudo hddtemp / dev / sda», μου ζητά τον κωδικό πρόσβασης και μου δίνει το αναμενόμενο αποτέλεσμα.
    αλλά, όταν τρέχει στο ίδιο τερματικό «hddtemp / dev / sda», μου λέει ότι η άδεια αρνήθηκε.
    Λοιπόν, η περίοδος χάριτος δεν λειτουργεί για μένα, γιατί είναι;

  22.   Μπερτόλντο dijo

    Γεια σας blog.
    Βρήκα επίσης ότι όταν εγκαθίσταται το distro (π.χ. ubuntu, linux mint), ζητά έναν κωδικό πρόσβασης διαχειριστή.
    Και στη γραφική διεπαφή του κέντρου ελέγχου, χρησιμοποίησα την επιλογή για να αλλάξω τον κωδικό πρόσβασης του χρήστη μου.
    Έτσι, τώρα χρησιμοποιώντας το "su -" ζητά έναν κωδικό πρόσβασης, που δεν είναι αυτός του τρέχοντος χρήστη μου, αλλά αυτός που χρησιμοποίησα όταν εγκατέστησα τη διανομή, που εξακολουθεί να είναι ο χρήστης root ή διαχειριστή.
    Αυτό θα είχε ως αποτέλεσμα πολλοί χρήστες να ξεχάσουν τον πραγματικό κωδικό πρόσβασης διαχειριστή.

  23.   Κένταλ Νταβίλα dijo

    Γεια σας, η εξήγησή σας είναι εξαιρετική, πολύ σαφής, σύντομη και περιεκτική. Ευχαριστώ για τη συμβολή