การปรับปรุง Chmod และ Chown WSL ใน Windows 10
ผู้ใช้ Linux คุ้นเคยกับเครื่องมือคอนโซล chown และ chmod เป็นอย่างดี แอปทั้งสองนี้มีความจำเป็นเมื่อต้องมีการอนุญาตและการจัดการความเป็นเจ้าของ เมื่อเร็ว ๆ นี้ Microsoft ได้ทำการปรับปรุงจำนวนหนึ่งสำหรับเครื่องมือเหล่านี้ในระบบย่อย Linux ของตัวเองที่มาพร้อมกับ Windows 10
โฆษณา
ตอนนี้คุณสามารถตั้งค่าเจ้าของและกลุ่มของไฟล์โดยใช้ chmod/chown และแก้ไขสิทธิ์ในการอ่าน/เขียน/ดำเนินการใน WSL คุณยังสามารถสร้างไฟล์พิเศษ เช่น fifos, unix sockets และไฟล์อุปกรณ์ มันเป็นคุณสมบัติที่รอคอยมานานสำหรับผู้ใช้ WSL หลายคน
การเปลี่ยนแปลงที่น่าสนใจอีกประการหนึ่งคือตัวเลือกการติดตั้งใหม่กับระบบไฟล์ DrvFs สำหรับการฉายสิทธิ์บนไฟล์ควบคู่ไปกับการจัดหาข้อมูลเมตาของ Linux ใหม่ในไฟล์และโฟลเดอร์
มีขั้นตอนหนึ่งที่คุณต้องทำก่อนจึงจะสามารถใช้คุณลักษณะใหม่เหล่านี้ได้ คุณต้องยกเลิกการต่อเชื่อม drvfs และติดตั้งใหม่โดยใช้แฟล็ก 'ข้อมูลเมตา' ในการดำเนินการนี้ ให้ป้อนคำสั่งต่อไปนี้ที่เทอร์มินัล:
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: ID ผู้ใช้ที่ใช้สำหรับเจ้าของไฟล์ทั้งหมด
- gid: ID กลุ่มที่ใช้สำหรับเจ้าของไฟล์ทั้งหมด
- umask: มาสก์ฐานแปดของสิทธิ์ในการยกเว้นสำหรับไฟล์และไดเรกทอรีทั้งหมด
- fmask: มาสก์ฐานแปดของสิทธิ์ในการยกเว้นสำหรับไฟล์ปกติทั้งหมด
- dmask: มาสก์ฐานแปดของสิทธิ์ที่จะยกเว้นสำหรับไดเร็กทอรีทั้งหมด
ดูตัวอย่างต่อไปนี้:
sudo mount -t drvfs C: /mnt/c -o ข้อมูลเมตา, uid=1000,gid=1000,umask=22,fmask=111
หลังจากดำเนินการคำสั่ง mount คุณจะเห็นการเมานท์ของคุณ (ในกรณีนี้คือ C:) พร้อมพารามิเตอร์ทั้งหมดที่คุณส่งผ่านเมื่อทำการสอบถามรายการอุปกรณ์ที่เมาท์
การเปลี่ยนแปลงนี้จะอนุญาตให้ติดตั้งโฟลเดอร์และพาร์ติชั่นของ Windows ภายใต้บัญชีผู้ใช้อื่นใน WSL แทนที่จะเป็น ค่าเริ่มต้นหนึ่ง.
ด้วยการเปลี่ยนแปลงนี้ สิทธิ์ของ Linux จะถูกเก็บไว้เป็นข้อมูลเมตาเพิ่มเติมสำหรับไฟล์ ซึ่งจะช่วยให้จัดเก็บทั้งสิทธิ์ของ Linux และ Windows สำหรับไฟล์เดียว ตอนนี้คุณสามารถเปลี่ยนการอนุญาตทั้งใน WSL หรือ Windows แยกกันได้โดยไม่ทำลายสภาพแวดล้อม เท่าที่จำได้ การแก้ไขไฟล์ Linux จาก Windows อาจทำลาย WSL ก่อนหน้านี้ได้.
ไฟล์ที่สร้างขึ้นใหม่ใน WSL จะถูกสร้างขึ้นด้วยข้อมูลเมตาตามค่าเริ่มต้น และจะยึดตามตัวเลือกการต่อเชื่อมที่คุณตั้งไว้
คำเตือนที่สำคัญ
มีบางสิ่งที่คุณควรทราบเมื่อทำการแก้ไขข้อมูลเมตาใหม่:
การแก้ไขไฟล์โดยใช้โปรแกรมแก้ไข Windows อาจลบข้อมูลเมตาของ Linux ของไฟล์ ในกรณีนี้ ไฟล์จะเปลี่ยนกลับเป็นสิทธิ์เริ่มต้น
การลบบิตการเขียนทั้งหมดในไฟล์ใน WSL จะทำให้ Windows ทำเครื่องหมายไฟล์เป็นแบบอ่านอย่างเดียว
หากคุณมี WSL distros ติดตั้งอยู่หลายตัวหรือผู้ใช้ Windows หลายรายที่ติดตั้ง WSL ไว้ พวกเขาทั้งหมดจะใช้ข้อมูลเมตาเดียวกันในไฟล์เดียวกัน uid ของบัญชีผู้ใช้ WSL แต่ละบัญชีอาจแตกต่างกัน สิ่งนี้ควรพิจารณาเมื่อตั้งค่าการอนุญาต
ตัวอย่างเช่น คุณสามารถปิดใช้งานสิทธิ์การเขียนในไฟล์ใน Windows และ chmod ไฟล์เพื่อแสดงสิทธิ์ในการเขียนที่เปิดใช้งานใน WSL หรือคุณสามารถเปิดใช้งานการอนุญาตการอ่านภายใต้ Windows และลบสิทธิ์ในการอ่านใน WSL คุณสามารถดูแนวคิดนี้ที่แสดงไว้ด้านล่าง
แหล่งที่มา: Microsoft.