ฉันต้องการให้สิทธิ์ผู้ใช้ในการสร้างและอ่านไฟล์ในไดเรกทอรีเฉพาะ แต่ไม่สามารถแก้ไขหรือลบไฟล์ได้ หากผู้ใช้สามารถต่อท้ายไฟล์ที่ใช้ได้ แต่ฉันไม่ต้องการ นี่คือบน Ubuntu Linux
ฉันคิดว่ามันเป็นไปไม่ได้ด้วยสิทธิ์ของไฟล์ Unix มาตรฐาน แต่อาจเป็นไปได้ที่ใช้ ACL ผู้ใช้จะเชื่อมต่อโดยใช้ SFTP เสมอดังนั้นหากมีวิธีการควบคุมสิ่งนี้ภายใน SFTP (ตรงข้ามกับสิทธิ์ของระบบปฏิบัติการ) ที่จะใช้ได้
เพื่อให้ชัดเจนอย่างยิ่งฉันต้องการสิ่งต่อไปนี้:
- echo hello> test # สำเร็จเนื่องจากไม่มีการทดสอบและอนุญาตให้สร้างได้
- echo hello >> test # สามารถประสบความสำเร็จหรือล้มเหลวขึ้นอยู่กับว่าอนุญาตให้ผนวกท้ายได้หรือไม่
- echo hello2> test # ล้มเหลวเนื่องจากมีการทดสอบอยู่แล้วและไม่อนุญาตให้แก้ไข
- cat test # สำเร็จเนื่องจากการอ่านได้รับอนุญาต
- การทดสอบ rm # ล้มเหลวเนื่องจากไม่อนุญาตให้ลบ
หากคุณสงสัยว่าทำไมฉันถึงต้องการทำเช่นนี้มันจะทำให้ระบบสำรองข้อมูลของ Duplicati ทนทานต่อ Ransomware
echo > test
นั้นเชลล์จะopen("test", O_WRONLY|O_CREAT|O_TRUNC)
สร้างไฟล์ขึ้นมาจากนั้นเรียกใช้งานecho
เพื่อเขียนเนื้อหาเพื่อทำการแก้ไข ตอนนี้คุณสามารถอนุญาตให้เฉพาะ open (WR) แรกที่จะประสบความสำเร็จ