Συμβουλή: Έχετε έναν κοινόχρηστο κατάλογο μεταξύ πολλών χρηστών στο Linux

τερματικό

Σήμερα επιστρέφω με μια άλλη συμβουλή που, προσωπικά, χρησιμοποιώ πολύ: να έχετε έναν κοινόχρηστο κατάλογο μεταξύ πολλών χρηστών σε Linux. Τους έβαλα σε μια κατάσταση, με τη γυναίκα μου στο σπίτι χρησιμοποιούμε και οι δύο τον ίδιο υπολογιστή Arch Linux αλλά το καθένα με τον δικό του χρήστη. Έτσι, παρατηρήσαμε το πρόβλημα με αυτούς τους φακέλους που μοιραζόμαστε όπως μουσική ή φωτογραφίες, καθώς ο καθένας είχε τα δικά του αρχεία, αντιγράφοντας πράγματα.

Τότε σκεφτήκαμε δημιουργήστε έναν κοινόχρηστο φάκελο, αλλά αυτό είναι το πρόβλημα των δικαιωμάτων. Εάν ο φάκελος είναι δικός μου δεν τον βλέπει, εάν το αρχείο έχει δημιουργηθεί από εμένα, δεν τον διαγράφει και ούτω καθεξής. Στην αρχή, η ενημέρωση κώδικα ήταν ότι δώσαμε 777 δικαιώματα σε αυτά τα αρχεία κάθε φορά που επεξεργαζόμασταν κάτι για να έχει πρόσβαση ο άλλος μέχρι να βρούμε τη λύση, Άδειες ομάδας!

Τι είναι τα δικαιώματα ομάδας;

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

Και πώς μπορώ να το διαμορφώσω;

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

sudo mkdir /home/compartido

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

sudo groupadd compartidos

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

sudo chgrp -R compartidos /home/compartido
sudo chmod g+s dirname

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

sudo usermod -G compartido sebastian
sudo usermod -G compartido mimujer

Μέχρι στιγμής, έχουμε τον κατάλογο «/ σπίτι / κοινόχρηστο»Ποιο ανήκει στην ομάδα«κοινή χρήση«, Με αυτό που όλοι οι χρήστες του ίδιου θα έχουν πρόσβαση και ό, τι δημιουργείται στον κατάλογο, θα ανήκουν στην ομάδα με ό, τι κάποιος από εμάς θα μπορεί να τους δει.

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

Επεξεργασία του umask

Για να επεξεργαστείτε το umask, σε κάθε χρήστη πρέπει να επεξεργαστείτε το αρχείο .profile ή .bashrc που βρίσκεται μέσα στο σπίτι του χρήστη και να τροποποιήσετε την τιμή του umask με τον επιθυμητό αριθμό. Εάν η επιλογή δεν υπάρχει, πρέπει να την προσθέσουμε.

Μπορείτε επίσης να επεξεργαστείτε το αρχείο / etc / profile έτσι ώστε η αλλαγή να επηρεάσει όλους τους χρήστες

Έτσι, στην κονσόλα βάζουμε:

sebastian@multivacs ~> vim .profile

Και θα δούμε κάτι σαν αυτό:

vi-προφίλ2

Έτσι, πηγαίνουμε στη γραμμή που λέει umask, πατάμε το γράμμα i για να επεξεργαστείτε και να αφαιρέσετε το # για να αφαιρέσετε το σχόλιο. Αλλάζουμε τον αριθμό σε 002. Εάν η γραμμή δεν εμφανίζεται, πρέπει να τον προσθέσουν.

Μόλις τελειώσετε, πατάμε το πλήκτρο Esc για έξοδο από τη λειτουργία επεξεργασίας και μετά γράφουμε :+q+w. Αυτό που μας κάνει να σώσουμε τις αλλαγές και να βγούμε από το Vi.

Θα μοιάζει με αυτήν την εικόνα:

vi-προφίλ

Και αυτό είναι! Αν κλείσουν τη συνεδρία χρήστη και την ανοίξουν ξανά, θα γίνουν οι αλλαγές, οπότε ο κοινόχρηστος κατάλογος θα λειτουργεί.


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

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

*

*

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

  1.   Έλαβ dijo

    Μεγάλη συμβουλή.

  2.   KZKG ^ Γκάρα dijo

    Μεγάλη.

    Πριν από μερικά χρόνια βρήκα τον εαυτό μου στην ανάγκη να το κάνω αυτό, αυτό που δεν ήξερα ήταν το umask ... Αντ 'αυτού έβαλα μια εργασία στο crontab 🙂

    Ευχαριστώ για την συμβουλή

    1.    θαλσκαρτ dijo

      Ναι, το crontab είναι επίσης καλό. Τι βάλατε, για να εκχωρήσετε 775 δικαιώματα στο περιεχόμενο;

  3.   ακατέργαστο βασικό dijo

    Εξαιρετική συμβουλή .. .. αποθηκευμένη εάν είναι απαραίτητο;) ..

  4.   Luis dijo

    Εντάξει, δημιουργείτε το φάκελο / αρχική / κοινόχρηστη και αντιστοιχίζετε την ομάδα "κοινόχρηστη" σε αυτήν, αλλά

    Σε ποιον χρήστη ανήκει αυτός ο φάκελος; Δηλαδή, ποιος είναι ο ιδιοκτήτης; Εγώ, το άλλο άτομο ή ο ριζικός χρήστης του οποίου ο λογαριασμός είναι απενεργοποιημένος αφού χρησιμοποιώ το sudo;

    Από την άλλη πλευρά, αντιμετωπίζω το ακόλουθο πρόβλημα: Τα αρχεία που δημιουργώ δεν μπορούν να διαγραφούν από το άλλο άτομο και τα αρχεία που δημιουργεί το άλλο άτομο δεν μπορώ να διαγράψω τον εαυτό μου.

    Τι εκανα λαθος?

    1.    θαλσκαρτ dijo

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

      Από την άλλη, βεβαιωθείτε ότι τα αρχεία που δημιουργείτε το κάνουν με 775 δικαιώματα (που δίνει το umask 002). Εάν δεν έχουν αυτά τα δικαιώματα, ενδέχεται να υπάρχει λάθος διαμόρφωση.

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

      1.    Luis dijo

        Γεια Εχεις δίκιο.

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

        Υπάρχει λύση σε αυτό;

        Θα μπορούσα να χρησιμοποιήσω μαργαριτάρια.

      2.    θαλσκαρτ dijo

        Σε αυτήν την περίπτωση, το καλύτερο θα ήταν να βάλετε ένα crontab όπως είπε ο KZKG ^ Gaara, στο οποίο θα μπορούσατε να βάλετε μια εντολή για να αντιστοιχίσετε την ομάδα και τα δικαιώματα στο περιεχόμενο του φακέλου κάθε Χ.
        Δηλαδή κάτι τέτοιο στο crontab:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        Για όλα τα νέα, μεταβείτε στην Κοινόχρηστη ομάδα με δικαιώματα 775.

      3.    θαλσκαρτ dijo

        Αγνοήστε το * στο τέλος κάθε γραμμής, σκέφτηκα κάτι άλλο όταν το έβαλα 😛

      4.    Luis dijo

        Σας ευχαριστούμε φίλος.

  5.   ernesto dijo

    Πολύ καλή ανάρτηση, αλλά προτιμώ να έχω ένα ξεχωριστό διαμέρισμα, στο οποίο μπορώ να βάλω ό, τι θέλω να μοιραστώ. Έχω έναν γενναιόδωρο δίσκο 500 GB, στον οποίο χρησιμοποιώ 100 GB με Linux και ένα διαμέρισμα 400 GB (ntfs) στο οποίο είναι όλη η μουσική, οι φωτογραφίες κ.λπ. ... Στον υπολογιστή μου είμαστε δύο χρήστες και ο καθένας μπορεί να έχει πρόσβαση στο διαμέρισμα ntfs και βάλτε και αφαιρέστε ό, τι θέλουμε, όταν θέλουμε. Εάν δεν θέλω να μοιραστώ τίποτα, έχω κάποια πράγματα στο όνομα χρήστη μου. 🙂

    1.    Luis dijo

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

      Μπορείτε να το έχετε σε ένα διαμέρισμα NTFS, σωστό, αλλά έχετε επίσης κατακερματισμό, πιο αργό από το EXT4 και λιγότερη ασφάλεια, αν και αν είναι καλό να το έχετε με αυτόν τον τρόπο, είναι εξίσου έγκυρο.

  6.   rainerhg dijo

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

  7.   Joaquin dijo

    Ενδιαφέρον, ευχαριστώ!

  8.   ανώνυμος dijo

    Αναπτύσσω κάτι σχετικά με την κύρια ομάδα κοινής χρήσης ορισμένων διανομών gnu / linux. Ορισμένες διανομές δημιουργούν τον χρήστη με τους κύριους χρήστες της ομάδας και δεν χρησιμοποιούν μια κύρια ομάδα ίση με το όνομα του χρήστη.
    Η διαφορά είναι ότι η χρήση των κύριων χρηστών της ομάδας, από προεπιλογή, όλα μοιράζονται με τους χρήστες της ομάδας στην οποία θα ανήκουν όλοι οι χρήστες που δημιουργήθηκαν σε αυτήν τη διανομή, αν αντ 'αυτού δημιουργήθηκαν με την ίδια ομάδα με το όνομα του χρήστη, από προεπιλογή όχι τίποτα θα κοινοποιηθεί.

    Παράδειγμα:
    $ ls -l /home/user/*.txt
    -rw-r - r– 1 carlos carlos 126 Μαρ 25 2012 note.txt

    $ ls -l /home/user/*.txt
    -rw-r - r– 1 χρήστες carlos 126 Μαρ 25 2012 note.txt

    Δεν συνιστούμε τη χρήση των χρηστών της κύριας ομάδας, καλύτερα να δημιουργήσετε τη δική σας κύρια ομάδα κατά τη δημιουργία του χρήστη.

    #groupadd carlos
    # useradd -g carlos -G lp, wheel, uucp, audio, cdrom, cdrw, usb, lpadmin, plugdev -m -s / bin / bash carlos

    Το -g carlos δηλώνει ότι χρησιμοποιεί τη γονική ομάδα carlos.
    Μπορείτε να αλλάξετε την κύρια ομάδα ενός χρήστη με # usermod -g αλλά αυτό δεν θα αλλάξει την κύρια ομάδα όλων των αρχείων και φακέλων που βρίσκονται ήδη στο / home / carlos, θα πρέπει να τα αλλάξετε όλα.

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

    #groupadd carlos
    # χρήστες usermod -g carlos
    # cd / σπίτι
    # chown -R carlos: carlos carlos

    Όσον αφορά την κοινή χρήση, μπορείτε να δημιουργήσετε έναν χρήστη που ονομάζεται κοινόχρηστο με την κοινόχρηστη κύρια ομάδα σας και έτσι ώστε να μην υπάρχουν προβλήματα δικαιωμάτων κατά την αντιγραφή, αλλάζετε πρώτα τον χρήστη
    με το "$ su - shared" τότε αυτό που θέλετε αντιγράφεται στο / home / shared, με αυτό τα δικαιώματα των αντιγράφων θα γίνουν ο κοινόχρηστος χρήστης.
    Εάν υπάρχουν ήδη αρχεία αντιγραφής που ανήκουν σε άλλους χρήστες και κύριες ομάδες, πρέπει να τα αλλάξετε όλα.

    # cd / σπίτι
    # chown -R κοινόχρηστο: κοινόχρηστο κοινόχρηστο

    Υπάρχει μόνο κάτι που απομένει στο limbo, το οποίο δεν ξέρω πώς να κάνω για να αντιγράψω γραφικά ως κοινόχρηστο χρήστη, δηλαδή, χωρίς να χρειάζεται να κάνω $ su - shared

  9.   ανώνυμος dijo

    Ήταν πολύ ανόητο να αντιγράψω γραφικά, hehe, χρησιμοποιώ το pcmanfm εδώ στο openbox, αλλά μπορείτε να χρησιμοποιήσετε τη διαχείριση αρχείων που έχετε ή θέλετε, εκτελείται μόνο ως κοινόχρηστος χρήστης και όχι ως χρήστης root.

    $ su - κοινόχρηστο
    $pcmanfm
    $ δελφίνι
    $mc
    κλπ κλπ

    1.    θαλσκαρτ dijo

      Ήμουν έτοιμος να το απαντήσω. Εάν όχι, το άλλο είναι ένα crontab που αλλάζει τον κάτοχο των αρχείων κάθε x με ένα
      chown -R compartido:compartido compartido

  10.   Hugo dijo

    Μου φαίνεται ότι η εντολή "usermod -G thenewgroup elusuario" αυτό που κάνει είναι να αλλάξει βασικά την ομάδα χρηστών σε "thenewgroup". Για να προσθέσω έναν υπάρχοντα χρήστη σε μια νέα ομάδα, νομίζω ότι το σωστό θα ήταν "usermod -aG elnuevogrupo elusuario"

    Ένα άλλο πράγμα είναι ότι βλέπω εδώ ότι πολλοί άνθρωποι συνιστούν να κάνουν το "chmod -R 775", αλλά αυτό δεν επηρεάζει μόνο τους καταλόγους, αλλά και όλα τα αρχεία (καθιστώντας τα εκτελέσιμα), γεγονός που δημιουργεί έναν περιττό κίνδυνο. Καλύτερα να κάνετε κάτι όπως «βρείτε / σπίτι / κοινόχρηστο-τύπο d -print0 | xargs -0 chmod 755 "και εάν είναι απαραίτητο με τα αρχεία μπορείτε να κάνετε κάτι παρόμοιο, αλλά χρησιμοποιώντας το" -type f "και παραχωρώντας άδεια 664.

    Τέλος, ένας τρόπος να κάνετε πολλούς λογαριασμούς να έχουν πρόσβαση σε ένα αρχείο ή φάκελο ανεξάρτητα από το ποιος είναι ο κάτοχος ή η ομάδα είναι χρησιμοποιώντας την εντολή "setfacl" που βρίσκεται στο πακέτο acl (αν θυμάμαι σωστά). Η χρήση του επεξηγείται καλά στη σελίδα του εγχειριδίου.

  11.   Ούνι Μαρτίν dijo

    Έχω το ακόλουθο πρόβλημα. Έχω δημιουργήσει 4 χρήστες (web1, web2, web3, web4) και θέλω να δημιουργήσω ένα φάκελο ομάδας πρόσβασης στους χρήστες της ομάδας ιστού. Όταν δημιουργώ το αρχείο .htaccess, ξέρω ότι πρέπει να θέσω απαιτούν έγκυρο χρήστη, αλλά, αν θέσω απαιτούν έγκυρο χρήστη web1 web2 web3 web4, ώστε να έχουν πρόσβαση στον φάκελο με τον κωδικό πρόσβασής τους, όταν προσπαθώ να αποκτήσω πρόσβαση στον φάκελο, με ρωτάει για τον χρήστη και τον κωδικό πρόσβασης του καθενός. Πώς μπορώ να ζητήσω μόνο το όνομα χρήστη και τον κωδικό πρόσβασης αυτού που θέλει να εισαγάγει; επειδή θεωρείται ότι δεν γνωρίζει τον κωδικό πρόσβασης του άλλου.

  12.   Gustavo F. Paredes dijo

    Γεια σου.

    Το 4ο τερματικό πρέπει να έχει τον "κοινόχρηστο" πληθυντικό:

    sudo usermod -G μοιράστηκε sebastian

    sudo usermod -G μοιράστηκε τη γυναίκα μου

    Χαιρετισμούς.

    Γκουστάβο

  13.   Ιβάν dijo

    Στην υγειά σας :

    Μετεγκαθίστανται από τον Windows Server στο CentOs 6 και είμαστε ακόμα στη διαδικασία προσαρμογής. Το ερώτημά μου: Υπάρχει μια γραφική διεπαφή στο CentOs για κοινή χρήση φακέλων και πρόσβαση στους χρήστες για τροποποίηση, επεξεργασία ή / και διαγραφή αρχείων ;, Ή πρέπει να κάνω όλη την παραπάνω διαδικασία.

    Ευχαριστώ για τη βοήθεια.

    1.    Rafael dijo

      Εγκαθιστώ επίσης ένα centos 6 και θέλω να το χρησιμοποιήσω με samba που μου επιτρέπει να μοιράζομαι αρχεία από linux και windows, ξέρω λίγο, δεν χρησιμοποιώ πολύ linux, αλλά στην εργασία μου έχουν ζητηθεί, πώς μπορώ να κάνω κοινή χρήση φακέλων αλλά σε λειτουργία γραφικών;

  14.   Ρικάρντο dijo

    Γεια. Παρακαλώ βοηθήστε με! ... Αποδεικνύεται ότι κάνοντας αυτό στον χρήστη linux mind, τώρα έχασα τα προνόμια. Δεν μπορώ να τρέξω κάτι σαν sudo. Λαμβάνω το ακόλουθο μήνυμα "Συγγνώμη, ο χρήστης" όνομα χρήστη "δεν έχει εξουσιοδότηση να εκτελέσει το" command_to_run "ως root στο" username ""

    Νομίζω ότι όταν άλλαξα τον χρήστη μου στην κοινόχρηστη ομάδα, έβγαλα δικαιώματα και τώρα πώς μπορώ να τα αποκαταστήσω ;;;

  15.   Guillermo dijo

    Γεια σου φίλε υπάρχει τρόπος να κάνεις το ίδιο, αλλά να μοιράζεσαι αρχεία με άλλα άτομα στο Internet LAN

  16.   Fabian dijo

    Για αυτό πρέπει να χρησιμοποιήσετε το SAMBA ως διακομιστή αρχείων. Στην υγειά σας

  17.   Δαβίδ dijo

    Γεια. Όταν έφτασα στην εντολή sudo chmod g + s dirname μου λέει ότι το αρχείο ή ο κατάλογος δεν υπάρχει. Ξέρετε ποιο είναι το πρόβλημα;

  18.   Χαβιέ Κουίρογκα Αλμέιδα dijo

    Πώς μπορώ να δημιουργήσω μια ομάδα σε μια άλλη ομάδα;

  19.   Ροντρίγκο Ερνάν Ράμος dijo

    Η γραμμή:
    sudo usermod -G μοιράστηκε sebastian

    πρέπει να είναι:
    sudo usermod -a -G μοιράστηκε sebastian

    ο πρώτος τρόπος αφαιρεί τις υπόλοιπες ομάδες χρηστών.
    και αν είστε ιδρωμένος, χάνετε τα προνόμιά σας