Θέλω να ορίσω έναν φάκελο έτσι ώστε οτιδήποτε δημιουργείται μέσα σε αυτόν (κατάλογοι, αρχεία) να κληρονομεί προεπιλεγμένα δικαιώματα και ομάδα.
Ας ονομάσουμε την ομάδα "media". Και επίσης, οι φάκελοι/αρχεία που δημιουργούνται μέσα στον κατάλογο θα πρέπει να έχουν αυτόματα g+rw.
Το βρήκα: Εφαρμογή προεπιλεγμένων δικαιωμάτων
Από το άρθρο:
chmod g+s <directory> //set gid
setfacl -d -m g::rwx /<directory> //set group to rwx default
setfacl -d -m o::rx /<directory> //set other
Στη συνέχεια μπορούμε να επαληθεύσουμε:
getfacl /<directory>
Έξοδος:
# file: ../<directory>/
# owner: <user>
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
Αυτή είναι μια προσθήκη στην απάντηση του Chris, βασίζεται στην εμπειρία μου στην εξέδρα Arch Linux.
Η χρήση του διακόπτη default (-d) και του διακόπτη modify (-m) θα τροποποιήσει μόνο τα προεπιλεγμένα δικαιώματα, αλλά θα αφήσει τα υπάρχοντα άθικτα:
setfacl -d -m g::rwx /<directory>
Αν θέλετε να αλλάξετε ολόκληρη τη δομή των δικαιωμάτων του φακέλου'συμπεριλαμβανομένων των υπαρχόντων (θα πρέπει να κάνετε μια επιπλέον γραμμή και να την κάνετε αναδρομική -R:
setfacl -R -m g::rwx /<directory>
π.χ.
setfacl -R -m g::rwx /home/limited.users/<directory> // gives group read,write,exec permissions for currently existing files and folders, recursively
setfacl -R -m o::x /home/limited.users/<directory> //revokes read and write permission for everyone else in existing folder and subfolders
setfacl -R -d -m g::rwx /home/limited.users/<directory> // gives group rwx permissions by default, recursively
setfacl -R -d -m o::--- /home/limited.users/<directory> //revokes read, write and execute permissions for everyone else.
(CREDIT στο markdwite στα σχόλια για τη σύνθεση της γραμμής revoke all privileges)
Χρησιμοποιώντας την ακόλουθη εντολή μπορείτε να ορίσετε προεπιλεγμένα δικαιώματα σε ένα αρχείο:
chacl -R filename