<ก่อนหน้านี้ | Contents | ถัดไป>
3.4.2. เครื่องมือ
3.4.2.1. คำสั่ง chmod
ผลที่ตามมาตามปกติของการใช้การอนุญาตไฟล์ที่เข้มงวด และบางครั้งอาจสร้างความรำคาญคือ สิทธิ์การเข้าถึงจะต้องมีการเปลี่ยนแปลงด้วยเหตุผลทุกประเภท เราใช้ chmod สั่งให้ทำเช่นนี้และในที่สุด ถึง chmod กลายเป็นกริยาภาษาอังกฤษที่เกือบจะยอมรับได้ ซึ่งหมายถึงการเปลี่ยนโหมดการเข้าถึงของไฟล์ NS chmod คำสั่งสามารถใช้กับตัวเลือกตัวอักษรและตัวเลขหรือตัวเลข อะไรก็ได้ที่คุณชอบที่สุด
ตัวอย่างด้านล่างใช้ตัวเลือกตัวเลขและตัวอักษรเพื่อแก้ปัญหาที่มักเกิดขึ้นกับผู้ใช้ใหม่:
asim:~> ./สวัสดี
bash: ./hello: ล่ามที่ไม่ดี: ปฏิเสธการอนุญาต
asim:~> สวัสดีแมว
#! / bin / ทุบตี
เสียงสะท้อน "สวัสดีชาวโลก"
asim:~> ls -l สวัสดี
-rw-rw-r-- 1 asim asim 32 ม.ค. 15 16:29 สวัสดี asim:~> chmod u+x สวัสดี
asim:~> ./สวัสดี
สวัสดีชาวโลก
asim:~> ls -l สวัสดี
-rwxrw-r-- 1 asim asim 32 ม.ค. 15 16:29 สวัสดี*
asim:~> ./สวัสดี
bash: ./hello: ล่ามที่ไม่ดี: ปฏิเสธการอนุญาต
asim:~> สวัสดีแมว
#! / bin / ทุบตี
เสียงสะท้อน "สวัสดีชาวโลก"
asim:~> ls -l สวัสดี
-rw-rw-r-- 1 asim asim 32 ม.ค. 15 16:29 สวัสดี asim:~> chmod u+x สวัสดี
asim:~> ./สวัสดี
สวัสดีชาวโลก
asim:~> ls -l สวัสดี
-rwxrw-r-- 1 asim asim 32 ม.ค. 15 16:29 สวัสดี*
การขอ + และ - ตัวดำเนินการใช้เพื่ออนุญาตหรือปฏิเสธสิทธิ์ที่กำหนดให้กับกลุ่มที่กำหนด อนุญาตให้ใช้ชุดค่าผสมที่คั่นด้วยเครื่องหมายจุลภาค หน้าข้อมูลและหน้าคนมีตัวอย่างที่เป็นประโยชน์ นี่เป็นอีกไฟล์หนึ่งที่ทำให้ไฟล์จากตัวอย่างก่อนหน้านี้เป็นไฟล์ส่วนตัวสำหรับผู้ใช้ Asim:
asim:~> chmod u+rwx,go-rwx สวัสดี
asim:~> ls -l | สวัสดี | ||
-rwx------ | 1 อาซิม | Asim | 32 ม.ค. 15 16:29 น. สวัสดี* |
ประเภทของปัญหาที่ทำให้เกิดข้อความแสดงข้อผิดพลาดที่ระบุว่าการอนุญาตถูกปฏิเสธในที่ใดที่หนึ่ง มักเป็นปัญหาเกี่ยวกับสิทธิ์การเข้าถึงในกรณีส่วนใหญ่ นอกจากนี้ ความคิดเห็นเช่น "มันใช้งานได้เมื่อวานนี้" และ "เมื่อฉันเรียกใช้สิ่งนี้ในขณะที่รูทก็ใช้งานได้" มักเกิดจากการอนุญาตไฟล์ที่ไม่ถูกต้อง
เมื่อใช้ chmod ด้วยอาร์กิวเมนต์ที่เป็นตัวเลข ค่าสำหรับสิทธิ์การเข้าถึงที่ได้รับแต่ละรายการจะต้องถูกนับรวมกันต่อกลุ่ม ดังนั้นเราจึงได้ตัวเลข 3 หลัก ซึ่งเป็นค่าสัญลักษณ์สำหรับการตั้งค่า chmod ต้องทำ ตารางต่อไปนี้แสดงรายการชุดค่าผสมที่พบบ่อยที่สุด:
ตารางที่ 3-9. การป้องกันไฟล์ด้วย chmod
คำสั่ง | ความหมาย |
chmod 400 ไฟล์ | เพื่อป้องกันไฟล์จากการเขียนทับโดยไม่ได้ตั้งใจ |
chmod 500 ไดเรกทอรี | เพื่อป้องกันตัวเองจากการลบ เปลี่ยนชื่อ หรือย้ายไฟล์จากไดเร็กทอรีนี้โดยไม่ได้ตั้งใจ |
chmod 600 ไฟล์ | ไฟล์ส่วนตัวสามารถเปลี่ยนได้โดยผู้ใช้ที่ป้อนคำสั่งนี้เท่านั้น |
chmod 644 ไฟล์ | ไฟล์ที่อ่านได้แบบสาธารณะซึ่งมีเพียงผู้ใช้ที่ออกเท่านั้นที่สามารถเปลี่ยนแปลงได้ |
chmod 660 ไฟล์ | ผู้ใช้ที่อยู่ในกลุ่มของคุณสามารถเปลี่ยนไฟล์นี้ได้ คนอื่นไม่มีสิทธิ์เข้าถึงเลย |
chmod 700 ไฟล์ | ปกป้องไฟล์จากการเข้าถึงจากผู้ใช้รายอื่น ในขณะที่ผู้ใช้ที่ออกยังคงมีสิทธิ์เข้าถึงแบบเต็ม |
chmod 755 ไดเรกทอรี | สำหรับไฟล์ที่ผู้อื่นควรอ่านและเรียกใช้งานได้ แต่เฉพาะผู้ใช้ที่ออกเท่านั้นเปลี่ยนแปลงได้ |
chmod 775 ไฟล์ | โหมดแชร์ไฟล์มาตรฐานสำหรับกลุ่ม |
chmod 777 ไฟล์ | ทุกคนสามารถทำทุกอย่างกับไฟล์นี้ได้ |
หากคุณป้อนตัวเลขที่มีน้อยกว่าสามหลักเป็นอาร์กิวเมนต์ถึง chmodอักขระที่ละเว้นจะถูกแทนที่ด้วยศูนย์โดยเริ่มจากด้านซ้าย จริงๆ แล้วมีตัวเลขที่สี่บนระบบ Linux ที่นำหน้าสามตัวแรกและตั้งค่าโหมดการเข้าถึงพิเศษ ทุกอย่างเกี่ยวกับสิ่งเหล่านี้และอื่น ๆ อีกมากมายอยู่ในหน้าข้อมูล
3.4.2.2. เข้าสู่ระบบไปยังกลุ่มอื่น
เมื่อคุณพิมพ์ id บนบรรทัดคำสั่ง คุณจะได้รับรายชื่อกลุ่มทั้งหมดที่คุณสามารถอยู่ได้ นำหน้าด้วยชื่อผู้ใช้และ ID ของคุณและชื่อกลุ่มและ ID ที่คุณเชื่อมต่ออยู่ในปัจจุบัน อย่างไรก็ตาม สำหรับระบบ Linux หลายระบบ คุณสามารถเข้าสู่ระบบได้ครั้งละหนึ่งกลุ่มเท่านั้น โดยค่าเริ่มต้น แอคทีฟนี้หรือ กลุ่มหลัก คือสิ่งที่คุณได้รับมอบหมายจาก / etc / passwd ไฟล์. ฟิลด์ที่สี่ของไฟล์นี้มี ID กลุ่มหลักของผู้ใช้ ซึ่งค้นหาใน / etc / group ไฟล์. ตัวอย่าง:
asim:~> id
uid=501(asim) gid=501(asim) groups=100(users),501(asim),3400(web)
asim:~> grep Asim / etc / passwd
asim:x:501:501:Asim เอลบารากา:/home/asim:/bin/bash
asim:~> grep 501 / etc / group
ซิม:x:501:
asim:~> id
uid=501(asim) gid=501(asim) groups=100(users),501(asim),3400(web)
asim:~> grep Asim / etc / passwd
asim:x:501:501:Asim เอลบารากา:/home/asim:/bin/bash
asim:~> grep 501 / etc / group
ซิม:x:501:
ช่องที่สี่ในบรรทัดจาก / etc / passwd มีค่า "501" ซึ่งแสดงถึงกลุ่ม Asim ในตัวอย่างข้างต้น จาก / etc / group เราจะได้ชื่อที่ตรงกับ ID กลุ่มนี้ เมื่อเริ่มเชื่อมต่อกับระบบนี้เป็นกลุ่มที่ Asim จะเป็นของ
โครงร่างกลุ่มส่วนตัวของผู้ใช้
เพื่อให้มีความยืดหยุ่นมากขึ้น ระบบ Linux ส่วนใหญ่ปฏิบัติตามสิ่งที่เรียกว่า โครงการกลุ่มส่วนตัวของผู้ใช้ซึ่งกำหนดผู้ใช้แต่ละรายให้กับกลุ่มของตนเองเป็นหลัก กลุ่มนี้เป็นกลุ่มที่มีเฉพาะผู้ใช้รายนี้เท่านั้น จึงเรียกว่า "กลุ่มส่วนตัว" โดยปกติกลุ่มนี้จะมีชื่อเดียวกับชื่อล็อกอินของผู้ใช้ ซึ่งอาจทำให้สับสนเล็กน้อย
นอกจากกลุ่มส่วนตัวของตัวเองแล้ว user Asim อยู่ในกลุ่มก็ได้ ผู้ใช้ และ เว็บ. เนื่องจากเป็นกลุ่มรองสำหรับผู้ใช้รายนี้ เขาจะต้องใช้ ใหม่ เพื่อเข้าสู่ระบบในกลุ่มใด ๆ เหล่านี้ (ใช้ gpasswd เพื่อตั้งรหัสผ่านกลุ่มก่อน) ในตัวอย่าง Asim จำเป็นต้องสร้างไฟล์ที่เป็นของกลุ่ม เว็บ.
asim:/var/www/html> ใหม่ เว็บ
asim:/var/www/html> id
uid=501(asim) gid=3400(web) groups=100(users),501(asim),3400(web)
asim:/var/www/html> ใหม่ เว็บ
asim:/var/www/html> id
uid=501(asim) gid=3400(web) groups=100(users),501(asim),3400(web)
เมื่อ Asim สร้างไฟล์ใหม่ตอนนี้จะอยู่ในความเป็นเจ้าของกลุ่มของกลุ่ม เว็บ แทนที่จะเป็นเจ้าของโดยกลุ่ม Asim:
asim:/var/www/html> ทดสอบการสัมผัส
asim:/var/www/html> ls -l ทดสอบ
-rw-rw-r-- 1 เว็บ asim 0 มิ.ย. 10 15:38 ทดสอบ
asim:/var/www/html> ทดสอบการสัมผัส
asim:/var/www/html> ls -l ทดสอบ
-rw-rw-r-- 1 เว็บ asim 0 มิ.ย. 10 15:38 ทดสอบ
การเข้าสู่ระบบกลุ่มใหม่ทำให้ไม่ต้องใช้งาน chown (ดูหัวข้อ 3.4.2.4) หรือโทรหาผู้ดูแลระบบของคุณเพื่อเปลี่ยนความเป็นเจ้าของให้กับคุณ
ดู manpage สำหรับ ใหม่ เพื่อสอบถามรายละเอียดเพิ่มเติมได้ค่ะ
3.4.2.3. ไฟล์มาสก์
เมื่อมีการบันทึกไฟล์ใหม่ไว้ที่ใดที่หนึ่ง ไฟล์นั้นจะอยู่ภายใต้ขั้นตอนการรักษาความปลอดภัยมาตรฐานก่อน ไฟล์ที่ไม่มีสิทธิ์ไม่มีอยู่บน Linux การอนุญาตไฟล์มาตรฐานถูกกำหนดโดย หน้ากาก สำหรับการสร้างไฟล์ใหม่ ค่าของมาสก์นี้สามารถแสดงได้โดยใช้ปุ่ม อูมาสก์ คำสั่ง:
เบิร์ต:~> อูมาสก์
0002
เบิร์ต:~> อูมาสก์
0002
แทนที่จะเพิ่มค่าสัญลักษณ์ให้กัน เช่น with chmodสำหรับการคำนวณสิทธิ์ในไฟล์ใหม่ จะต้องหักออกจากสิทธิ์การเข้าถึงทั้งหมดที่เป็นไปได้ อย่างไรก็ตาม ในตัวอย่างข้างต้น เราเห็นค่า 4 ค่าที่แสดง แต่มีเพียง 3 หมวดหมู่สิทธิ์เท่านั้น: ผู้ใช้งาน, กลุ่ม และ อื่น ๆ. ศูนย์แรกเป็นส่วนหนึ่งของการตั้งค่าแอตทริบิวต์ไฟล์พิเศษ ซึ่งเราจะพูดถึงในส่วน 3.4.2.4 และส่วนที่ 4.1.6 อาจเป็นไปได้ว่าศูนย์แรกนี้ไม่ปรากฏบนระบบของคุณเมื่อเข้าสู่ อูมาสก์ คำสั่งและคุณจะเห็นเพียงตัวเลข 3 ตัวที่แสดงถึงรูปแบบการสร้างไฟล์เริ่มต้น
ระบบที่เหมือน UNIX แต่ละระบบมีฟังก์ชันระบบสำหรับสร้างไฟล์ใหม่ ซึ่งเรียกว่าทุกครั้งที่ผู้ใช้ใช้โปรแกรมที่สร้างไฟล์ใหม่ เช่น เมื่อดาวน์โหลดไฟล์จากอินเทอร์เน็ต เมื่อบันทึกเอกสารข้อความใหม่ เป็นต้น ฟังก์ชันนี้สร้างทั้งไฟล์ใหม่และไดเร็กทอรีใหม่ ทุกคนจะได้รับสิทธิ์อ่าน เขียน และดำเนินการอย่างเต็มรูปแบบเมื่อสร้างไดเร็กทอรีใหม่ เมื่อสร้างไฟล์ใหม่ ฟังก์ชันนี้จะให้สิทธิ์ในการอ่านและเขียนสำหรับทุกคน แต่ตั้งค่าการอนุญาตดำเนินการเป็น none สำหรับหมวดหมู่ผู้ใช้ทั้งหมด ก่อนใช้มาสก์ ไดเร็กทอรีมีสิทธิ์ 777 or rwxrwxrwx, ไฟล์ธรรมดา 666 or rw-rw-rw-.
การขอ อูมาสก์ ค่าจะถูกลบออกจากการอนุญาตเริ่มต้นเหล่านี้หลังจากที่ฟังก์ชันได้สร้างไฟล์หรือไดเร็กทอรีใหม่ ดังนั้นไดเร็กทอรีจะมีสิทธิ์ของ 775 โดยค่าเริ่มต้น file 664, หากค่ามาสก์คือ (0) 002. นี่แสดงให้เห็นในตัวอย่างด้านล่าง:
เบิร์ต:~> mkdir ใหม่
เบิร์ต:~> ls -ld ใหม่ไดร์
drwxrwxr-x 2 เบิร์ต เบิร์ต
4096 28 ก.พ. 13:45 น. newdir/
เบิร์ต:~> mkdir ใหม่
เบิร์ต:~> ls -ld ใหม่ไดร์
drwxrwxr-x 2 เบิร์ต เบิร์ต
เบิร์ต:~> แตะไฟล์ใหม่
เบิร์ต:~> ls -l ไฟล์ใหม่
-rw-rw-r-- 1 เบิร์ต เบิร์ต
0 ก.พ. 28 13:52 น. newfile
เบิร์ต:~> แตะไฟล์ใหม่
เบิร์ต:~> ls -l ไฟล์ใหม่
-rw-rw-r-- 1 เบิร์ต เบิร์ต
ไฟล์กับไดเร็กทอรี
ไดเร็กทอรีได้รับสิทธิ์มากขึ้นตามค่าเริ่มต้น: ไดเร็กทอรีจะมี .เสมอ ดำเนินการ การอนุญาต. ถ้าไม่มีสิ่งนั้นก็จะไม่สามารถเข้าถึงได้ ลองใช้วิธีนี้โดย chmodding ไดเร็กทอรี 644!
หากคุณเข้าสู่ระบบในกลุ่มอื่นโดยใช้ ใหม่ คำสั่ง หน้ากากยังคงไม่เปลี่ยนแปลง ดังนั้น หากตั้งค่าเป็น 002, ไฟล์และไดเร็กทอรีที่คุณสร้างในขณะที่อยู่ในกลุ่มใหม่จะสามารถเข้าถึงได้โดยสมาชิกคนอื่นๆ ของกลุ่มนั้น ไม่ต้องใช้ chmod.
การขอ ราก ผู้ใช้มักจะมีสิทธิ์สร้างไฟล์เริ่มต้นที่เข้มงวดกว่า:
[root@estoban root]# umask 022
[root@estoban root]# umask 022
ค่าเริ่มต้นเหล่านี้ถูกตั้งค่าทั้งระบบในไฟล์การกำหนดค่าทรัพยากรของเชลล์ เช่น / etc / bashrc or
/ etc / โปรไฟล์. คุณสามารถเปลี่ยนได้ในไฟล์การกำหนดค่าเชลล์ของคุณเอง ดูบทที่ 7 เกี่ยวกับการกำหนดสภาพแวดล้อมเชลล์ของคุณเอง
3.4.2.4. การเปลี่ยนผู้ใช้และความเป็นเจ้าของกลุ่ม
เมื่อไฟล์เป็นเจ้าของโดยผู้ใช้หรือกลุ่มที่ไม่ถูกต้อง ข้อผิดพลาดสามารถซ่อมแซมได้โดยใช้คำสั่ง chown (เปลี่ยนเจ้าของ) และ ซีจีอาร์พี (เปลี่ยนกลุ่ม) คำสั่ง การเปลี่ยนความเป็นเจ้าของไฟล์เป็นงานการดูแลระบบบ่อยครั้งในสภาพแวดล้อมที่จำเป็นต้องแชร์ไฟล์ในกลุ่ม คำสั่งทั้งสองนั้นมีความยืดหยุ่นมาก ดังที่คุณสามารถค้นหาได้โดยใช้คำสั่ง --ช่วยด้วย ตัวเลือก
การขอ chown คำสั่งใช้เปลี่ยนทั้งผู้ใช้และกลุ่มเจ้าของไฟล์ในขณะที่ ซีจีอาร์พี เปลี่ยนความเป็นเจ้าของกลุ่มเท่านั้น แน่นอนว่าระบบจะตรวจสอบว่าผู้ใช้ที่ออกคำสั่งเหล่านี้มีสิทธิ์เพียงพอในไฟล์ที่เธอต้องการเปลี่ยนแปลงหรือไม่
หากต้องการเปลี่ยนเฉพาะความเป็นเจ้าของไฟล์ของผู้ใช้ ให้ใช้ไวยากรณ์นี้:
chown ผู้ใช้ใหม่ ไฟล์
หากคุณใช้เครื่องหมายโคลอนหลังชื่อผู้ใช้ (ดูหน้าข้อมูล) ความเป็นเจ้าของกลุ่มก็จะเปลี่ยนไปเช่นกันในกลุ่มหลักของผู้ใช้ที่ออกคำสั่ง บนระบบ Linux ผู้ใช้แต่ละคนมีกลุ่มของตัวเอง ดังนั้นแบบฟอร์มนี้จึงสามารถใช้เพื่อทำให้ไฟล์เป็นส่วนตัวได้:
แจ็กกี้:~> id
uid=1304(jacky) gid=(1304) กลุ่ม=1304(jacky),2034(pproject)
แจ็กกี้:~> ls -l my_report
-rw-rw-r-- 1 โครงการแจ็คกี้ 29387 15 ม.ค. 09:34 my_report jacky:~> ชอน แจ็กกี้: my_report
แจ็กกี้:~> chmod หรือ my_report
แจ็กกี้:~> ls -l my_report
-rw-rw---- 1 แจ็คกี้ แจ็คกี้ 29387 15 ม.ค. 09:34 my_report
แจ็กกี้:~> id
uid=1304(jacky) gid=(1304) กลุ่ม=1304(jacky),2034(pproject)
แจ็กกี้:~> ls -l my_report
-rw-rw-r-- 1 โครงการแจ็คกี้ 29387 15 ม.ค. 09:34 my_report jacky:~> ชอน แจ็กกี้: my_report
แจ็กกี้:~> chmod หรือ my_report
แจ็กกี้:~> ls -l my_report
-rw-rw---- 1 แจ็คกี้ แจ็คกี้ 29387 15 ม.ค. 09:34 my_report
If jacky ต้องการแชร์ไฟล์นี้ โดยไม่ต้องให้ทุกคนอนุญาติให้เขียน เขาก็สามารถใช้
คำสั่ง chgrp:
แจ็กกี้:~> ls -l รายงาน-20020115.xls
-rw-rw---- 1 แจ็คกี้ แจ็คกี้ 45635 15 ม.ค. 09:35 น. รายงาน-20020115.xls แจ็คกี้:~> รายงานโครงการ chgrp-20020115.xls
แจ็กกี้:~> chmod o= รายงาน-20020115.xls
แจ็กกี้:~> ls -l รายงาน-20020115.xls
-rw-rw ---- 1 โครงการแจ็คกี้ 45635 15 ม.ค. 09:35 รายงาน-20020115.xls
แจ็กกี้:~> ls -l รายงาน-20020115.xls
-rw-rw---- 1 แจ็คกี้ แจ็คกี้ 45635 15 ม.ค. 09:35 น. รายงาน-20020115.xls แจ็คกี้:~> รายงานโครงการ chgrp-20020115.xls
แจ็กกี้:~> chmod o= รายงาน-20020115.xls
แจ็กกี้:~> ls -l รายงาน-20020115.xls
-rw-rw ---- 1 โครงการแจ็คกี้ 45635 15 ม.ค. 09:35 รายงาน-20020115.xls
ทางนี้ผู้ใช้ในกลุ่ม โครงการ จะสามารถทำงานในไฟล์นี้ได้ ผู้ใช้ที่ไม่ได้อยู่ในกลุ่มนี้ไม่มีธุรกิจใดเลย
ทั้งสอง chown และ ซีจีอาร์พี สามารถใช้เพื่อเปลี่ยนความเป็นเจ้าของแบบเรียกซ้ำได้โดยใช้ -R ตัวเลือก. ในกรณีดังกล่าว ไฟล์และไดเร็กทอรีย่อยทั้งหมดของไดเร็กทอรีที่กำหนดจะเป็นของผู้ใช้และ/หรือกลุ่มที่กำหนด
ข้อจำกัด
ในระบบส่วนใหญ่ การใช้ chown และ ซีจีอาร์พี คำสั่งถูกจำกัดสำหรับผู้ใช้ที่ไม่มีสิทธิพิเศษ หากคุณไม่ใช่ผู้ดูแลระบบ คุณจะไม่สามารถเปลี่ยนผู้ใช้หรือความเป็นเจ้าของกลุ่มได้ด้วยเหตุผลด้านความปลอดภัย หากการใช้คำสั่งเหล่านี้ไม่ถูกจำกัด ผู้ใช้ที่ประสงค์ร้ายสามารถกำหนดความเป็นเจ้าของไฟล์ให้กับผู้ใช้รายอื่นและ/หรือกลุ่ม และเปลี่ยนพฤติกรรมของสภาพแวดล้อมของผู้ใช้เหล่านั้นและแม้กระทั่งสร้างความเสียหายให้กับไฟล์ของผู้ใช้รายอื่น
3.4.2.5. โหมดพิเศษ
เพื่อให้ผู้ดูแลระบบไม่ต้องกังวลกับการแก้ปัญหาการอนุญาตตลอดเวลา สามารถให้สิทธิ์การเข้าถึงพิเศษกับไดเร็กทอรีทั้งหมดหรือแยกโปรแกรมได้ มีสามโหมดพิเศษ:
• โหมด Sticky bit: หลังจากทำงาน คำสั่งจะถูกเก็บไว้ในหน่วยความจำระบบ เดิมทีเป็นคุณลักษณะที่ใช้มากในการบันทึกหน่วยความจำ: งานใหญ่จะถูกโหลดลงในหน่วยความจำเพียงครั้งเดียว แต่หน่วยความจำในทุกวันนี้มีราคาไม่แพงและมีเทคนิคที่ดีกว่าในการจัดการ ดังนั้นจึงไม่ได้ใช้ความสามารถในการเพิ่มประสิทธิภาพในไฟล์เดียวอีกต่อไป อย่างไรก็ตาม เมื่อนำไปใช้กับไดเร็กทอรีทั้งไดเร็กทอรี สติ๊กกี้บิตมีความหมายต่างกัน ในกรณีดังกล่าว ผู้ใช้สามารถเปลี่ยนไฟล์ในไดเร็กทอรีนี้ได้เฉพาะเมื่อเธอเป็นเจ้าของผู้ใช้ของไฟล์หรือเมื่อไฟล์มีสิทธิ์ที่เหมาะสม คุณลักษณะนี้ใช้กับไดเร็กทอรีเช่น
/ var / tmpที่ต้องสามารถเข้าถึงได้สำหรับทุกคน แต่ในกรณีที่ผู้ใช้ไม่สมควรจะเปลี่ยนหรือลบข้อมูลของกันและกัน บิตเหนียวถูกระบุด้วย a t ที่ส่วนท้ายของฟิลด์การอนุญาตไฟล์:
มาร์ค:~> ls -ld /var/tmp
drwxrwxrwt 19 รูท รูท
8192 16 ม.ค. 10:37 /var/tmp/
มาร์ค:~> ls -ld /var/tmp
drwxrwxrwt 19 รูท รูท
บิตเหนียวถูกตั้งค่าโดยใช้คำสั่ง chmod โอ+ที ไดเรกทอรี. ต้นกำเนิดทางประวัติศาสตร์ของ "t" อยู่ใน UNIX' บันทึกการเข้าถึงข้อความ ลักษณะ
• SUID (ตั้งค่า ID ผู้ใช้) และ SGID (ตั้งค่า ID กลุ่ม): แทนด้วยอักขระ s ในช่องการอนุญาตผู้ใช้หรือกลุ่ม เมื่อตั้งค่าโหมดนี้บนไฟล์เรียกทำงาน โหมดนี้จะทำงานโดยให้สิทธิ์ผู้ใช้และกลุ่มในไฟล์ แทนที่จะใช้โหมดที่ผู้ใช้ออกคำสั่ง ซึ่งจะทำให้เข้าถึงทรัพยากรระบบได้ เราจะหารือเรื่องนี้เพิ่มเติมในบทที่ 4
• SGID (ตั้งค่า ID กลุ่ม) บนไดเร็กทอรี: ในกรณีพิเศษนี้ ทุกไฟล์ที่สร้างในไดเร็กทอรีจะมีเจ้าของกลุ่มเดียวกับไดเร็กทอรีเอง วิธีนี้ทำให้ผู้ใช้ไม่ต้องกังวลกับการเป็นเจ้าของไฟล์เมื่อแชร์ไดเรกทอรี:
มีมี่:~> ls -ld /opt/docs
drwxrws--- ผู้ใช้รูท 4 คน
4096 25 ก.ค. 2001 เอกสาร/
มีมี่:~> ls -ld /opt/docs
drwxrws--- ผู้ใช้รูท 4 คน
มีมี่:~> ls -l /opt/docs
-rw-rw ---- 1 ผู้ใช้ mimi
345672 30 ส.ค. 2001-Council.doc
มีมี่:~> ls -l /opt/docs
-rw-rw ---- 1 ผู้ใช้ mimi
นี่เป็นวิธีมาตรฐานในการแชร์ไฟล์ใน UNIX
ไฟล์ที่มีอยู่จะไม่เปลี่ยนแปลง!
ไฟล์ที่กำลังถูกย้ายไปยังไดเร็กทอรี SGID แต่ถูกสร้างขึ้นที่อื่นจะเก็บผู้ใช้เดิมและเจ้าของกลุ่มไว้ สิ่งนี้อาจทำให้สับสน