[Explained] Πώς να προσθέσετε χρήστες στο Sudoers στο Ubuntu

Προτού μάθουμε πώς να προσθέτουμε χρήστες ως sudoers στο Ubuntu, πρέπει να καταλάβουμε πώς πιθανότατα θα φτάσουμε εδώ. Για παράδειγμα, όταν θέλετε να διαχειριστείτε υπηρεσίες ή να εγκαταστήσετε ή να ενημερώσετε λογισμικό στο Ubuntu. Προσπαθήσατε ποτέ να εκτελέσετε μια εντολή για να δοκιμάσετε οποιοδήποτε από τα παραπάνω και λάβατε την ένδειξη “Απόρριψη πρόσβασης” ως ανατροφοδότηση;

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

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

Αυτό το άρθρο θα εξηγήσει ποιοι είναι οι sudoers, γιατί μπορεί να χρειαστείτε sudoers και πώς να τα προσθέσετε στο λειτουργικό σας σύστημα Ubuntu.

Τι είναι το Sudo/ Sudoers;

Αλλά γιατί να μην χρησιμοποιήσετε την εντολή su ή switch user; Η εντολή switch user σάς επιτρέπει να συνδεθείτε ως root. Όταν το εκτελείτε, το σύστημα θα σας ζητήσει τον κωδικό πρόσβασης root και μπορείτε να κάνετε αυτό που θέλετε. Μπορείτε να προσθέσετε νέα αρχεία/λογισμικό και να κάνετε όλες τις αλλαγές. Ωστόσο, μπορεί να ξεχάσετε να αποσυνδεθείτε ως root και ένα απλό τυπογραφικό λάθος μπορεί να διαγράψει σημαντικά αρχεία ή ολόκληρο τον σκληρό δίσκο.

Το Sudo είναι η σύντομη μορφή για το “superuser do”. Αυτοί οι χρήστες εκτελούν εντολές με αυξημένα δικαιώματα και μπορούν να εγκαταστήσουν και να ενημερώσουν λογισμικό ή ακόμα και να αλλάξουν τις ρυθμίσεις του συστήματος. Ένας sudoer είναι ένας χρήστης που έχει τέτοια δικαιώματα. Οι χρήστες του Sudo πρέπει πάντα να χρησιμοποιούν τη λέξη-κλειδί «sudo» προτού εκτελέσουν οποιαδήποτε εντολή στο Ubuntu. Ωστόσο, δεν χρειάζεται να αποσυνδεθείτε μετά την εκτέλεση των εντολών σας.

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

  • Ένα αρχείο sudoers – ένα αρχείο διαμόρφωσης που ορίζει ποιοι χρήστες μπορούν να χρησιμοποιήσουν το sudo και πώς.
  • Ομάδα Sudoers – μια ειδική ομάδα χρηστών με δικαιώματα sudo.
  Πώς να προσθέσετε, να αφαιρέσετε και να καθυστερήσετε την εκκίνηση εφαρμογών σε Mac

Σενάρια όπου είναι απαραίτητο να παραχωρηθεί στους χρήστες πρόσβαση sudo

Μπορείτε να επιτρέψετε σε ορισμένους χρήστες να εκτελούν εντολές sudo στον προσωπικό ή τον υπολογιστή γραφείου σας. Μπορείτε να τους επιτρέψετε εάν:

  • Έχετε μια ομάδα διαχειριστών ή προγραμματιστών που πρέπει να εκτελέσουν εργασίες που χρειάζονται πρόσβαση root. Για παράδειγμα, μπορεί να χρειαστεί να εγκαταστήσουν λογισμικό ή να ενημερώσουν το σύστημα.
  • Θέλετε να περιορίσετε την πρόσβαση των χρηστών σε ορισμένα αρχεία ή καταλόγους στο σύστημά σας και δεν τους παρέχετε πλήρη πρόσβαση.
  • Έχετε έναν επισκέπτη χρήστη για μια εφάπαξ εργασία που απαιτεί πρόσβαση root. Για παράδειγμα, χρειάζεστε κάποιον να εγκαταστήσει και να διαμορφώσει εξειδικευμένο λογισμικό ή να ενημερώσει το σύστημα.

Σημασία της παραχώρησης προνομίων sudo στους χρήστες

  • Βελτιώστε την ασφάλεια του συστήματός σας: Δεν χρειάζεται να επιτρέπετε στους χρήστες να συνδέονται στο σύστημά σας ως χρήστες root, κάτι που μπορεί να εκθέσει το σύστημά σας σε πιθανές απειλές και σφάλματα. Η παροχή των προνομίων του sudo τους επιτρέπει να έχουν πρόσβαση μόνο σε ό,τι χρειάζονται.
  • Μπορείτε να προσαρμόσετε τα δικαιώματα: Η προσθήκη χρηστών sudo σάς επιτρέπει να καθορίσετε ποιες εντολές μπορούν να εκτελούν και πότε μπορούν να τις εκτελέσουν. Μπορείτε επίσης να καθορίσετε εάν αυτοί οι χρήστες χρειάζονται κωδικό πρόσβασης για την εκτέλεση τέτοιων εντολών.
  • Κάνει εύκολη την παρακολούθηση των χρηστών: Μπορείτε να ελέγξετε το αρχείο /var/log/auth.log για να δείτε όλες τις εντολές που εκτελούν τα sudoers στο σύστημά σας.

Προϋποθέσεις για την προσθήκη χρήστη στο αρχείο sudoers

  • Λογαριασμός χρήστη με δικαιώματα sudo: Πρέπει να προσθέσετε έναν χρήστη στα sudoers ενώ είστε συνδεδεμένοι σε έναν λογαριασμό με δικαιώματα sudo.
  • Όνομα χρήστη: Εάν έχετε πολλούς χρήστες στο σύστημά σας, πρέπει να γνωρίζετε το όνομα χρήστη του χρήστη που θα προσθέσετε σε ένα αρχείο ή ομάδα sudoers.
  • Ένας επεξεργαστής κειμένου: Το Ubuntu χρησιμοποιεί το Nano ως τον προεπιλεγμένο επεξεργαστή. Ωστόσο, μπορείτε να αλλάξετε σε άλλους.

Προσθέστε έναν χρήστη στο αρχείο sudoers

Υπάρχουν διάφορες προσεγγίσεις για την προσθήκη χρηστών στο αρχείο sudoers. Ωστόσο, πριν από αυτό, πρέπει να δημιουργήσουμε έναν νέο χρήστη.

Θέλω να δημιουργήσω έναν νέο χρήστη με το όνομα ‘titus’. Μπορείτε να ακολουθήσετε:

  • Συνδεθείτε σε έναν λογαριασμό χρήστη με δικαιώματα sudo και εκτελέστε αυτήν την εντολή: sudo adduser titus. Μπορείτε να αντικαταστήσετε το “titus” με το όνομα του χρήστη που θέλετε να δημιουργήσετε.

  • Εισάγετε τον κωδικό σας. Η γραμμή εντολών θα σας ζητήσει να εισαγάγετε τον κωδικό πρόσβασής σας.
  • Ορίστε νέο κωδικό πρόσβασης και, στη συνέχεια, επιβεβαιώστε
  Πώς να συνδεθείτε στον λογαριασμό σας στο Amazon Smile

  • Ακολουθήστε τις προτροπές (μπορείτε να επιλέξετε τις προεπιλογές) και κάντε κλικ στο ‘Y’ για να επιβεβαιώσετε όλες τις λεπτομέρειες.

Τώρα έχετε νέο χρήστη.

Υπάρχουν δύο προσεγγίσεις για την προσθήκη sudoers στο Ubuntu

#1: Προσθέστε τον χρήστη στην ομάδα sudo

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

sudo usermod -aG sudo username

Αντικαταστήστε το ‘όνομα χρήστη’ με τον χρήστη που θέλετε να κάνετε sudoer. Για την περίπτωσή μου, η εντολή θα είναι?

sudo usermod -aG sudo titus

Έχετε πλέον προσθέσει τον νέο χρήστη στην ομάδα sudo.

#2: Προσθήκη χρήστη στο αρχείο Sudoers

Έχουμε ήδη δει ότι ένα τυπικό σύστημα Linux όπως το Ubuntu έχει διαφορετικούς χρήστες. Σε τέτοιους χρήστες μπορούν να επιτραπούν διαφορετικά δικαιώματα αρχείων και καταλόγου Linux στο σύστημα. Για παράδειγμα, μπορείτε να επιτρέψετε στους χρήστες να «διαβάζουν», «εγγράφουν» ή «εκτελούν» αρχεία σε ένα σύστημα Unix.

Μπορούμε να ορίσουμε ποιοι χρήστες μπορούν να χρησιμοποιήσουν το sudo και πώς ορίζοντας αυτό στο αρχείο sudoers. Χρησιμοποιούμε αυτό το μονοπάτι /etc/sudoers για να εντοπίσουμε το αρχείο sudoers.

Υποθέτοντας ότι έχετε ήδη έναν χρήστη χωρίς δικαιώματα sudo, αυτά είναι τα βήματα που πρέπει να ακολουθήσετε:

  • Ανοίξτε το τερματικό σας
  • Χρησιμοποιήστε αυτήν την εντολή για να ανοίξετε το αρχείο
sudo visudo

Θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασής σας.

  • Επεξεργαστείτε το αρχείο. Αφού εκτελέσετε την εντολή, θα έχετε κάτι σαν αυτό.

Έχω έναν χρήστη με το όνομα ‘kamunya’ στον οποίο θέλω να δώσω όλα τα δικαιώματα sudo.

Εντοπίστε την ενότητα που μοιάζει με αυτό:

# User privilege specification

root    ALL=(ALL:ALL) ALL

Μπορώ τώρα να προσθέσω μια γραμμή που επιτρέπει στο ‘kamunya’ όλα τα δικαιώματα sudo ως εξής:

kamunya    ALL=(ALL:ALL) ALL
  • Αποθήκευση και έξοδος. Μπορείτε να χρησιμοποιήσετε αυτές τις συντομεύσεις: Ctrl+O για να γράψετε τις αλλαγές και Ctrl+X για έξοδο.

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

kamunya ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/apt-get upgrade

Πώς να ελέγξετε εάν ένας χρήστης έχει δικαιώματα sudo

Μπορεί να έχετε ακολουθήσει όλα αυτά τα βήματα, αλλά εξακολουθείτε να μην είστε σίγουροι αν οι χρήστες στο σύστημά σας είναι sudoers. Μπορείτε να χρησιμοποιήσετε αυτές τις προσεγγίσεις για να ελέγξετε:

Χρησιμοποιήστε την εντολή sudo

Θα ελέγξω αν ένας χρήστης με το όνομα ‘titus’ είναι sudoer. Η εντολή θα είναι:

sudo -l -U titus

Μπορείτε να αντικαταστήσετε το ‘titus’ με το όνομα χρήστη του χρήστη που θέλετε να ελέγξετε.

  10 τρόποι για να διορθώσετε τη μη φόρτιση του Powerbeats Pro

Εάν ο χρήστης είναι sudoer, θα έχετε κάτι κοντά σε αυτό.

Εάν ο χρήστης δεν έχει δικαιώματα sudo, είναι πιθανό να λάβετε αυτό το σφάλμα, το ‘όνομα χρήστη’ του χρήστη δεν επιτρέπεται να εκτελεί το sudo στο ‘όνομα του μηχανήματος σας’.

Ελέγξτε τις ομάδες sudo

Όταν δημιουργείτε έναν χρήστη sudo, το σύστημα εκχωρεί αυτόματα αυτόν τον χρήστη σε μια ομάδα που φέρει το όνομα χρήστη που επιλέξατε. Για παράδειγμα, έχω έναν χρήστη sudo με το όνομα ‘tk’. Μπορώ να ελέγξω αν αυτός ο χρήστης ανήκει σε μια ομάδα μέσω αυτής της εντολής.

groups tk

Μπορείτε να αντικαταστήσετε το ‘tk’ με το όνομα χρήστη σας.

Θα πάρετε κάτι παρόμοιο με αυτό?

Πώς να διαγράψετε έναν χρήστη sudo

Υπάρχουν πολλές περιπτώσεις στις οποίες μπορεί να θέλετε να διαγράψετε έναν χρήστη sudo. Για παράδειγμα, μπέρδεψες κατά τη ρύθμιση του προφίλ ή ο χρήστης που δημιουργήσατε έπρεπε να κάνει μια εφάπαξ εργασία.

Μπορείτε να χρησιμοποιήσετε το GUI ή τη γραμμή εντολών για να διαγράψετε έναν χρήστη από το σύστημά σας Ubuntu. Έτσι μπορείτε να διαγράψετε έναν χρήστη χρησιμοποιώντας τη γραμμή εντολών:

  • Εκτελέστε αυτήν την εντολή sudo deluser όνομα χρήστη, όπου αντικαθιστάτε το ‘όνομα χρήστη’ με το προφίλ που θέλετε να διαγράψετε. Αυτή η προσέγγιση θα καταργήσει τον χρήστη, αλλά τα αρχεία χρήστη θα παραμείνουν.

Έχω αφαιρέσει έναν από τους χρήστες μου (kamunya)

Εάν θέλετε να αφαιρέσετε τα αρχεία χρήστη, εκτελέστε την εντολή ως εξής.

sudo deluser --remove-home username

Στην περίπτωσή μου θα είναι:

sudo deluser --remove-home kamunya

Βέλτιστες πρακτικές για τη διαχείριση χρηστών στο αρχείο sudoers

  • Χρήση εντολής visudo: Εάν αποφασίσετε να προσθέσετε sudoers προσθέτοντάς τα στο αρχείο sudoer, χρησιμοποιήστε πάντα την εντολή visudo. Μόλις τελειώσετε, ελέγξτε για λάθη, αποθηκεύστε και βγείτε από το πρόγραμμα επεξεργασίας.
  • Χρήση ομάδων: Αντί να προσθέτετε άτομα ως χρήστες sudo, κάθε φορά που θέλετε να προσθέσετε νέους χρήστες, μπορείτε να τους προσθέσετε σε μια ομάδα. Μπορείτε να έχετε διαφορετικές ομάδες όπως “διαχειριστές” και “προγραμματιστές” με διαφορετικά δικαιώματα.
  • Πρόσβαση σε έγγραφα: Διατηρήστε αρχεία για το ποιοι έχετε δώσει δικαιώματα sudo και τι μπορούν να κάνουν. Μια τέτοια προσέγγιση διευκολύνει τους νέους υπαλλήλους να επιλέξουν σε περίπτωση που υπάρξουν αλλαγές.
  • Πρόσβαση παρακολούθησης: Παρακολουθείτε πάντα τους διαφορετικούς χρήστες που έχετε προσθέσει ως sudoers που συνδέονται στο σύστημα. Οι συχνές αναθεωρήσεις σάς επιτρέπουν επίσης να διαγράφετε χρήστες ή να αλλάζετε προνόμια καθώς αλλάζουν οι ανάγκες.

συμπέρασμα

Το Ubuntu είναι ένα από τα πιο χρησιμοποιούμενα λειτουργικά συστήματα από διαχειριστές και προγραμματιστές. Ωστόσο, πρέπει να διασφαλίσετε ότι παρέχετε στους σωστούς χρήστες τα σωστά προνόμια κατά την πρόσβαση στο σύστημά σας.

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

Μπορείτε επίσης να εξερευνήσετε ορισμένες εντολές απόδοσης Linux για να τις γνωρίζετε ως διαχειριστής συστήματος.