Apakah mungkin, menggunakan skema izin linux, untuk memungkinkan pengguna membuat file tetapi tidak mengedit atau menghapusnya di lain waktu? Maksud saya, kami memiliki folder pengiriman di mana pengguna meletakkan artefak di sana dan kami tidak ingin artefak ini diubah setelah dikirim yaitu diedit atau dihapus.
linux
permissions
synchronization
Gilles 'SANGAT berhenti menjadi jahat'
sumber
sumber
Jawaban:
Anda tidak dapat melakukan itu: jika pengguna dapat membuat file, mereka akan dimiliki olehnya, dan ia akan dapat memodifikasinya dan menghapusnya.
Saya akan mengusulkan skema sederhana untuk memiliki direktori pementasan (di mana pengguna dapat melakukan apa yang diinginkannya) dan direktori masuk (tidak dapat diakses oleh pengguna), dengan program kecil istimewa untuk memindahkan file dari direktori pementasan ke yang masuk. direktori. Tapi itu sebenarnya sulit dilakukan dengan benar: di antara hal-hal lain Anda perlu berhati-hati bahwa program istimewa tidak akan memindahkan file di direktori lain (waspadalah terhadap kondisi ras, tautan simbolis,
../
), tidak akan menimpa file yang ada (rename(3)
bersifat atomik tetapi dapat hapus tujuan), tidak akan membiarkan pengguna membuka deskriptor file dan memodifikasi file setelah dipindahkan (sehingga Anda lebih baik menyalin daripada memindahkan). Sebagai gantinya, saya akan merekomendasikan untuk mengambil solusi yang kuat dan sudah ada:sumber
TIDAK
Tetapi Anda memiliki opsi lain seperti yang disarankan oleh @Fredrik dalam komentar untuk pertanyaan Anda. Lihat disini.
sumber
Inilah pendekatan yang seharusnya, secara teoritis, bekerja. Terlalu banyak usaha bagi saya untuk mengembangkan bahkan konsep bukti; Anda dapat menolaknya karena alasan yang sama. Dan, sebenarnya, ini bukan "menggunakan skema izin Linux."
/mnt/delivery
dan memberi tahu pengguna Anda untuk meletakkan file mereka di sana.sumber
Jawaban sederhananya adalah menjalankan skrip pada interval tertentu yang Anda pilih (katakan setiap 15 menit) yang menetapkan kembali kepemilikan semua file dalam direktori "unggah" ke pengguna "admin" yang telah ditentukan dan setel izin ke "644". Ini akan memungkinkan semua pengguna akses hanya baca ke semua file di direktori unggahan termasuk yang mereka unggah sendiri. Tentu saja, Anda dapat mengoptimalkan skrip setelah menjalankan pertama untuk hanya mencari file-file dengan tanggal yang dibuat setelah menjalankan skrip sebelumnya (katakan dalam 17 menit terakhir).
sumber