Tôi muốn cung cấp cho người dùng quyền để tạo và đọc các tệp trong một thư mục cụ thể, nhưng không sửa đổi hoặc xóa các tệp. Nếu người dùng có thể chắp thêm vào các tập tin thì không, nhưng tôi thì không. Đây là trên Ubuntu Linux.
Tôi nghĩ điều này là không thể với các quyền của tệp Unix tiêu chuẩn, nhưng có lẽ điều này là có thể khi sử dụng ACL? Người dùng sẽ luôn kết nối bằng SFTP, vì vậy nếu có cách nào đó để kiểm soát điều này trong SFTP (trái với quyền của HĐH) thì sẽ ổn.
Để hoàn toàn rõ ràng, tôi muốn như sau:
- echo hello> test # thành công, vì thử nghiệm không tồn tại và cho phép tạo
- echo hello >> test # có thể thành công hay thất bại, tùy thuộc vào việc cho phép nối thêm
- echo hello2> test # fail, vì test đã tồn tại và không được phép sửa đổi
- thử nghiệm mèo # thành công, vì đọc được cho phép
- kiểm tra rm # không thành công, vì xóa không được phép
Nếu bạn đang tự hỏi tại sao tôi muốn làm điều này, thì đó là để tạo một hệ thống sao lưu dự phòng trùng lặp với Ransomware.
echo > test
, shell sẽopen("test", O_WRONLY|O_CREAT|O_TRUNC)
tạo một tệp và sau đó gọiecho
nội dung đó để sửa đổi nó. Bây giờ bạn chỉ có thể cho phép mở (WR) đầu tiên thành công.