Πώς να χρησιμοποιήσετε την εντολή chgrp στο Linux

Η εντολή chgrp στο Linux αλλάζει την ομαδική ιδιοκτησία ενός αρχείου ή καταλόγου. Γιατί να το χρησιμοποιήσετε αντί για τσόουν; Μερικές φορές ένα ελβετικό μαχαίρι είναι υπέροχο, αλλά όταν χρειάζεστε πραγματικά ένα νυστέρι, μόνο ένα νυστέρι θα το κάνει.

Πότε πρέπει να χρησιμοποιήσετε το chgrp

Χρησιμοποιείτε την εντολή chgrp για να αλλάξετε την ομαδική ιδιοκτησία ενός αρχείου ή καταλόγου. Η εντολή chown σάς επιτρέπει να αλλάξετε τον ιδιοκτήτη χρήστη και τον ιδιοκτήτη της ομάδας ενός αρχείου ή καταλόγου. Γιατί λοιπόν χρειάζεστε ή χρησιμοποιείτε το chgrp;

Λοιπόν, για ένα πράγμα, είναι εύκολο. Η χρήση chown για αλλαγή μόνο της ρύθμισης κατόχου ομάδας είναι λίγο αντιφατική. Πρέπει να είσαι πολύ προσεκτικός με τη σύνταξη. Εξαρτάται από τη σωστή τοποθέτηση άνω και κάτω τελείας “:”. Τοποθετήστε το λάθος και δεν κάνετε την αλλαγή που νομίζατε ότι κάνατε.

Η σύνταξη του chgrp είναι εντελώς πιο ξεκάθαρο. Έχει επίσης ένα προσεγμένο χαρακτηριστικό που σας λέει με απλά λόγια ποιες αλλαγές έχει μόλις κάνει.

Είναι ένα ειδικά κατασκευασμένο και αποκλειστικό εργαλείο για τη συγκεκριμένη εργασία. Το chgrp ενστερνίζεται πλήρως την αρχή σχεδιασμού του Unix να κάνουμε ένα πράγμα και να το κάνουμε καλά. Ας δούμε τι έχει να προσφέρει.

Αλλαγή της ομαδικής ιδιοκτησίας ενός αρχείου

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

  Τα 5 καλύτερα εργαλεία επεξεργασίας ετικετών MP3 για Linux

Θα αλλάξουμε την ομαδική ιδιοκτησία ενός αρχείου πηγής C που ονομάζεται “gc.c”. Θα το αλλάξουμε στην ομάδα “devteam”.

Μπορούμε να ελέγξουμε τις τρέχουσες τιμές ιδιοκτησίας χρησιμοποιώντας το ls με την επιλογή -l (μεγάλη λίστα).

ls -l

Αυτή είναι η εντολή για την αλλαγή της ιδιοκτησίας της ομάδας. Πληκτρολογήστε sudo, ένα διάστημα, chgrp , ένα διάστημα, το όνομα της ομάδας που πρόκειται να ορίσουμε ως κάτοχο της ομάδας, ένα διάστημα και το όνομα του αρχείου.

sudo chgrp devteam gc.c

Θα ελέγξουμε ότι η αλλαγή έχει γίνει χρησιμοποιώντας ξανά το ls -l.

ls -l

Μπορούμε να δούμε ότι η ιδιοκτησία της ομάδας έχει αλλάξει από “dave” σε “devteam”.

Για να αλλάξετε την ιδιοκτησία ομάδας για ένα σύνολο αρχείων ταυτόχρονα, μπορείτε να χρησιμοποιήσετε χαρακτήρες μπαλαντέρ. Ας αλλάξουμε την ιδιοκτησία ομάδας για όλα τα αρχεία προέλευσης C στον τρέχοντα κατάλογο. Θα χρησιμοποιήσουμε αυτή την εντολή:

sudo chgrp devteam *.c

Μπορούμε να ελέγξουμε ότι η αλλαγή έγινε όπως περιμέναμε χρησιμοποιώντας ls -l.

ls -l

Όλα τα αρχεία προέλευσης C σε αυτόν τον κατάλογο έχουν αλλάξει, έτσι ώστε η ιδιοκτησία της ομάδας τους να είναι “devteam”.

Χρησιμοποιώντας την επιλογή -c (changes) το chgrp θα εμφανίσει τις αλλαγές που έχει κάνει σε κάθε αρχείο. Ας υποθέσουμε ότι κάναμε λάθος, θέλαμε τα αρχεία πηγής C να έχουν την ομαδική ιδιοκτησία τους σε “researchlab”. Ας το διορθώσουμε τώρα. Θα χρησιμοποιήσουμε αυτήν την εντολή:

sudo chgrp -c researchlab *.c

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

Αλλαγή της ομαδικής ιδιοκτησίας ενός καταλόγου

Η αλλαγή της ομαδικής ιδιοκτησίας ενός καταλόγου είναι εξίσου απλή. Μπορούμε να χρησιμοποιήσουμε αυτήν την εντολή για να αλλάξουμε την ιδιοκτησία της ομάδας για τον κατάλογο “backup”.

sudo chgrp -c devteam ./backup

Για να είμαστε σαφείς, αυτή η εντολή θα αλλάξει την ομαδική ιδιοκτησία του ίδιου του καταλόγου, όχι τα αρχεία μέσα στον κατάλογο. Θα χρησιμοποιήσουμε το ls -l με την επιλογή -d (κατάλογος) για να επαληθεύσουμε ότι συμβαίνει αυτό.

ls -l -d

Η ομαδική ιδιοκτησία του ίδιου του καταλόγου έχει αλλάξει σε “devteam”.

  Πώς να παίξετε το Total War: ROME II σε Linux

Η αναδρομική επιλογή

Εάν θέλουμε να αλλάξουμε την ιδιοκτησία της ομάδας για τα αρχεία και τους καταλόγους που είναι αποθηκευμένα σε έναν κατάλογο, μπορούμε να χρησιμοποιήσουμε την επιλογή -R (αναδρομική). Αυτό θα προκαλέσει το chgrp να αλλάξει την ιδιοκτησία της ομάδας για όλα τα αρχεία και τους υποκαταλόγους κάτω από τον κατάλογο προορισμού.

Ας το δοκιμάσουμε με τον κατάλογο “backup”. Εδώ είναι η εντολή:

sudo chgrp -R devteam ./backup

Θα ελέγξουμε τα αρχεία σε έναν από τους ένθετους υποκαταλόγους με την εντολή ls και θα ελέγξουμε επίσης τις ρυθμίσεις ενός από τους ένθετους υποκαταλόγους χρησιμοποιώντας το ls .

ls -l ./backup/images
ls -l -d ./backup/images

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

Χρήση αρχείου αναφοράς

Μέχρι στιγμής, λέγαμε ρητά στο chgrp το όνομα της ομάδας που θέλουμε να χρησιμοποιήσουμε. Μπορούμε επίσης να χρησιμοποιήσουμε το chgrp με τον τρόπο που λέει “ορίστε την ομαδική ιδιοκτησία αυτού του αρχείου στην ίδια ιδιοκτησία ομάδας με αυτό το αρχείο”.

Ας ορίσουμε την ομαδική ιδιοκτησία του “gc.h” να είναι ίδια με το “gc.c”.

Μπορούμε να ελέγξουμε τις τρέχουσες ρυθμίσεις των “gc.c” και “gc.h” χρησιμοποιώντας ls.

ls -l gc.c
ls -l gc.h

Η επιλογή που πρέπει να χρησιμοποιήσουμε είναι η επιλογή –reference. Η ιδιοκτησία ομάδας αντιγράφεται από το αρχείο αναφοράς στο άλλο αρχείο. Φροντίστε να λάβετε τα αρχεία με τον σωστό τρόπο.

sudo chgrp --reference=gc.c gc.h

Θα χρησιμοποιήσουμε το ls για να ελέγξουμε ότι οι ρυθμίσεις έχουν μεταφερθεί στο “gc.h”.

ls -l gc.h

Το αρχείο “gc.h” έχει πλέον την ίδια ιδιοκτησία ομάδας με το “gc.c”.

  Πώς να ασφαλίσετε δεδομένα Cloud σε Linux με το Cryptomator

Χρήση chgrp με συμβολικούς συνδέσμους

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

Για αυτό το παράδειγμα, δημιουργήσαμε ένα συμβολικός σύνδεσμος ονομάζεται “button_link.” Αυτό οδηγεί σε ένα αρχείο που ονομάζεται “./backup/images/button_about.png.” Για να αλλάξουμε την ομαδική ιδιοκτησία του αρχείου, πρέπει να χρησιμοποιήσουμε την επιλογή –dereference. Αυτό θα αλλάξει τις ρυθμίσεις για το αρχείο και θα αφήσει αμετάβλητο τον συμβολικό σύνδεσμο.

Ας ελέγξουμε τις ρυθμίσεις για τον συμβολικό σύνδεσμο χρησιμοποιώντας ls -l.

ls -l button_link

Η εντολή για την αλλαγή του αρχείου είναι:

sudo chgrp --dereference devteam button_link

Θα ελέγξουμε ότι ο συμβολικός σύνδεσμος δεν έχει αλλάξει χρησιμοποιώντας το ls και θα ελέγξουμε επίσης τις ρυθμίσεις ιδιοκτησίας ομάδας για το αρχείο.

ls -l button_link
ls -l ./backup/images/button_about.png

Ο συμβολικός σύνδεσμος δεν έχει αλλάξει και το αρχείο “button_about.png” έχει τροποποιήσει την ομαδική του ιδιοκτησία.

Για να αλλάξουμε την ομαδική ιδιοκτησία του ίδιου του συμβολικού συνδέσμου, πρέπει να χρησιμοποιήσουμε την επιλογή –no-dereference.

Η εντολή που πρέπει να χρησιμοποιήσετε είναι:

sudo chgrp --no-dereference devteam button_link

Θα χρησιμοποιήσουμε το ls -l για να επαληθεύσουμε ότι η νέα ιδιοκτησία ομάδας έχει οριστεί για τον συμβολικό σύνδεσμο.

ls -l button-link

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

Ωραίο και απλό

Το απλό είναι καλό. Σημαίνει ότι υπάρχουν λιγότερα να θυμόμαστε και λιγότερα να μπερδευτούμε. Αυτό θα πρέπει να σημαίνει λιγότερα λάθη.