ฉันต้องการทราบวิธีดูการอนุญาตที่ไฟล์ใดไฟล์หนึ่งมี ฉันควรพิมพ์คำสั่งใดในเทอร์มินัล อย่างไรก็ตามฉันไม่ต้องการเปลี่ยน
ฉันต้องการทราบวิธีดูการอนุญาตที่ไฟล์ใดไฟล์หนึ่งมี ฉันควรพิมพ์คำสั่งใดในเทอร์มินัล อย่างไรก็ตามฉันไม่ต้องการเปลี่ยน
คำตอบ:
หากคุณต้องการดูการอนุญาตของไฟล์คุณสามารถใช้ls -l /path/to/file
คำสั่ง
ตัวอย่างเช่น
ls -l acroread
-rwxr-xr-x 1 10490 floppy 17242 May 8 2013 acroread
สิ่งนี้หมายความว่า ?
ก่อน-
แสดงถึงไฟล์ปกติ มันให้คำใบ้เกี่ยวกับประเภทของวัตถุที่มันเป็น มันสามารถมีค่าต่อไปนี้
r
หมายถึงสิทธิ์ในการอ่าน
w
หมายถึงสิทธิ์ในการเขียนและ
x
แสดงถึงสิทธิ์อนุญาตปฏิบัติการ
การรวมกันครั้งแรกของrwx
หมายถึงการได้รับอนุญาตสำหรับเจ้าของ
การรวมกันของสองrwx
หมายถึงการได้รับอนุญาตสำหรับกลุ่ม
การรวมกันที่สามของการrwx
เป็นตัวแทนรับอนุญาตสำหรับอื่น ๆของไฟล์
สัญกรณ์ Octal
การอนุญาตของไฟล์ยังสามารถแสดงในรูปแบบเลขฐานแปด
ในสัญกรณ์แปด
อ่านหรือr
แสดงโดย 4
เขียนหรือw
แสดงโดย 2
ดำเนินการx
แทนด้วย 1
ผลรวมของสามสิ่งนี้ใช้เพื่อแสดงการอนุญาต
stat
สามารถใช้คำสั่งเพื่อดูการอนุญาตไฟล์ในสัญกรณ์ฐานแปด
stat -c "%a %n" /path/of/file
ตัวอย่างเช่น
stat -c "%a %n" acroread
755 acroread
ที่นี่คุณสามารถเห็น
สำหรับเจ้าของมันคือ 4 +2 + 1 = 7 (111 ในไบนารี)
สำหรับกลุ่มมันคือ 4 + 0 + 1 = 5 (101 ในไบนารี) และ
สำหรับอื่น ๆมันคือ 4 + 0 + 1 = 5 (101 ในไบนารี)
คุณสามารถใช้รายชื่อยาว:
ls -l [filename]
หรือสถิติ:
stat [filename]
สถิติครอบคลุมมากขึ้น มันแสดงให้คุณเห็นการเข้าถึงแก้ไขและเปลี่ยนแปลงเวลาเช่นเดียวกับข้อมูล Inode และขนาดซึ่งอาจเป็นประโยชน์กับคุณหรือไม่
ไม่ว่าคุณจะใช้สิทธิ์ ACL จริงหรือไม่หากคุณมีacl
แพ็คเกจที่ติดตั้งไว้คุณสามารถใช้getfacl <path>
เพื่อรับการแบ่งสิทธิ์ที่ดีในไฟล์นั้น
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
group::---
other::---
ถ้าคุณทำใช้สิทธิ์ ACL ก็จะบอกคุณเกี่ยวกับสิทธิ์ที่ls
และstat
ก็ไม่สามารถ
$ sudo setfacl -m u:oli:r /root
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
user:oli:r--
group::---
mask::r--
other::---