Cara menghapus file dari folder yang dimiliki oleh orang lain

0

Saya tidak dapat menemukan solusi untuk masalah di bawah unix yang terlihat sangat sederhana, saya memiliki folder yang folderdimiliki oleh root.

Saya memiliki pengguna www-datayang dapat menulis dan membaca file di folder ini. Saya juga memiliki pengguna prodyang seharusnya dapat menghapus file dari folder.

Untuk mengatasi itu, www-datadan prodkeduanya memiliki hak acl pada folderuntuk membaca dan menulis operasi.

Masalahnya adalah bahwa prodtidak dapat menghapus file, rootnamun bisa.

Bagaimana saya harus mengatasi masalah itu tanpa sudo?

Saya cukup yakin pertanyaan ini sudah ditanyakan, tetapi saya tidak dapat menemukannya di mana pun

Masadow
sumber
1
Kamu tidak bisa Anda dapat masuk ke pengguna root dan menghapus file atau login ke pengguna root dan mengubah pemilik untuk file-file itu kemudian menghapus file dengan pengguna / grup itu
Ramhound
sudahkah Anda mempertimbangkan untuk menggunakan SetGID pada direktori induk, dan menetapkan grup pemilik induk menjadi grup tempat kedua pengguna berada, dan akhirnya memberikan hak hapus ke grup? Anda awalnya harus menetapkan kepemilikan pada isi direktori secara rekursif untuk me-root: youWebGroup dan izin ke 77x.
Frank Thomas
@Ramhound Saya ingin semacam root terbatas, karena skrip log sebagai proddan perlu dapat melakukan apa pun yang rootbisa dilakukan, tetapi hanya di dalam folder folder.
Masadow
@FrankThomas Saya tidak memiliki hak akses pada file dan saya ingin menghindari untuk masuk karena root, saya ingin mengkonfigurasi pengguna produntuk menjadi semacam master folderfolder
Masadow
Anda tidak perlu masuk sebagai root sama sekali, begitu Anda telah mengubah kepemilikan dan izin dir pada awalnya. Anda akan masuk sebagai anggota Grup Web Anda, yang akan mencakup www-data dan prod. jadi Anda masuk sebagai prod, dan dapat memodifikasi / menghapus file, dan terima kasih kepada setGID, semua file baru akan menyerap kelompok orang tua untuk menjaga agar semuanya berfungsi setelah diatur.
Frank Thomas

Jawaban:

0

atur umask 0000 untuk www-data pengguna

Maka semua file yang ditulisnya akan menjadi 666 dan siapa pun, termasuk pengguna prod Anda dapat membaca / menulis / menghapusnya

Cara lain untuk melakukannya adalah mengubah cairan pengguna "prod" menjadi sama dengan pengguna data-www. Ini mungkin memiliki efek aneh lain tetapi bisa mencapai apa yang Anda katakan ingin Anda lakukan!

Vorsprung
sumber
Tampaknya solusi yang bagus, tetapi bukankah tidak aman untuk melakukannya?
Masadow
0

Saya akhirnya menemukan sesuatu yang berkaitan dengan acl.

Aku hanya mengatur hak akses default untuk direktori folderuntuk prodsehingga setiap file www-dataakan menciptakan juga akan menjadi milik prodberkat acl:

setfacl -Rm d:u:prod:rwx folder

Masadow
sumber