Άδειες Linux για διαχειριστές συστήματος και προγραμματιστές

Άδειες Linux για διαχειριστές συστήματος και προγραμματιστές

Άδειες Linux για διαχειριστές συστήματος και προγραμματιστές

Το ζήτημα των αδειών στο Linux και η σωστή χρήση του μέσω της εντολής "chmod" είναι κάτι που πολύ συχνά εκτίθεται και συζητείται στις κοινότητες SL από προχωρημένους χρήστες, τεχνικούς και διαχειριστές διακομιστών και συστημάτων. Για παράδειγμα, στο ιστολόγιό μας έχουμε 2 πολύ καλές δημοσιεύσεις σχετικά με αυτό, οι οποίες είναι: Δικαιώματα και δικαιώματα στο Linux (01/12) y Βασικά δικαιώματα σε GNU / Linux με chmod (08/16).

Αλλά πολλές φορές SW προγραμματιστές ποιοι είναι αυτοί που δημιουργούν τις Εφαρμογές και τα Συστήματα, τα περισσότερα από αυτά Συστήματα και Ιστοσελίδες, Κατά την ανάπτυξή τους, συνήθως δεν θεωρούν ποια είναι τα σωστά δικαιώματα που πρέπει να εφαρμοστούν σε αυτά, αφήνοντας την εργασία σχεδόν πάντα στο πλευρό του Διακομιστή και του Διαχειριστή συστήματος. Σε αυτήν την έκδοση θα προσπαθήσουμε να δώσουμε μια μικρή καθοδήγηση σχετικά με αυτούς.

Άδειες Linux για DevOps / BDA: Εισαγωγή

Εισαγωγή

Η εντολή "chmod»Είναι πολύ χρήσιμο και σημαντικό για προηγμένη χρήση Λειτουργικών Συστημάτων που βασίζονται σε Linux. Ωστόσο, ως τέτοιο το "chmod" δεν είναι αυτόνομο πακέτο, αλλά ενσωματώνεται στο πακέτο "πυρήνες«. Το πακέτο "coreutils" είναι ένα πακέτο που παρέχει στο λειτουργικό σύστημα πολλά βασικά εργαλεία για διαχείριση αρχείων, διερμηνείς εντολών και επεξεργασία κειμένου. Και σε γενικές γραμμές, είναι ήδη εγκατεστημένο από προεπιλογή στα περισσότερα Linux Distros.

Συγκεκριμένα, αυτό το πακέτο περιέχει, εκτός από την εντολή "chmod", τις ακόλουθες εντολές: arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false flock fmt fold ομάδες head hostid id install join link ln logname ls md5sum mkdir mkfifo mknod mktemp nv nic numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon sha * sum seq shred sleep sort split stat stty sum sync tac tail tee test timeout touch tr true truncate tsort tty uname unexpand uniq unlink users vdir wc who whoami ναι.

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

περιεχόμενο

Άδειες Linux για SW / BD: Περιεχόμενο 1

Χρήση για προγραμματιστές SW

Ένας Διαχειριστής Διακομιστή και Συστημάτων (Sysadmin) όταν αποφασίζει ποια δικαιώματα παραχωρεί σε έναν χρήστη X επιπέδου ή προφίλ σε αρχείο X ή φάκελο, πρέπει να γνωρίζει ακριβώς τι είδους λειτουργίες ή διαδικασίες πρέπει να εκτελέσει σε αυτούς. Στην περίπτωση διακομιστή Web, οι χρήστες μπορούν να ταξινομηθούν σε 2 τύπους:

  1. Χρήστες διαχειριστή: Ποιοι έχουν λογαριασμό χρήστη στο διακομιστή για να συνδεθούν, έχουν συγκεκριμένα δικαιώματα και γενικά πραγματοποιούν ορισμένες αλλαγές (αντιγραφή / διαγραφή / τροποποίηση) στο σύστημα ή στον ιστότοπο που έχουν εγκατασταθεί μέσω SSH ή SFTP, για παράδειγμα.
  2. Χρήστες εκτός διαχειριστή: Ότι δεν έχουν λογαριασμό χρήστη στο διακομιστή, καθώς είναι μόνο επισκέπτες του Ιστότοπου και του Συστήματος Ιστού. Επομένως, δεν έχουν δικαιώματα άμεσης πρόσβασης σε αρχεία και φακέλους, αλλά αλληλεπιδρούν μαζί τους, μέσω της διεπαφής ιστού του ιστότοπου ή του εγκατεστημένου συστήματος Web.

Ωστόσο, όταν ένα Sysadmin δεν λαμβάνει αρκετά ή επαρκή πληροφορίες, τεκμηρίωση ή υποστήριξη από SW Developers σχετικά με τις δυνατότητες, τις λειτουργίες ή τη δομή αρχείων των Ιστότοπων και των Συστημάτων που πρόκειται να εγκατασταθούν καταλήγει να εκτελεί το αξιόπιστο μέγιστο, το οποίο σε αυτήν την περίπτωση είναι συνήθως:

chmod 777 -R /var/www/sistema-web

Και πολλές φορές τελειώνει με:

chown root:root -R /var/www/sistema-web

Άδειες Linux για SW / BD: Περιεχόμενο 2

Ανακοπή

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

Δυνατότητα σε οποιονδήποτε χρήστη της Ιστοσελίδας ή του Συστήματος Ιστού στο Διαδίκτυο να αλλάξει ή να διαγράψει οποιοδήποτε αρχείο στη δομή αρχείων του Ιστότοπου ή του Συστήματος Ιστού εντός του Διακομιστή Web ή πέραν αυτού, χωρίς μεγάλα εμπόδια. Δεδομένου ότι πρέπει να θυμόμαστε ότι είναι ο Διακομιστής Ιστού που ενεργεί για λογαριασμό των χρηστών που επισκέπτονται και ότι μπορεί να αλλάξει τα ίδια αρχεία που εκτελούνται.

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

Άδειες Linux για SW / BD: Περιεχόμενο 3

Συστάσεις

Για να αποφύγετε αυτούς τους τύπους μέτρων, είτε Το Sysadmin ή το SW Developer, πρέπει να διασφαλίσει ότι οι φάκελοι και τα αρχεία των διαφόρων συστημάτων ή ιστότοπων φέρουν τα σωστά και απαραίτητα δικαιώματα και χρήστες για την αποφυγή μελλοντικών ζητημάτων ασφάλειας και απορρήτου.

Στο επίπεδο δικαιωμάτων, μπορείτε να εκτελέσετε τις ακόλουθες 3 εντολές για να επαναφέρετε τα δικαιώματα και τους χρήστες ενός εγκατεστημένου συστήματος ή ιστότοπου σε κανονικά επίπεδα.Με άλλα λόγια, ορίστε την τιμή 755 σε όλους τους καταλόγους και 644 σε αρχεία.

Πάντα θυμάμαι να τα εκτελέσουμε στο φάκελο System ή Website, δεδομένου ότι εάν εκτελούνται σε έναν υψηλότερο φάκελο (κατάλογος), όπως, για παράδειγμα, τη ρίζα του διακομιστή, οι εντολές εντολών θα τροποποιήσουν αναδρομικά όλα τα δικαιώματα του διακομιστή, αφήνοντάς το πιθανότατα ανενεργό.

Άδειες Linux για SW / BD: Περιεχόμενο 4

Δικαιώματα που εφαρμόζονται σε φακέλους (κατάλογοι)

Παραδείγματα

Άδειες καταλόγων και αρχείων

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

y

chmod 777 -R .

o

chmod 777 -R /var/www/sistema-web

Σε περίπτωση που βρίσκεστε εκτός του φακέλου (κατάλογος) του Συστήματος ή της Ιστοσελίδας.

Χρήστες συστήματος ή ιστότοπου

chown www-data:www-data -R .

o

chown www-data:www-data -R /var/www/sistema-web

Σε περίπτωση που βρίσκεστε εκτός του φακέλου (κατάλογος) του Συστήματος ή της Ιστοσελίδας. Και ο χρήστης δεδομένων www χρησιμοποιείται μόνο ως παράδειγμα, καθώς είναι ο πιο χρησιμοποιημένος ή κατάλληλος όσον αφορά τη χρήση του Apache2.

Άδειες Linux για SW / BD: Περιεχόμενο 5

Δικαιώματα που εφαρμόζονται σε αρχεία (αρχεία)

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

Άδειες Linux για SW / BD: Συμπέρασμα

Συμπέρασμα

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

Και πολύ περισσότερο, όταν πρόκειται για επίπεδο Web Servers, δηλαδή όπου φιλοξενούνται τα Συστήματα ή εσωτερικοί και εξωτερικοί ιστότοποι ενός Οργανισμού, δεδομένου ότι είναι υψηλότερη προτεραιότητα να γνωρίζουμε ποια δικαιώματα πρέπει να εκχωρηθούν σε κάθε κατάλογο ή αρχείο, για να επιτευχθεί η καλύτερη ισορροπία μεταξύ απορρήτου, ασφάλειας και λειτουργικότητας.


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

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

*

*

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

  1.   polg28 dijo

    Καλημέρα πώς είσαι?
    Μπερδεύω το linux, έχω μια εφαρμογή που μπορεί να εισάγει αρχεία από αυτό, ο χρήστης ανεβάζει ένα .zip που περιέχει ένα φάκελο με αρχεία xml, μετά την αποσυμπίεση των αρχείων που εισάγονται στη βάση δεδομένων. Στα παράθυρα δεν έχω κανένα πρόβλημα, όταν περνούσα την εφαρμογή στο linux θα μου έλειπε κάποια δικαιώματα, κατ 'αρχήν για να δοκιμάσω όλα όσα έχω κάνει σε αυτό το άρθρο και δεν πρέπει να γίνει χαχα (αλλά θα αλλάξω μόλις μπορώ να επικυρώσω όλες τις λειτουργίες) .
    Το γεγονός είναι ότι τα αρχεία αποσυμπιέζονται, αλλά βλέπω ότι λαμβάνονται μόνο με δικαιώματα ανάγνωσης και εγγραφής για τον κάτοχο, ανάγνωση για την ομάδα κατόχων και χωρίς δικαιώματα για άλλους. Όταν τα αρχεία ανήκουν στον χρήστη που χρησιμοποιεί την εφαρμογή. Κατανοώ ότι χωρίς τα δικαιώματα εκτέλεσης, δεν είναι σε θέση να ακολουθήσει την κανονική ροή της διαδικασίας και να προχωρήσει στην εισαγωγή του xml στη βάση δεδομένων. Στην οποία έρχεται η ερώτησή μου, πώς μπορώ να δώσω δικαιώματα σε αρχεία που δεν έχω ακόμη στο σύστημα; Στον φάκελο που έχει ληφθεί (tmp) έχει όλα τα δικαιώματα, εφαρμόζεται με επαναληπτικό τρόπο, αλλά κάθε φορά που τα αρχεία λαμβάνονται μέσα σε αυτόν το φάκελο έχουν μόνο τα δικαιώματα που αναφέρονται. Υπάρχει τρόπος να παραμείνουν τα αρχεία που εμφανίζονται σε αυτόν το φάκελο με δικαιώματα εκτέλεσης;
    Ελπίζω να είμαι ξεκάθαρος, σας ευχαριστώ πολύ εκ των προτέρων και εξαιρετικό blog

  2.   Εγκατάσταση Linux Post dijo

    Υποθέτω ότι ο φάκελος / tmp ή… / tmp έχει 755 δικαιώματα, αλλά ακόμα και όταν ο χρήστης που κατέχει την εφαρμογή τα καταθέτει, τα αφήνει με άλλα δικαιώματα. Δεν είμαι προγραμματιστής αλλά υποθέτω ότι στη γλώσσα της εφαρμογής ή σε άλλη θα μπορούσε να υποδείξει σε αυτήν μια ρουτίνα που εκτελεί την εντολή εντολής (bash) των απαραίτητων δικαιωμάτων (chmod) και του κατόχου των αρχείων (chown). Διαφορετικά, θα μπορούσατε να εκτελέσετε ένα σενάριο κάθε λεπτό που εκτελείται.