Μια περιορισμένη όρια κέλυφος τι ένας λογαριασμός χρήστη μπορεί να κάνει στο Linux. Ένας περιορισμένος χρήστης δεν μπορεί να αλλάξει τον κατάλογο τους, και να ελέγχετε ποιες εντολές έχουν πρόσβαση. Εδώ είναι πώς να δημιουργήσει ένα περιορισμένο κέλυφος σε Linux.
Περιορισμένη Κοχύλια
Μια περιορισμένη κέλυφος δεν είναι ένα διαφορετικό κέλυφος. Είναι ένα διαφορετικό τρόπο ένα πρότυπο κέλυφος . ο Κτυπώ δυνατά , Korn , Ψάρι , Και άλλα κελύφη μπορούν όλα να αρχίσει σε λειτουργία περιορισμένη κέλυφος. Θα πρέπει να χρησιμοποιούν Bash σε αυτό το άρθρο, αλλά οι ίδιες αρχές ισχύουν για τις άλλες κοχύλια.
Επειδή περιορισμένη κοχύλια είναι απλά ένας άλλος τρόπος για τη χρήση τυποποιημένων κέλυφος σας, είναι εύκολο να δημιουργηθεί. Δεν υπάρχει τίποτα για την εγκατάσταση, και είναι διαθέσιμο όποτε το Linux είναι.
Περιορισμένη κελύφη μπορεί να εφαρμοστεί σε σενάρια, πάρα πολύ. Αυτό εξασφαλίζει ότι κάθε ζημιά που μπορεί να προκαλέσει, αν έχετε γράψει σωστά περιορίζεται στα όρια της περιορισμένης κόσμο τους και ότι δεν έχουν πρόσβαση σε ολόκληρο τον υπολογιστή σας.
Θα πρέπει να γνωρίζετε, όμως, ότι η περιορισμένη κελύφη δεν είναι πλήρως διαφυγή. Κάποιος με αρκετή γνώση μπορεί να ξεφύγει από μια περιορισμένη κέλυφος. Είναι μεγάλη και αν για τη θέση ασφαλή όρια για ένα απλό χρήστη, αλλά δεν βασίζονται σε περιορισμένο κοχύλια για κάθε πραγματικό κόσμο της ασφάλειας σε ένα σύστημα παραγωγής.
ΣΧΕΤΙΖΕΤΑΙ ΜΕ: Ποια είναι η διαφορά μεταξύ Bash, zsh, και άλλων καρπών Linux;
Περιορισμένη Bash
Όταν εκτελείτε το Bash ως ένα περιορισμένο κέλυφος, ο χρήστης έχει κάποιες δυνατότητες από αυτές. Συγκεκριμένα, ο χρήστης δεν μπορώ :
-
Χρήση
CDγια να αλλάξετε τον κατάλογο εργασίας. -
Αλλάξτε τις τιμές των
$ PATH,$ SHELL,$ BASH_ENV, ή$ ENVπεριβαλλοντικές μεταβλητές (αλλά μπορούν να διαβάσουν τις τρέχουσες τιμές). -
Διαβάστε ή αλλαγή
SHELLOPTS $κέλυφος περιβαλλοντικές επιλογές. - Ανακατεύθυνση της εξόδου μιας εντολής.
-
Επικαλούνται εντολές που απαιτούν μια διαδρομή για να τους εντοπίσει. Δηλαδή, δεν μπορεί να εκδώσει μια εντολή που έχει ένα ή περισσότερα καθέτους «
/" μέσα σε αυτό. -
Επικαλούμαι
execνα υποκαταστήσει μια διαφορετική διαδικασία για το κέλυφος. - Χρησιμοποιήστε οποιαδήποτε από τις περιορισμένες δυνατότητες σε ένα σενάριο.
Μπορείτε να επικαλεστεί μια περιορισμένη κέλυφος Bash χρησιμοποιώντας το
-R
(Περιορισμένη) δυνατότητα. Προσπαθώντας να κάνει μια απλή εργασία όπως η αλλαγή του καταλόγου εργασίας απαγορεύεται. Ένα μήνυμα λακωνική σας λέει ότι
CD
είναι περιορισμένη.
bash -r
cd Documents
Το Bash κέλυφος μπορεί επίσης να ανιχνεύσει όταν έχει γίνει επίκληση χρησιμοποιώντας «rbash» αντί για «bash.» Αυτό αναγκάζει να ξεκινήσει ως ένα περιορισμένο κέλυφος, πάρα πολύ. Αυτό παρέχει ένα βολικό τρόπο για να ορίσετε το προεπιλεγμένο κέλυφος για ένα συγκεκριμένο χρήστη, το οποίο θα χρησιμοποιήσουμε σύντομα.
Αν χρησιμοποιείτε το
που είναι
εντολών στο Ubuntu να ψάξουν για το
rbash
αρχεία, θα δούμε ότι το εκτελέσιμο είναι στο «usr / bin» κατάλογο. Η σελίδα man είναι στον κατάλογο «/ usr / share / man / man1».
Χρησιμοποιώντας το
ls
εντολή με το
-μεγάλο
(Μακρύ) η επιλογή αποκαλύπτει ότι
rbash
είναι
στην πραγματικότητα μια συμβολική σύνδεση
προς το
κτυπώ δυνατά
.
whereis rbash
ls -l / usr / bin / rbash
Σε Manjaro και Fedora, το
rbash
συμβολικό σύνδεσμο έπρεπε να δημιουργηθεί. Αυτό λειτουργεί και στις δύο κατανομές:
whereis rbash
sudo ln -s / bin / bash / bin / rbash
whereis rbash
Τη δεύτερη φορά που χρησιμοποιούμε το
που είναι
εντολή, διαπιστώνει
rbash
στον κατάλογο «/ usr / bin».
Ο περιορισμός ένα χρήστη
Ας
δημιουργήσετε ένα νέο λογαριασμό χρήστη
με το όνομα «Minnie». Θα θέσει το κέλυφος τους για να είναι η περιορισμένη κέλυφος χρησιμοποιώντας το
-μικρό
(Κέλυφος) επιλογή του
useradd
εντολή. Λοιπόν επίσης
ορίσετε τον κωδικό πρόσβασης του λογαριασμού
χρησιμοποιώντας το
περασμένος
εντολή και θα δημιουργήσουμε ένα φάκελο στο σπίτι τους.
ο
-Π
(Οι γονείς), σημαία, το
mkdir
εντολή λέει
mkdir
για να δημιουργήσει τον κατάλογο στόχο και κάθε γονέα τους καταλόγους που θα πρέπει να δημιουργήσει, πάρα πολύ. Έτσι, με τη δημιουργία του «/ home / Minnie / bin» κατάλογο, δημιουργούμε το «/ home / Minnie» κατάλογο την ίδια στιγμή.
sudo useradd minnie -s / bin / rbash
sudo passwd minnie
sudo mkdir -p / home / minnie / bin
Όταν Minnie συνδέεται με, αυτή θα πρέπει να τρέχει σε μια περιορισμένη κέλυφος.
cd
Δεν μπορεί να επικαλεστεί τις εντολές που πρέπει να περιλαμβάνει ένα κάθετο «
/
«:
/ usr / bin / ping
Ωστόσο, μπορεί ακόμα να εκτελέσει τις εντολές που βρίσκονται στη διαδρομή.
ping
Αυτό δεν είναι η συμπεριφορά που θα αναμενόταν, και σίγουρα δεν είναι αυτό που θέλουμε. Για να σφίξετε περισσότερο τους περιορισμούς, θα πρέπει να αλλάξετε τη διαδρομή που κελύφους Minnie θα χρησιμοποιήσουν για να ψάξουν για τις εντολές.
Σύσφιξη τις Περιορισμοί
Όταν δημιουργήσαμε Αρχική Minnie του «/ home / Minnie», έχουμε επίσης δημιουργήσει ένα «/ home / Minnie / bin» κατάλογο. Αυτό είναι που αυτός ο κατάλογος μπαίνει στο παιχνίδι.
Εμείς πάμε για να επεξεργαστείτε Minnie του «.bash_profile» το αρχείο και να ορίσετε την πορεία της προς το σημείο μόνο αυτόν τον κατάλογο. Επίσης, θα περιορίσει «.bash_profile» αρχείο Minnie, έτσι ώστε μόνο ο root μπορεί να το επεξεργαστεί. Αυτό σημαίνει ότι κανένας άλλος χρήστης μπορεί να επεξεργαστεί το αρχείο και να αλλάξετε την πορεία της.
sudo gedit /home/minnie/.bash_profile
Είτε να επεξεργαστείτε το υπάρχον «PATH =» ή να προσθέσετε την ακόλουθη γραμμή:
PATH = $ HOME / bin
Αποθηκεύστε το αρχείο. Καλά
αλλάξετε τον ιδιοκτήτη του αρχείου
να ρίζα χρησιμοποιώντας το
chown
εντολών και
να αλλάξετε τα δικαιώματα αρχείων
χρησιμοποιώντας το
χλωμός
εντολή. Μόνο ο χρήστης root θα είναι σε θέση να επεξεργαστείτε το αρχείο.
sudo chown root: /home/minnie/.bash_profile[102 ρίζα]sudo chmod 755 /home/minnie/.bash_profilels -l /home/minnie/.bash_profile
![]()
Την επόμενη φορά minnie χρήστης συνδέεται στο, σημεία δρόμο της σε ένα ενιαίο φάκελο.
![]()
minnie περιορισμένη χρήστης μας μπορεί να χρησιμοποιήσει μόνο Bash ενσωματωμένες εντολές όπως
ηχώ,ψευδώνυμο, καιΑποσύνδεση. Δεν μπορεί ακόμη και να χρησιμοποιήσουνls!ls
![]()
Θα πρέπει να χαλαρώσει τον ασφυκτικό κλοιό λίγο μας, αν θέλουμε να είναι σε θέση να κάνει κάτι χρήσιμο σε όλους. Θα δημιουργήσουμε κάποιες συμβολικές συνδέσεις από «bin» κατάλογος με τις εντολές Minnie ότι θέλουμε Minnie να είναι σε θέση να χρησιμοποιήσει.
sudo ln -s / bin / ls / home / minnie / binsudo ln -s / bin / κορυφή / home / minnie / binsudo ln -s / bin / uptime / home / minnie / binsudo ln -s / bin / ροζ / home / minnie / bin
![]()
Όταν Minnie δίπλα κούτσουρα στο, αυτή θα βρείτε ότι μπορεί να χρησιμοποιήσει το Bash ενσωματωμένες εντολές, καθώς και εκείνες οι εντολές που έχουν συνδεθεί με.
lsροζ daveuptime
![]()
Ο περιορισμός υπάρχοντες χρήστες
Εμείς minnie δημιουργήθηκε ως νέος χρήστης. Προς το αλλάξετε το κέλυφος ενός υπάρχοντος χρήστη, μπορούμε να χρησιμοποιήσουμε το
-μικρό(Κέλυφος) επιλογή τουusermodεντολή.sudo usermod -s / bin / rbash Mary
![]()
Μπορείτε να χρησιμοποιήσετε το
πιο λιγοΕντολή για την «/ etc / passwd» το αρχείο για να δείτε γρήγορα τι κέλυφος έχει οριστεί ως το προεπιλεγμένο κέλυφος κάποιου χρήστη.λιγότερα / etc / passwd
![]()
Μπορούμε να δούμε ότι η Μαρία χρήστης θα χρησιμοποιήσει το περιορισμένο κέλυφος όταν δίπλα κούτσουρα στο.
![]()
Θυμηθείτε να εφαρμόσει τις άλλες αλλαγές για να περιορίζει τους
$ PATHμεταβλητή περιβάλλοντος και να ρυθμίσετε τις εντολές που θέλετε η mary χρήστης να είναι σε θέση να εκτελέσει.Ο περιορισμός Σενάρια
Ένας τακτικός, απεριόριστος χρήστης μπορεί να ξεκινήσει σενάρια που εκτελούνται σε περιορισμένο κέλυφος. Αντιγράψτε τις παρακάτω γραμμές και επικολλήστε τα σε έναν επεξεργαστή. Αποθηκεύστε το αρχείο ως "περιορισμένο.sh" και κλείστε τον επεξεργαστή.
#! / Bin / bash # script ξεκινάει σε κανονικό κέλυφος bash echo "## σε απεριόριστη λειτουργία! ##" ηχώ ECHO "Τρέχουσα κατάλογο:` Pwd` " ECHO "Αλλαγή κατάλογου" CD / USR / SHARE echo "Τώρα στον κατάλογο:` Pwd` " echo "Αλλαγή στο σπίτι κατάλογος" cd ~ echo "Τώρα στον κατάλογο:` Pwd` " # Ρύθμιση περιορισμένης λειτουργίας ρυθμίστε ηχώ ECHO "## σε περιορισμένη λειτουργία! ##" ηχώ ECHO "Τρέχουσα κατάλογο:` Pwd` " ECHO "Αλλαγή καταλόγου στο / σπίτι /" CD / HOME echo "ακόμα στον κατάλογο:` Pwd` " ηχώ echo "προσπαθώντας να ξεκινήσει ένα άλλο κέλυφος" / bin / bash ηχώ echo "προσπαθώντας να ανακατευθύνει την έξοδο εντολών" LS -L $ HOME & GT; my_files.txt γάτα my_files.txt ηχώ Έξοδος 0Πρέπει να χρησιμοποιήσουμε το
χλωμόςεντολή με το+ x(Εκτέλεση) σημαία για να κάνετε το σενάριο εκτελέσιμο.chmod + x περιορισμένο.sh
![]()
Το πρώτο μέρος του σεναρίου τρέχει σε ένα κανονικό κέλυφος.
./ restriled.sh
![]()
Το δεύτερο τμήμα του σεναρίου - το bit μετά τη γραμμή "SET -R" σε ένα περιορισμένο κέλυφος.
![]()
Καμία από τις προσπάθειες δεν επιτύχει το περιορισμένο τμήμα του σεναρίου.
Ένα ολόκληρο σενάριο μπορεί να γίνει για να τρέξει σε ένα περιορισμένο κέλυφος προσθέτοντας
-Rστην πρώτη γραμμή:! # / Bin / bash -rΘυμηθείτε το Houdini
Τα περιορισμένα κελύφη είναι χρήσιμα, αλλά όχι εντελώς αληθινά. Ένας επαρκώς εξειδικευμένος χρήστης μπορεί να είναι σε θέση να τα ξεφύγει. Αλλά όταν χρησιμοποιούνται με περίληψη, είναι ένας χρήσιμος τρόπος για τη δημιουργία ενός συνόλου περιορισμών για ένα συγκεκριμένο λογαριασμό.