ไดเร็กทอรีคือรายการของไฟล์และไดเร็กทอรีย่อย (สำหรับแต่ละรายการ: ชื่อไฟล์หรือชื่อไดเร็กทอรีย่อย, ผู้ใช้ที่เป็นเจ้าของ, กลุ่มที่เป็นเจ้าของ, บิตการอนุญาต, สิทธิ์เพิ่มเติม, ตัวชี้ไปยังตำแหน่งบนดิสก์ของไฟล์/ไดเร็กทอรีย่อย และอื่นๆ ข้อมูลเมตาลึกลับ) ไดเร็กทอรีมีเจ้าของและกลุ่ม สิทธิ์ของไดเร็กทอรีจะควบคุมผู้ใช้และอ่าน เขียน และ ซีดี
ลงในไดเร็กทอรีนั้น หากคุณต้องการสร้างไฟล์ในไดเร็กทอรี คุณต้องมีสิทธิ์ในการเขียนไดเร็กทอรี หากคุณต้องการลบไฟล์ออกจากไดเร็กทอรี คุณต้องมีสิทธิ์ในการเขียนไดเร็กทอรี หากคุณต้องการเปลี่ยนชื่อไฟล์ คุณต้องได้รับอนุญาตให้เขียนไปยังไดเร็กทอรี หากคุณต้องการแก้ไขสิทธิ์ของไฟล์ คุณต้องมีสิทธิ์ในการเขียนไปยังไดเร็กทอรี ทั้งหมดนี้เป็นการแก้ไขไดเร็กทอรี ดังนั้นโปรดใช้สิทธิ์ของไดเร็กทอรี (มีข้อยกเว้นที่เกี่ยวข้องกับการอนุญาตเพิ่มเติม ซึ่งฉันได้แยกไว้ที่นี่)
ต่อไปนี้ ฉันจะเขียน "รายการไดเร็กทอรีที่คุณใช้เพื่อเข้าถึง" ต่อไป เนื่องจากอาจมีหลายไดเร็กทอรี ซึ่งอาจเป็นชื่อที่แตกต่างกันสำหรับไฟล์ในระบบไฟล์ ในความเป็นจริง หลายรายการในไดเร็กทอรีเดียว (จำเป็นต้องมีชื่อต่างกัน) อาจชี้ไปที่ไฟล์เดียวกันบนดิสก์ และรายการต่างๆ สามารถมีผู้ใช้ที่เป็นเจ้าของ กลุ่มที่เป็นเจ้าของ และสิทธิ์ที่แตกต่างกัน
รายการไฟล์ในไดเร็กทอรีมีผู้ใช้ที่เป็นเจ้าของ กลุ่มที่เป็นเจ้าของ และสิทธิ์ หากคุณต้องการอ่านเนื้อหาของไฟล์ รายการไดเร็กทอรีที่คุณใช้เพื่อเข้าถึงจะต้องอนุญาตให้คุณเข้าถึงแบบอ่านได้ หากคุณต้องการเขียนเนื้อหาของไฟล์ รายการไดเร็กทอรีที่คุณใช้เพื่อเข้าถึงจะต้องอนุญาตให้คุณเข้าถึงการเขียนได้ หากคุณต้องการเรียกใช้เนื้อหาของไฟล์ รายการไดเร็กทอรีที่คุณใช้เพื่อเข้าถึงจะต้องอนุญาตให้คุณดำเนินการเข้าถึงได้
ลองใช้ตัวอย่างของคุณดู
- ไดเร็กทอรีการทำงานปัจจุบันคือ
~/tmp/
ดังนั้นผู้ใช้ปัจจุบันจึงเป็นเจ้าของผู้ใช้ กลุ่มที่เป็นเจ้าของ และมีสิทธิ์อ่าน+เขียน+ดำเนินการในไดเร็กทอรี
sudo สัมผัส c.txt
สิ่งนี้สร้างไฟล์ที่มีผู้ใช้เป็นเจ้าของ ราก
มีสิทธิ์อ่าน + เขียนกลุ่ม ราก
มีสิทธิ์เขียนและเขียนสิทธิ์ให้กับผู้ใช้รายอื่น (4 = อ่าน 2 = เขียน 1 = ดำเนินการ 6 = 4+2 = อ่าน + เขียน)
rm c.txt
มีคำเตือน/พรอมต์ "rm: ลบไฟล์ว่างปกติที่ป้องกันการเขียน 'c.txt' หรือไม่
" คำเตือนนี้หมายความว่า: ผู้ใช้ปัจจุบันมีสิทธิ์ในการเขียนไปยังไดเร็กทอรีปัจจุบัน ดังนั้นจึงสามารถลบไฟล์นี้ได้ แต่ผู้ใช้ปัจจุบันมีสิทธิ์อ่านเนื้อหาของไฟล์นี้เท่านั้น ซึ่งแสดงว่าผู้ใช้ปัจจุบันต้องการเก็บรักษาไฟล์นี้จากการเปลี่ยนแปลง ความตั้งใจทั้งสองนี้เข้ากันไม่ได้ ดังนั้น จึงขอคำแนะนำเพิ่มเติม
- เลือก
ย
และ c.txt
จะถูกลบออก ใช่. คุณมีสิทธิ์ลบรายการออกจากไดเร็กทอรี ดังนั้น เมื่อคุณตอบกลับ ย
รายการจะถูกลบออกจากไดเร็กทอรี เนื้อหาของไฟล์ถูกเขียนหรือดำเนินการในเวลาไม่นาน (ซึ่งเป็นสิ่งที่สิทธิ์การเข้าไฟล์จะไม่อนุญาต)
สถานการณ์ที่สองของคุณก็ใช้ได้เช่นกัน แต่ไม่ใช่ด้วยเหตุผลที่คุณคาดหวัง เสียงเรียกเข้า
และตัวแก้ไขอื่น ๆ อีกมากมาย (รวมถึงตัวอย่างแบบสุ่ม Microsoft Word) ไม่แก้ไขไฟล์ต้นฉบับ พวกเขาคัดลอกไฟล์แล้วแก้ไขสำเนา หากไม่ได้บันทึกการแก้ไข สามารถลบสำเนาได้ หากมีการบันทึกการแก้ไข ไฟล์ต้นฉบับจะถูกลบออกจากไดเร็กทอรีและสำเนาจะถูกเปลี่ยนชื่อเป็นชื่อต้นฉบับ มาดูกันว่าจะเกิดอะไรขึ้น
การทดสอบ mkdir
การทดสอบซีดี
ls -laF
รวม 8
drwxrwxr-x 2 ฟัซซี่ ฟัซซี่ 4096 31 ต.ค. 11:40 น./
drwxr-xr-x 78 ฟัซซี่ ฟัซซี่ 4096 31 ต.ค. 11:40 ../
เราเห็นว่าผู้ใช้ของฉัน คลุมเครือ
และคณะของข้าพเจ้า คลุมเครือ
เป็นเจ้าของไดเร็กทอรีปัจจุบัน .
, และตั้งค่าสิทธิ์ 775 (user คลุมเครือ
: rwx, กลุ่ม คลุมเครือ
:rwx, อื่นๆ:rx).
sudo เป็นกลุ่ม d.txt
[จัดหารหัสผ่าน]
[เริ่มเซสชั่นเสียงเรียกเข้า]
[แทรกโหมด] สวัสดี
ตอนนี้ย้ายไปที่เชลล์อื่นและดูว่าเกิดอะไรขึ้นในไดเร็กทอรี
[เปลือกอื่น ไม่ใช่ sudo...]
การทดสอบซีดี
ls -laF
รวม 20
drwxrwxr-x 2 ฟัซซี่ ฟัซซี่ 4096 31 ต.ค. 11:44 น./
drwxr-xr-x 78 ฟัซซี่ ฟัซซี่ 4096 31 ต.ค. 11:44 ../
-rw------- 1 รูทรูท 12288 31 ต.ค. 11:44 น. .d.txt.swp
เรามาดูกันว่า sudo เสียงเรียกเข้า
ได้สร้างไฟล์ชั่วคราวชื่อ .d.txt.swp
กับเจ้าของ รูท. รูท
และโหมด 600
. ตอนนี้กลับไปและบันทึกไฟล์ใน sudo เสียงเรียกเข้า
เซสชั่นและตรวจสอบอีกครั้ง
ls -laF
รวม 12
drwxrwxr-x 2 ฟัซซี่ ฟัซซี่ 4096 31 ต.ค. 11:48 ./
drwxr-xr-x 78 ฟัซซี่ ฟัซซี่ 4096 31 ต.ค. 11:48 ../
-rw-r--r-- 1 รูท 4 ต.ค. 31 11:48 น. d.txt
เราเห็นว่ารายการไดเร็กทอรีของไฟล์ชั่วคราวได้รับการแก้ไขให้มีชื่อใหม่และสิทธิ์ใหม่ ผู้ใช้ปัจจุบันที่นี่คือ คลุมเครือ
ซึ่งมีสิทธิ์ในการอ่านเท่านั้น d.txt
แต่นั่นคือทั้งหมด คลุมเครือ
ต้องเปิดไฟล์ในโปรแกรมแก้ไข
[เซสชันแรก สังเกตว่าไม่ใช่ sudo...]
เป็นกลุ่ม d.txt
[ไปที่ท้ายบรรทัดแรก]
[ผนวก. เตือน: "W10: คำเตือน: การเปลี่ยนไฟล์แบบอ่านอย่างเดียว"]
[พิมพ์เว้นวรรคหลัง "สวัสดี"]
ทันทีที่เราผนวก
หลังจาก สวัสดี.
ไฟล์ vim ชั่วคราวปรากฏในไดเร็กทอรี
[ช่วงที่สอง]
ls -laF
รวม 16
drwxrwxr-x 2 ฟัซซี่ ฟัซซี่ 4096 31 ต.ค. 11:53 น./
drwxr-xr-x 78 ฟัซซี่ ฟัซซี่ 4096 31 ต.ค. 11:52 ../
-rw-r--r-- 1 รูท 4 ต.ค. 31 11:48 น. d.txt
-rw------- 1 คลุมเครือคลุมเครือ 4096 31 ต.ค. 11:53 น. d.txt.swp
ไดเร็กทอรีนี้มีสิทธิ์ rwx สำหรับผู้ใช้ คลุมเครือ
ดังนั้นจึงอนุญาตให้สร้างรายการนี้ได้ ตามปกติ เสียงเรียกเข้า
รักษาสิทธิ์ของไฟล์ชั่วคราวอย่างเข้มงวด
[ช่วงแรก]
[ออกจากโหมดแทรก]
[Esc]:ว
[ได้รับข้อผิดพลาด: "E45: ตัวเลือก 'อ่านอย่างเดียว' ถูกตั้งค่า (เพิ่ม ! เพื่อแทนที่)"]
ซึ่งหมายความว่ารายการไดเร็กทอรีดั้งเดิมไม่มีสิทธิ์ในการเขียนสำหรับผู้ใช้ปัจจุบัน คลุมเครือ
. โดยปกติจะมีความหมายว่าไฟล์จะไม่ถูกแก้ไขดังนั้น เสียงเรียกเข้า
สามารถเคารพความหมายเหล่านั้นหรือแทนที่ได้ (เนื่องจากการอนุญาตไดเร็กทอรีอนุญาต คลุมเครือ
เพื่อเอา d.txt
รายการและเปลี่ยนชื่อ .d.txt.swp
ถึง d.txt
). คุณต้องการอะไร
[ช่วงแรก]
[Esc]:ว!
คุณเลือกที่จะเขียนทับ
มาดูกันว่าเกิดอะไรขึ้นในไดเร็กทอรีตอนนี้
[ช่วงที่สอง]
ls -laF
รวม 28
drwxrwxr-x 2 ฟัซซี่ ฟัซซี่ 4096 31 ต.ค. 12:01 น./
drwxr-xr-x 78 ฟัซซี่ ฟัซซี่ 4096 31 ต.ค. 12:00 น. ../
-rw-r--r-- 1 คลุมเครือ เลือน 5 ต.ค. 31 12:01 น. d.txt
-rw-r--r-- 1 ฟัซซี่ ฟัซซี่ 4 ต.ค. 31 11:48 น. txt~
-rw------- 1 คลุมเครือคลุมเครือ 12288 31 ต.ค. 12:01 น. .d.txt.swp
เป็นไปได้ว่าคุณไม่เห็น d.txt~
ไฟล์. ฉันอาจจะเปิด เสียงเรียกเข้า
ตัวเลือกในการบันทึกสำเนาสำรองของไฟล์ต้นฉบับเสมอ ฉันจำไม่ได้ว่าพฤติกรรมเริ่มต้นของ เสียงเรียกเข้า
เกี่ยวข้องกับตัวเลือกนี้
ตอนนี้มีสามไฟล์:
d.txt
-- เวอร์ชันแก้ไขที่เราเพิ่งบันทึกไว้ ประกอบด้วย "สวัสดี" การบันทึกครั้งต่อไปจะแทนที่ไฟล์นี้
d.txt~
-- สำเนาสำรองของไฟล์ต้นฉบับ ประกอบด้วย "สวัสดี" รายการไดเร็กทอรีนี้สร้างขึ้นโดยกระบวนการที่ทำงานเป็น คลุมเครือ
จึงมี คลุมเครือ
ความเป็นเจ้าของและสิทธิ์เริ่มต้นของ
.d.txt.swp
-- ไฟล์งานปัจจุบัน การแก้ไขในภายหลังจะถูกบันทึกลงในไฟล์นี้โดยอัตโนมัติเป็นระยะๆ
ตอนนี้เรามาจบกัน เสียงเรียกเข้า
การประชุม.
[ช่วงแรก]
[Esc]:คิว
และดูอีกครั้งว่าเกิดอะไรขึ้นในระบบไฟล์
[ช่วงที่สอง]
ls -laF
รวม 16
drwxrwxr-x 2 ฟัซซี่ ฟัซซี่ 4096 31 ต.ค. 12:05 น./
drwxr-xr-x 78 ฟัซซี่ ฟัซซี่ 4096 31 ต.ค. 12:05 น. ../
-rw-r--r-- 1 คลุมเครือ เลือน 5 ต.ค. 31 12:01 น. d.txt
-rw-r--r-- 1 ฟัซซี่ ฟัซซี่ 4 ต.ค. 31 11:48 น. txt~
ทั้งสองไฟล์ถูกสร้างขึ้นโดยผู้ไม่มีสิทธิ์ คลุมเครือ
จึงมี คลุมเครือ
ความเป็นเจ้าของและสิทธิ์เริ่มต้นของ คลุมเครือ
สามารถสร้างและลบรายการไดเร็กทอรีเหล่านี้ได้เนื่องจาก คลุมเครือ
มีสิทธิ์เขียนไปยังไดเร็กทอรีปัจจุบัน .
.