Kepemilikan dan izin adalah dua hal yang berbeda. The -p
bendera mempertahankan hak akses . Pada sistem * nix, pengguna biasa tidak dapat mengubah kepemilikan file menjadi pengguna yang bukan dirinya sendiri.
Seperti yang dijelaskan di sini :
Hanya proses dengan ID pengguna efektif yang sama dengan ID pengguna file atau dengan hak istimewa yang sesuai dapat mengubah kepemilikan file. Jika _POSIX_CHOWN_RESTRICTED berlaku untuk jalur:
Mengubah ID pengguna dibatasi untuk proses dengan hak istimewa yang sesuai.
Mengubah ID grup diizinkan untuk suatu proses dengan ID pengguna yang efektif sama dengan ID pengguna file, tetapi tanpa hak istimewa yang sesuai, jika dan hanya jika pemilik sama dengan ID pengguna file atau (uid_t) -1 dan grup sama dengan baik ke ID grup efektif proses panggilan atau ke salah satu ID grup tambahannya.
Alasan di balik ini telah baik dijelaskan oleh @Gilles di ini Unix & Linux jawabannya:
Alasan pembatasan ini adalah bahwa memberikan file ke pengguna lain dapat memungkinkan hal-hal buruk terjadi secara tidak umum, tetapi masih dalam situasi yang penting. Sebagai contoh:
- Jika suatu sistem memiliki kuota disk yang diaktifkan, Alice dapat membuat file yang dapat ditulis oleh dunia di bawah direktori yang hanya dapat diakses olehnya (jadi tidak ada orang lain yang dapat mengakses direktori yang dapat ditulis itu), dan kemudian menjalankan chown untuk membuat file itu dimiliki oleh pengguna lain Bill . File kemudian akan dihitung di bawah kuota disk Bill meskipun hanya Alice yang dapat menggunakan file tersebut.
- Jika Alice memberikan file ke Bill, tidak ada jejak bahwa Bill tidak membuat file itu. Ini bisa menjadi masalah jika file tersebut berisi data ilegal atau yang membahayakan.
- Beberapa program mengharuskan file inputnya menjadi milik pengguna tertentu untuk mengotentikasi permintaan (misalnya, file tersebut berisi beberapa instruksi yang akan dilakukan program atas nama pengguna itu). Ini biasanya bukan desain yang aman, karena bahkan jika Bill membuat file yang mengandung instruksi yang benar secara sintaksis, ia mungkin tidak bermaksud untuk mengeksekusinya pada waktu tertentu ini. Meskipun demikian, mengizinkan Alice untuk membuat file dengan konten sewenang-wenang dan menjadikannya sebagai masukan dari Bill hanya dapat memperburuk keadaan.
Jadi, bahkan jika Anda menggunakan --same-owner
flag tar , Anda masih perlu mengekstrak file root
untuk mempertahankan kepemilikan. Bendera itu diaktifkan secara default untuk root
, jadi yang Anda inginkan adalah:
sudo tar xpf foo.tgz
tar
tidak akan bisa melakukannya juga. Tolong beritahu saya jika ini berhasil.