سؤال chown لا يغير الارتباط الرمزي


أحاول تغيير المستخدم / المجموعة لرابط رمزي باستخدام الأمر:

$ chown -h myuser:mygroup mysymbolic/ 

لكن هذا لا يتغير. أنا مسجل الدخول كجذر. يتم تعيين المستخدم / المجموعة الحالية على الجذر: الجذر. ماذا حصل؟


282
2017-11-09 13:02


الأصل


ما هو نظام التشغيل الذي تستخدمه؟ اعتمادًا على صفحة manaul ، لا يؤثر الخيار -h إلا على الأنظمة التي يمكنها تغيير ملكية الارتباط الرمزي. - Jichao
هل أنت على جبل NFS؟ - Ortomala Lokni
أي شيء ينتهي مع / انه دليل. أنت تعني mysymbolic، وهو الرابط الرمزي ، لا mysymbolic/ وهو على الأرجح الدليل الذي يشير إليه. - David Schwartz


الأجوبة:


كنت أضع شرطة مائلة في نهاية الهدف:

chown -h myuser:mygroup mysymbolic/ 

فقط إزالة شرطة مائلة في النهاية ويعمل. إليك الطريقة الصحيحة:

 chown -h myuser:mygroup mysymbolic

353
2017-11-09 13:16



لا يعمل بالنسبة لي على أوبونتو - Radek
واو ، هذا استغرق مني ساعات للعثور عليه. - defines
Radek عملت لي على أوبونتو طالما تذكرت -hالعلم. - IQAndreas
يعمل لي على أوبونتو مع  -h و بدون الخط المائل. - friederbluemle
لا أستطيع أن أصدق بعد 4 سنوات ، لقد صدمت في نفسي السابقة التي تعاني من نفس المشكلة ، و missin '-h'! - Antony D'Andrea


لقد حاولت هذا بنفسي وهو يعمل بالنسبة لي. إذا كان لديك --h يتغير مالك الرابط الرمزي ، ولكن إذا لم تقم بتغيير مالك الملف نفسه وليس الارتباط.

ولكن يبدو أنه لا يعمل من ارتباط رمزي مرتبط إلى دليل


26
2017-11-09 13:08



بالنسبة لما يستحق ، فإن صفحة الرجل على OS X تكون أكثر وضوحًا على خيار -h أكثر من الخيار الموجود على (Arch) Linux. "-h إذا كان الملف عبارة عن ارتباط رمزي ، قم بتغيير معرف المستخدم و / أو معرف المجموعة للارتباط نفسه." مقابل "-h ، - لا يؤثر الاختلاف على الارتباطات الرمزية بدلاً من أي ملف مرجعي (مفيد فقط على الأنظمة التي يمكنها تغيير ملكية أحد الروابط الرمزية) " - Matijs


كنت غير قادر على ذلك chown دليل حتى مع -h ولكن استخدام المسار الكامل يعمل.

# 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





هل الهدف ملف أو دليل؟

إذا كان دليلاً ، فجرب -H (الحالة العليا H)


4
2017-11-09 13:08



الهدف هو دليل
راجع الرد الذي تم تعديله حول الدليل
عذرا ل necromancy موضوع ، ولكن أود أن أشير إلى أن الصيغة الصحيحة هي مع "ح" الصغيرة.


إعادة إنشاء هذا الرابط من قبل myuser في منزل myuser ، و mv هذا الارتباط إلى الموقع المستهدف من قبل sudo.

فمثلا: (مثل myuser) ، ln -s somedir/ linkname (سوف يكون رابط مكسور إذا كان somedir / غير موجود في دليل المستخدم)

ثم، sudo mv linkname targetlocation (سيصبح رابطًا صالحًا targetlocation/somedir/ وجد)


3
2018-04-26 09:15



إجابتك هي دون تفاصيل ويصعب فهمها. يرجى النظر في مراجعة إجابتك لتقديم مزيد من التفاصيل. - KronoS


ببساطة.

chown -h myuser:mygroup <symlink> [without trailing slash]

يجب أن يكون كافيا والعمل!


2
2017-12-05 11:02





كان لدي مشكلة مماثلة. بالنسبة لي ، لم أستطع تحريك الارتباط الرمزي حتى كجذر بغض النظر عن كيف اتصلت بـ chmod. لإضافة الارتباك إلى هذا ، كان nautilus تظهر المالك / المجموعة على أنها لا شيء. كان المالك فارغًا. لذلك حاولت تغيير الارتباط الرمزي باستخدام نوتيلوس يعمل كجذر منذ لم يعمل chmod وتحطمت نوتيلوس !!

لكن أعتقد أنني توصلت إلى المشكلة. الدليل الذي يشير إليه الارتباط الرمزي له أذونات مختلفة عن الارتباط الرمزي. لذا قمت بعمل chmod'ed الدليل الهدف (باستخدام -h) إلى اسم المستخدم / المجموعة. ثم chmod'ed الارتباط الرمزي إلى نفسه وعملت! ومشاهدة تفاصيل الارتباط الرمزي في nautilus (مع أذونات الجذر) الآن لم تعد تعطل.

لذلك بالنسبة للآخرين الذين لديهم مشكلة مشابهة ، تحقق من أذونات الدليل / الملف المستهدف وتأكد من توافقه مع الأذونات التي تقوم بتعيين الارتباط الرمزي إليها.


1
2017-09-16 17:46





لاحظ أن تغيير owner يمكن أن يعمل symlink فقط إذا كان الهدف يمكن الوصول من قبل المستخدم الجديد الذي تريد تخصيصه له.

على سبيل المثال ، إذا كان هدفك موجودًا داخل مجلد لا يملك المستخدم الذي تريد تعيينه له حقوقًا كافية ، فإن ln -s command السلوك هو أنه لن يفعل شيئا على الإطلاق.


1
2017-11-01 19:12





بالنسبة لـ Solaris (تم التحقق من S11.3) للحصول على ارتباط رمزي إلى دليل ، ستحتاج إلى تشغيله

root@ac11x017:/var/tmp$ ls -lal dumpdir
lrwxrwxrwx   1 root     root          16 Jun 15 09:08 dumpdir -> /data/dumpdir/
root@ac11x017:/var/tmp$ chown -RP oracle:oinstall dumpdir
lrwxrwxrwx   1 oracle   oinstall      16 Jun 15 09:09 dumpdir -> /data/dumpdir/

1
2017-08-11 05:24