Βελτιώσεις Chmod και Chown WSL στα Windows 10
Οι χρήστες Linux είναι σίγουρα εξοικειωμένοι με τα εργαλεία κονσόλας chown και chmod. Αυτές οι δύο εφαρμογές είναι απαραίτητες όταν πρόκειται για άδεια και διαχείριση ιδιοκτησίας. Πρόσφατα, η Microsoft έκανε ορισμένες βελτιώσεις σε αυτά τα εργαλεία στο δικό της υποσύστημα Linux που συνοδεύεται από τα Windows 10.
Διαφήμιση
Τώρα μπορείτε να ορίσετε τον κάτοχο και την ομάδα αρχείων χρησιμοποιώντας το chmod/chown και να τροποποιήσετε τα δικαιώματα ανάγνωσης/εγγραφής/εκτέλεσης στο WSL. Μπορείτε επίσης να δημιουργήσετε ειδικά αρχεία όπως fifos, υποδοχές unix και αρχεία συσκευών. Ήταν μια πολυαναμενόμενη λειτουργία για πολλούς χρήστες WSL.
Μια άλλη ενδιαφέρουσα αλλαγή είναι οι νέες επιλογές προσάρτησης με σύστημα αρχείων DrvFs για την προβολή αδειών σε αρχεία παράλληλα με την παροχή νέων μεταδεδομένων Linux σε αρχεία και φακέλους.
Υπάρχει ένα βήμα που πρέπει να κάνετε για να μπορέσετε να απολαύσετε αυτές τις νέες δυνατότητες: Πρέπει να αποσυνδέσετε τα drvfs και να τα επανατοποθετήσετε με τη σημαία «μεταδεδομένα». Για να το κάνετε αυτό, εισαγάγετε τις ακόλουθες εντολές στο Terminal:
sudo umount /mnt/c sudo mount -t drvfs C: /mnt/c -o μεταδεδομένα
Μπορείτε να επαληθεύσετε ότι έχει τοποθετηθεί σωστά εκτελώντας το "mount -l" για να δείτε κάτι σαν αυτό:
Το DrvFs είναι ένα πρόσθετο συστήματος αρχείων για WSL που προσθέτει υποστήριξη για αλληλεπίδραση μεταξύ του WSL και του συστήματος αρχείων των Windows. Το DrvFs επιτρέπει στο WSL να προσαρτά μονάδες δίσκου με υποστηριζόμενα συστήματα αρχείων στο /mnt, όπως /mnt/c, /mnt/d, κ.λπ.
Το DrvFs προσθέτει μια σειρά από νέες επιλογές προσάρτησης. Είναι οι εξής:
Οι νέες επιλογές τοποθέτησης περιλαμβάνουν:
- uid: το αναγνωριστικό χρήστη που χρησιμοποιείται για τον κάτοχο όλων των αρχείων
- gid: το αναγνωριστικό ομάδας που χρησιμοποιείται για τον κάτοχο όλων των αρχείων
- umask: μια οκταδική μάσκα δικαιωμάτων για εξαίρεση για όλα τα αρχεία και τους καταλόγους.
- fmask: μια οκταδική μάσκα δικαιωμάτων για εξαίρεση για όλα τα κανονικά αρχεία.
- dmask: μια οκταδική μάσκα δικαιωμάτων για εξαίρεση για όλους τους καταλόγους.
Δείτε το παρακάτω παράδειγμα:
sudo mount -t drvfs C: /mnt/c -o μεταδεδομένα, uid=1000,gid=1000,umask=22,fmask=111
Αφού εκτελέσετε την εντολή mount, θα δείτε το mount σας (σε αυτήν την περίπτωση, C:) να παρατίθεται σε λίστα με όλες τις παραμέτρους που μεταβιβάσατε κατά την αναζήτηση μιας λίστας τοποθετημένων συσκευών.
Αυτή η αλλαγή θα επιτρέψει την προσάρτηση φακέλων και διαμερισμάτων των Windows σε έναν άλλο λογαριασμό χρήστη στο WSL και όχι στο προεπιλεγμένο.
Με αυτήν την αλλαγή, τα δικαιώματα Linux αποθηκεύονται ως πρόσθετα μεταδεδομένα για ένα αρχείο. Αυτό θα επιτρέψει την αποθήκευση των δικαιωμάτων Linux και Windows για ένα μόνο αρχείο. Τώρα μπορείτε να αλλάξετε τα δικαιώματα και στα WSL ή στα Windows χωριστά χωρίς να παραβιάζετε το περιβάλλον. Όπως ίσως θυμάστε, Η τροποποίηση αρχείων Linux από τα Windows θα μπορούσε να σπάσει το WSL νωρίτερα.
Τα αρχεία που δημιουργήθηκαν πρόσφατα στο WSL θα δημιουργηθούν με μεταδεδομένα από προεπιλογή και θα σέβονται τις επιλογές προσάρτησης που έχετε ορίσει.
Σημαντικές επιφυλάξεις
Υπάρχουν μερικά πράγματα που πρέπει να βεβαιωθείτε ότι γνωρίζετε κατά την επεξεργασία των νέων μεταδεδομένων:
Η επεξεργασία ενός αρχείου χρησιμοποιώντας ένα πρόγραμμα επεξεργασίας Windows μπορεί να αφαιρέσει τα μεταδεδομένα Linux του αρχείου. Σε αυτήν την περίπτωση, το αρχείο θα επανέλθει στα προεπιλεγμένα δικαιώματα.
Η κατάργηση όλων των bit εγγραφής σε ένα αρχείο στο WSL θα κάνει τα Windows να επισημάνουν το αρχείο ως μόνο για ανάγνωση.
Εάν έχετε εγκαταστήσει πολλές διανομές WSL ή πολλούς χρήστες Windows με εγκατεστημένο το WSL, θα χρησιμοποιούν όλοι τα ίδια μεταδεδομένα στα ίδια αρχεία. Τα Uid για κάθε λογαριασμό χρήστη WSL ενδέχεται να διαφέρουν. Αυτό πρέπει να λάβετε υπόψη όταν ορίζετε δικαιώματα.
Για παράδειγμα, μπορείτε να απενεργοποιήσετε τα δικαιώματα εγγραφής σε ένα αρχείο στα Windows και να chmod το αρχείο για να δείξει ότι τα δικαιώματα εγγραφής είναι ενεργοποιημένα στο WSL. Ή μπορείτε να ενεργοποιήσετε τα δικαιώματα ανάγνωσης στα Windows και να καταργήσετε τα δικαιώματα ανάγνωσης στο WSL. Μπορείτε να δείτε αυτήν την έννοια που απεικονίζεται παρακάτω.
Πηγή: Microsoft.