Saya ingin memberikan izin kepada pengguna untuk membuat dan membaca file di direktori tertentu, tetapi tidak untuk memodifikasi atau menghapus file. Jika pengguna dapat menambahkan ke file yang ok, tapi saya lebih suka tidak. Ini ada di Ubuntu Linux.
Saya pikir ini tidak mungkin dengan izin file Unix standar, tapi mungkin ini mungkin menggunakan ACL? Pengguna akan selalu terhubung menggunakan SFTP, jadi jika ada beberapa cara untuk mengontrol ini dalam SFTP (sebagai lawan dari izin OS) itu akan baik-baik saja.
Agar benar-benar jelas, saya ingin yang berikut ini:
- echo hello> test # berhasil, karena tes tidak ada, dan pembuatan diperbolehkan
- echo hello >> test # dapat berhasil atau gagal, tergantung pada apakah penambahan diizinkan
- echo hello2> test # gagal, karena tes sudah ada, dan modifikasi tidak diperbolehkan
- tes kucing # berhasil, karena bacaan diperbolehkan
- uji rm # gagal, karena penghapusan tidak diizinkan
Jika Anda bertanya-tanya mengapa saya ingin melakukan ini, itu membuat sistem cadangan Duplicati tahan terhadap Ransomware.
echo > test
, shell melakukanopen("test", O_WRONLY|O_CREAT|O_TRUNC)
yang membuat file dan kemudian memanggilecho
yang menulis konten sehingga memodifikasinya. Sekarang Anda hanya bisa membiarkan pembukaan pertama (WR) berhasil.