it-swarm.asia

تشاون لا تغيير الارتباط الرمزي

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

$ chown -h myuser:mygroup mysymbolic/ 

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

302
rizidoro

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

chown -h myuser:mygroup mysymbolic/ 

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

 chown -h myuser:mygroup mysymbolic
372
rizidoro

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

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

29
Arto Uusikangas

لم أتمكن من chown directory حتى مع -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
Steve Tauber

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

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

4
Michael

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

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

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

3
wangdong

ببساطة.

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

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

3
Aziz Zoaib

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

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

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

1
cgrey

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

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

1
AnomalySmith

[email protected]:/var/tmp$ ls -lal dumpdir
lrwxrwxrwx   1 root     root          16 Jun 15 09:08 dumpdir -> /data/dumpdir/
[email protected]:/var/tmp$ chown -RP Oracle:oinstall dumpdir
lrwxrwxrwx   1 Oracle   oinstall      16 Jun 15 09:09 dumpdir -> /data/dumpdir/
1
RaamEE