सवाल चोटी प्रतीकात्मक लिंक नहीं बदल रहा है


मैं कमांड के साथ एक प्रतीकात्मक लिंक के उपयोगकर्ता / समूह को बदलने की कोशिश कर रहा हूं:

$ chown -h myuser:mygroup mysymbolic/ 

लेकिन यह नहीं बदल रहा है। मैं रूट के रूप में लॉग इन हूँ। वर्तमान उपयोगकर्ता / समूह रूट पर सेट है: रूट। क्या गलत हुआ?


282
2017-11-09 13:02


मूल


आप किस ऑपरेटिंग सिस्टम का उपयोग करते हैं? मैनौल पेज पर आधारित, -एच विकल्प केवल उन सिस्टम पर प्रभाव डालता है जो प्रतीकात्मक लिंक के स्वामित्व को बदल सकते हैं। - Jichao
क्या आप एनएफएस माउंट पर हैं? - 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 साल बाद विश्वास नहीं कर सकता, मैंने अपने पिछले आत्म में एक ही समस्या को पीड़ित कर दिया है, मिसिन '-एच'! - Antony D'Andrea


मैंने इसे स्वयं करने की कोशिश की है और यह मेरे लिए काम करता है। यदि आपके पास है - यह प्रतीकात्मक लिंक के मालिक को बदलता है, लेकिन यदि आप नहीं करते हैं तो यह फ़ाइल के स्वामी को बदलता है, न कि लिंक।

लेकिन ऐसा लगता है कि प्रतीकात्मक लिंक का काम किसी निर्देशिका से जुड़ा हुआ नहीं है


26
2017-11-09 13:08



इसके लायक होने के लिए, ओएस एक्स पर मैन पेज (आर्क) लिनक्स पर एक विकल्प के मुकाबले बहुत स्पष्ट है। "-एच अगर फ़ाइल एक प्रतीकात्मक लिंक है, तो उपयोगकर्ता आईडी और / या लिंक की समूह आईडी को बदलें।" बनाम "-h, --no-dereference किसी भी संदर्भित फ़ाइल के बजाय प्रतीकात्मक लिंक को प्रभावित करता है (केवल उपयोगी सिस्टम जो सिमलिंक के स्वामित्व को बदल सकते हैं) " - 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





क्या लक्ष्य एक फ़ाइल या निर्देशिका है?

यदि यह एक निर्देशिका है तो कोशिश करें- एच (ऊपरी मामला एच)


4
2017-11-09 13:08



लक्ष्य एक निर्देशिका है
निर्देशिका के बारे में मेरा संपादित जवाब देखें
थ्रेड नेक्रोमेंसी के लिए खेद है, लेकिन मैं यह इंगित करना चाहता हूं कि सही वाक्यविन्यास लोअरकेस 'एच' के साथ है।


Myuser के घर पर Myuser द्वारा उस लिंक को मनोरंजन करें, और इस लिंक को सुडो द्वारा लक्षित स्थान पर एमवी करें।

उदाहरण के लिए: (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 कहलाता हूं। इस पर भ्रम जोड़ने के लिए, नॉटिलस मालिक / समूह को कुछ भी नहीं दिखा रहा था। मालिक बस खाली था। इसलिए मैंने रूट के रूप में चलने वाले नॉटिलस का उपयोग करके प्रतीकात्मक लिंक बदलने की कोशिश की क्योंकि चूम काम नहीं कर रहा था और नॉटिलस दुर्घटनाग्रस्त हो गया !!

लेकिन मुझे लगता है कि मैंने समस्या का पता लगाया। निर्देशिका प्रतीकात्मक लिंक प्रतीकात्मक लिंक की तुलना में अलग अनुमतियों के लिए इंगित कर रहा था। तो मैंने अपने उपयोगकर्ता / समूह नाम पर लक्ष्य निर्देशिका (-h) का उपयोग करके chmoded किया। फिर उसके लिए प्रतीकात्मक लिंक chmoded और यह काम किया! और नॉटिलस में प्रतीकात्मक लिंक के विवरण (रूट अनुमतियों के साथ) अब अब क्रैश नहीं है।

इसलिए अन्य लोगों के लिए ऐसी ही समस्या है, लक्ष्य निर्देशिका / फ़ाइल की अनुमतियों की जांच करें और सुनिश्चित करें कि यह उन अनुमतियों के अनुकूल है जिनके लिए आप प्रतीकात्मक लिंक सेट कर रहे हैं।


1
2017-09-16 17:46





ध्यान दें कि बदल रहा है owner एक सिम्लिंक का लक्ष्य केवल तभी काम कर सकता है जब लक्ष्य है सुलभ नए उपयोगकर्ता द्वारा आप इसे असाइन करना चाहते हैं।

उदाहरण के लिए, यदि आपका लक्ष्य उस फ़ोल्डर के अंदर है जिसे उपयोगकर्ता आप असाइन करना चाहते हैं, तो उसके पास पर्याप्त अधिकार नहीं हैं 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