ตามค่าเริ่มต้นไฟล์ที่สร้างด้วยรูทเสียงจะมีการอนุญาตดังนี้:
-rw-r--r-- 1 root root 0 11月 17 23:25 rootfile.txt
ที่นี่ไฟล์เป็นของผู้ใช้รูทและกลุ่มรูทและสามารถอ่านและเขียนได้โดยรูท แต่ผู้อื่นสามารถอ่านได้
วิธีที่ง่ายที่สุดจะเป็นchown
ไฟล์กลับไปยังผู้ใช้เดิม
chown username:group_name dummy.txt
คุณสามารถใช้$SUDO_USER
ตัวแปรที่สามารถเข้าถึงได้ก็ต่อเมื่อsudo
ถูกเรียกเช่น:
chown "$SUDO_USER":"$SUDO_USER" dummy.txt
หากคุณใช้งานสคริปต์ในฐานะผู้ใช้ทั่วไปchown
ไม่จำเป็นต้องใช้ส่วนใด ๆ ดังนั้นคุณอาจต้องการใช้ if-statement หรือ&&
test เพื่อทดสอบกรณีและปัญหาเมื่อสคริปต์ทำงานเป็นรูทและทำบางอย่างตามบรรทัดเหล่านี้:
#!/bin/bash
touch dummy.txt
[ $UID -eq 0 ] && chown "$SUDO_USER":"$SUDO_USER" dummy.txt
แนะนำวิธีการข้างต้น มีผู้อื่นเช่นใช้chmod
เพื่อเปลี่ยนสิทธิ์อ่าน - เขียน - ดำเนินการสำหรับผู้ใช้และกลุ่ม แต่ไม่แนะนำ
chown
และchmod
ในสคริปต์ของคุณเพื่อตั้งค่าความเป็นเจ้าของและสิทธิ์ตามที่ต้องการ