Pertanyaan chown tidak mengubah tautan simbolik


Saya mencoba mengubah pengguna / grup tautan simbolis dengan perintah:

$ chown -h myuser:mygroup mysymbolic/ 

Tapi itu tidak berubah. Saya login sebagai root. Pengguna / grup saat ini diatur ke root: root. Apa yang salah?


273
2017-11-09 13:02


asal


Sistem operasi apa yang Anda gunakan? Acoording ke halaman manaul, opsi -h hanya berpengaruh pada sistem yang dapat mengubah kepemilikan tautan simbolis. - Jichao
Apakah Anda ada di gunung NFS? - Ortomala Lokni
Apapun yang berakhir dengan / adalah sebuah direktori. Maksud Anda mysymbolic, yang merupakan tautan simbolis, bukan mysymbolic/ yang mungkin direktori yang ditunjuknya. - David Schwartz


Jawaban:


Saya menempatkan garis miring di akhir target:

chown -h myuser:mygroup mysymbolic/ 

baru saja menghapus garis miring pada akhirnya dan berhasil. Inilah cara yang benar:

 chown -h myuser:mygroup mysymbolic

341
2017-11-09 13:16



tidak bekerja untuk saya di ubuntu - Radek
Wow, ini butuh waktu berjam-jam untuk menemukan. - defines
@Radek Ini bekerja untuk saya di Ubuntu selama saya ingat -h bendera. - IQAndreas
Bekerja untuk saya di Ubuntu dengan  -h dan tanpa garis miring belakang. - friederbluemle
Aku tidak bisa percaya setelah 4 tahun, aku telah menabrak diriku yang lalu yang mengalami masalah yang sama, yang terlewatkan '-h'! - Antony D'Andrea


Saya sudah mencoba ini sendiri dan itu berhasil untuk saya. Jika Anda memiliki -h itu mengubah pemilik tautan simbolik, tetapi jika Anda tidak maka itu mengubah pemilik file itu sendiri dan bukan tautan.

Tetapi tampaknya tidak berfungsi dari tautan simbolis dihubungkan ke suatu direktori


26
2017-11-09 13:08



Untuk apa nilainya, halaman manual pada OS X jauh lebih jelas pada opsi -h daripada yang ada di (Arch) Linux. "-H Jika file adalah tautan simbolis, ubah ID pengguna dan / atau ID grup dari tautan itu sendiri." Vs. "-h, --no-dereference memengaruhi tautan simbolis daripada file yang direferensikan (hanya berguna pada sistem yang dapat mengubah kepemilikan symlink) ” - Matijs


Saya tidak dapat melakukannya chown sebuah direktori bahkan dengan -h tetapi menggunakan jalur penuh bekerja.

# ls -al
drwxr-xr-x 2 deploy deploy 4096 Dec 30 10:29 .
drwxr-xr-x 3 deploy deploy 4096 Dec 30 08:59 ..
lrwxrwxrwx 1 root   root     32 Dec 30 09:02 apps -> /u/apps/
# chown -h deploy:deploy apps
# ls -al
drwxr-xr-x 2 deploy deploy 4096 Dec 30 10:29 .
drwxr-xr-x 3 deploy deploy 4096 Dec 30 08:59 ..
lrwxrwxrwx 1 root   root     32 Dec 30 09:02 apps -> /u/apps/
# chown -h deploy:deploy apps/
# ls -al
drwxr-xr-x 2 deploy deploy 4096 Dec 30 10:29 .
drwxr-xr-x 3 deploy deploy 4096 Dec 30 08:59 ..
lrwxrwxrwx 1 root   root     32 Dec 30 09:02 apps -> /u/apps/
# pwd 
/var/www/html
# chown -h deploy:deploy /var/www/html/apps
# ls -al
drwxr-xr-x 2 deploy deploy 4096 Dec 30 10:29 .
drwxr-xr-x 3 deploy deploy 4096 Dec 30 08:59 ..
lrwxrwxrwx 1 deploy deploy   32 Dec 30 09:02 apps -> /u/apps/

5
2017-12-30 16:43





Apakah target file atau direktori?

Jika itu adalah direktori maka coba -H (huruf besar H)


4
2017-11-09 13:08



targetnya adalah direktori
lihat balasan saya yang sudah diedit tentang direktori
Maaf untuk thread necromancy, tapi saya ingin menunjukkan bahwa sintaks yang benar adalah dengan huruf kecil 'h'.


Buat kembali tautan itu oleh pengguna saya di rumah myuser, dan mv tautan ini ke lokasi target dengan sudo.

Sebagai contoh: (sebagai myuser), ln -s somedir/ linkname (akan menjadi tautan yang rusak jika somedir / tidak ada di direktori pengguna)

Kemudian, sudo mv linkname targetlocation (akan menjadi tautan valid yang disediakan targetlocation/somedir/ ada)


3
2018-04-26 09:15



Jawaban Anda tanpa detail dan sulit dipahami sepenuhnya. Silakan mempertimbangkan merevisi jawaban Anda untuk memberikan detail lebih lanjut. - KronoS


secara sederhana.

chown -h myuser:mygroup <symlink>

seharusnya cukup dan berhasil!


2
2017-12-05 11:02





Saya memiliki masalah serupa. Bagi saya, saya tidak dapat menggunakan tautan simbolik bahkan sebagai root terlepas dari bagaimana saya memanggil chmod. Untuk menambah kebingungan ini, nautilus menunjukkan pemilik / grup sebagai tidak ada. Pemiliknya hanya kosong. Jadi saya mencoba mengubah tautan simbolik menggunakan nautilus yang berfungsi sebagai root karena chmod tidak berfungsi dan nautilus jatuh !!

Tapi saya pikir saya tahu masalahnya. Direktori link simbolis menunjuk memiliki izin yang berbeda dari tautan simbolis. Jadi saya chmod'ed direktori target (menggunakan -h) ke nama pengguna / grup saya. Kemudian chmod'ed tautan simbolis ke yang sama dan itu berhasil! Dan melihat detail tautan simbolik di nautilus (dengan izin root) sekarang tidak lagi mogok.

Jadi bagi orang lain yang memiliki masalah serupa, periksa izin direktori / file target dan pastikan itu kompatibel dengan izin yang Anda tetapkan tautan simbolis.


1
2017-09-16 17:46