Di linux dimungkinkan untuk mengubah pemilik atau pemilik grup dari tautan simbolik (symlink). Saya bertanya-tanya mengapa seseorang ingin melakukan itu, karena izin symlink tidak digunakan ketika mengakses file melalui itu.
Saya hanya bisa membayangkan satu use case di mana itu bisa berguna: untuk memungkinkan pengguna untuk menghapus symlink di direktori dengan bit yang lengket.
Apakah Anda tahu kasus lain di mana mungkin berguna untuk mengubah pemilik atau pemilik grup dari symlink?
mv myfile foo
, dan root akan akhirnya mengubah pemilikmyfile
. Tetapimyfile
harus menjadi file yang Hawa bisa buat atau pindahkan ke direktori itu, itu tidak bisa berupa file apa pun di sistem.chown -h
sebagai ukuran peringatan ketika mengubah kepemilikan file yang tidak seharusnya menjadi symlink, tetapi masih mungkin (kasus tepi, IMO). Itu tidak menjelaskan mengapa orang mungkin ingin mengubah kepemilikan file yang sebenarnya dimaksudkan sebagai symlink, yang merupakan pertanyaan yang diajukan.chown
mengubah pemilik "file di luar pohon" adalah semua yang Anda ubah adalah pemilik direktori?chown -R
, yang memanggil(l)chown
sistem panggilan pada setiap entri direktori. Jika entri direktori adalah tautan simbolis maka Anda tidak boleh memanggilchown
sistem panggilan karena itu akan mempengaruhi target tautan yang mungkin berada di luar pohon.Apache dapat dikonfigurasi untuk mengikuti symlinks hanya jika pemilik tautan cocok dengan pemilik tujuan. Ini dapat membantu mencegah pengguna membuat tautan untuk akses web ke file yang bukan miliknya (mis. / Etc / passwd).
... jadi katakanlah Anda, sebagai root, ingin apache mengikuti tautan untuk menampilkan logfile tertentu, yang dimiliki oleh xymon atau sesuatu, tetapi Anda tidak ingin melonggarkan keamanan apache dengan mengizinkannya mengikuti symlink terlepas dari pemiliknya . Maka Anda mungkin ingin menjadikan xymon sebagai pemilik symlink.
sumber
/etc/passwd
, maka badguy mungkin telah membaca akses ke file itu tanpa memiliki akses lokal lainnya - tetapi akan digagalkan oleh symlink yang dimiliki oleh apache.Jawaban pertama tampaknya tidak mendukung pertanyaan, dan yang kedua hanya berlaku untuk Apache.
Satu hal yang dapat saya pikirkan untuk linux secara umum adalah bahwa hanya mungkin bagi pengguna biasa untuk membuat tautan keras ke tautan simbolik jika pengguna adalah pemilik tautan simbolik. Mengapa orang ingin membuat tautan seperti itu, saya tidak tahu.
Hal lain adalah bahwa pengguna biasa hanya dapat mengubah kepemilikan grup file jika pengguna memiliki file (dan juga anggota grup file yang ditambahkan.) Itu memunculkan pertanyaan tentang apa kepemilikan grup dari file tautan simbolik tidak. Dalam suatu organisasi, mungkin berguna sebagai tanda untuk menunjukkan tim mana yang membutuhkan tautan.
Juga, setidaknya di Ubuntu, siapa pun dapat memperbarui stempel waktu tautan simbolik. Namun, mungkin ada beberapa sistem yang hanya mengizinkan pemiliknya. Apa gunanya cap waktu untuk tautan simbolis, saya tidak yakin, tetapi mungkin memberikan beberapa informasi yang berguna tentang berapa banyak yang digunakan.
Sunting: Saya baru menyadari alasan lain mengapa kepemilikan menjadi penting. Tautan itu bisa berada di dalam direktori tempel, di mana hanya pemilik file yang dapat menghapus atau mengganti namanya.
sumber
Saya memiliki program yang ditambahkan ke file log. File log ini dibuat setiap bulan dengan nama yang berbeda. Daripada memiliki perangkat lunak mencari tahu nama file yang tepat, saya menggunakan nama file "generik" (katakan data.log) yang merupakan tautan simbolis yang menunjuk ke file saat ini untuk bulan itu. Ini otomatis pada pekerjaan cron.
Sekarang saat file bulanan baru dibuat, ia perlu mengarahkan tautan simbolik ke file baru. Jika ada konflik kepemilikan / grup, perangkat lunak tidak dapat mengubah tautan simbolik. Jadi, Anda memerlukan hak istimewa kepemilikan / grup untuk mengubah tautan simbolik.
sumber
Jika Anda ingin memiliki tautan ke file di layar pembuka, tautan simbolis harus berada di
"/ home / nama pengguna / Desktop"
direktori.
Dan, tautan simbolik itu sendiri harus memiliki kepemilikan root: root (0: 0), jika tidak tautan tersebut tidak akan berfungsi.
(Ubuntu / Debian dll.)
sumber