Linux, seperti kebanyakan sistem mirip Unix (Apple OS / X menjadi salah satu pengecualian yang jarang terjadi), mengabaikan izin pada symlink ketika harus menyelesaikan target mereka misalnya.
Namun kepemilikan symlink, seperti file lain, relevan ketika datang ke izin untuk mengganti nama atau membatalkan tautan entri mereka di direktori yang memiliki t
bit set, seperti /tmp
.
Untuk dapat menghapus atau mengganti nama file (symlink atau tidak) /tmp
, Anda harus menjadi pemilik file. Itulah salah satu alasan seseorang mungkin ingin mengubah kepemilikan symlink (untuk memberikan atau menghapus izin untuk memutuskan tautan / mengubah nama itu).
$ ln -s / /tmp/x
$ rm /tmp/x
# OK removed
$ ln -s / /tmp/x
$ sudo chown -h nobody /tmp/x
$ rm /tmp/x
rm: cannot remove ‘/tmp/x’: Operation not permitted
Juga, seperti yang disebutkan oleh Mark Plotnick dalam jawaban yang sekarang dihapus , aplikasi cadangan dan arsip perlu lchown()
mengembalikan symlink ke pemilik aslinya. Pilihan lain adalah mengganti euid dan egid sebelum membuat symlink, tetapi itu tidak akan efisien dan menyulitkan manajemen yang tepat pada direktori tempat symlink diekstraksi.
lrwxrwxrwx
. Achmod
tidak masuk akal di sini. Mengikuti tautan membawa Anda ke izin target.