Linux, seperti kebanyakan sistem mirip-Unix (Apple OS/X menjadi salah satu pengecualian langka), mengabaikan izin pada symlink ketika harus menyelesaikan target mereka misalnya.
Namun, kepemilikan symlink, seperti file lainnya, relevan jika dikaitkan dengan izin untuk mengganti nama atau memutuskan tautan entri mereka di direktori yang memiliki t
set bit, seperti /tmp
.
Untuk dapat menghapus atau mengganti nama file (symlink atau tidak) di /tmp
, Anda harus menjadi pemilik file. Itulah salah satu alasan seseorang mungkin ingin mengubah kepemilikan symlink (untuk memberikan atau menghapus izin untuk membatalkan tautan/mengganti namanya).
$ 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 jawabannya yang sekarang dihapus, aplikasi pencadangan dan pengarsipan memerlukan lchown()
untuk mengembalikan symlink ke pemilik aslinya. Opsi lain adalah mengganti euid dan egid sebelum membuat symlink, tetapi itu tidak akan efisien dan mempersulit manajemen yang tepat pada direktori tempat symlink diekstraksi.