<ก่อนหน้านี้ | เนื้อหา | ถัดไป>
ข้อสรุปขึ้น
เราเริ่มบทนี้ด้วยคำถาม เราจะทำของเราได้อย่างไร sys_info_page สคริปต์ตรวจพบว่าผู้ใช้มีสิทธิ์อ่านโฮมไดเร็กทอรีทั้งหมดหรือไม่ ด้วยองค์ความรู้ด้าน .ของเรา ifเราสามารถแก้ปัญหาได้โดยการเพิ่มโค้ดนี้ลงใน report_home_space ฟังก์ชั่น:
report_home_space () {
ถ้า [[ $(id -u) -eq 0 ]]; แล้วก็แมว <<- _EOF_
การใช้พื้นที่ในบ้าน (ผู้ใช้ทั้งหมด)
$(du -sh /home/*)
_อีโอเอฟ_
อื่น
แมว <<- _EOF_
การใช้พื้นที่ในบ้าน ($USER)
$(du -sh $HOME)
_อีโอเอฟ_
fi กลับ
}
report_home_space () {
ถ้า [[ $(id -u) -eq 0 ]]; แล้วก็แมว <<- _EOF_
การใช้พื้นที่ในบ้าน (ผู้ใช้ทั้งหมด)
$(du -sh /home/*)
_อีโอเอฟ_
อื่น
แมว <<- _EOF_
การใช้พื้นที่ในบ้าน ($USER)
$(du -sh $HOME)
_อีโอเอฟ_
fi กลับ
}
เราประเมินผลลัพธ์ของ id สั่งการ. กับ -u ตัวเลือก id ส่งออกหมายเลข ID ผู้ใช้ที่เป็นตัวเลขของผู้ใช้ที่มีประสิทธิภาพ superuser จะเป็นศูนย์เสมอ และผู้ใช้อื่น ๆ ทุกคนจะเป็นตัวเลขที่มากกว่าศูนย์ เมื่อทราบสิ่งนี้ เราจึงสามารถสร้างเอกสารสองฉบับที่แตกต่างกันได้ที่นี่ เอกสารหนึ่งใช้ประโยชน์จากสิทธิ์ผู้ใช้ระดับสูง และอีกเอกสารหนึ่ง จำกัดไว้ที่โฮมไดเร็กตอรี่ของผู้ใช้เอง
เราจะหยุดพักจาก sys_info_page โปรแกรม แต่ไม่ต้องกังวล มันจะกลับมา ในระหว่างนี้ เราจะพูดถึงบางหัวข้อที่เราต้องการเมื่อเรากลับมาทำงานต่อ