শাউন প্রতীকী লিঙ্ক পরিবর্তন করছে না


312

আমি কমান্ডের সাথে একটি প্রতীকী লিঙ্কটির ব্যবহারকারী / গোষ্ঠী পরিবর্তন করার চেষ্টা করছি:

$ chown -h myuser:mygroup mysymbolic/ 

তবে পরিবর্তন হচ্ছে না। আমি রুট হিসাবে লগ ইন করছি। বর্তমান ব্যবহারকারী / গোষ্ঠীটি রুট: রুটে সেট করা আছে। কি ভুল ছিল?


আপনি কোন অপারেটিং সিস্টেম ব্যবহার করেন? মানাউল পৃষ্ঠার সাথে মিল রেখে -h বিকল্পটি কেবলমাত্র সেই সিস্টেমে প্রভাব ফেলবে যা প্রতীকী লিঙ্কের মালিকানা পরিবর্তন করতে পারে।
জিচাও

আপনি কি এনএফএস মাউন্টে আছেন?
অরটোমালা লোকনি

যে কোনও কিছু দিয়ে শেষ হয় /এটি একটি ডিরেক্টরি। আপনার অর্থ mysymbolic, যা প্রতীকী লিঙ্ক, mysymbolic/সম্ভবত এটি নির্দেশিত ডিরেক্টরিটি নয়।
ডেভিড শোয়ার্জ

উত্তর:


381

আমি লক্ষ্য শেষে একটি স্ল্যাশ রাখছিলাম:

chown -h myuser:mygroup mysymbolic/ 

শেষ পর্যন্ত স্ল্যাশ সরিয়ে ফেলে কাজ করে। এখানে সঠিক উপায়:

 chown -h myuser:mygroup mysymbolic

9
উবুন্টুতে আমার জন্য কাজ করে না
Radek

2
বাহ, এটি খুঁজে পেতে আমার কয়েক ঘন্টা সময় নিয়েছে।
সংজ্ঞায়িত করে

54
@ রাডেক উবুন্টুতে আমার পক্ষে এতক্ষণ কাজ করেছিল যতক্ষণ না আমি -hপতাকাটি মনে রেখেছিলাম ।
আইকিউআন্দ্রিয়াস

29
পিছনে স্ল্যাশ সহ -h এবং ছাড়া উবুন্টুতে আমার জন্য কাজ করে ।
friederbluemle

8
আমি 4 বছর পরে বিশ্বাস করতে পারি না, আমি একই সমস্যা ভুগতে আমার অতীত আত্মায় ঝাঁপিয়ে পড়েছি, মিসিন '-হ'!
অ্যান্টনি

29

আমি নিজে চেষ্টা করেছি এবং এটি আমার পক্ষে কাজ করে। আপনার যদি -h থাকে এটি প্রতীকী লিঙ্কটির মালিককে পরিবর্তন করে, তবে আপনি যদি তা না করেন তবে এটি ফাইলটির নিজেই পরিবর্তিত হয় লিঙ্কটি নয়।

এটি প্রতীকী লিঙ্কটি কোনও ডিরেক্টরিতে লিঙ্কযুক্ত বলে মনে হচ্ছে না


2
এটির জন্য মূল্যবান, ওএস এক্স-এর ম্যান পৃষ্ঠাটি (আর্চ) লিনাক্সের চেয়ে -h বিকল্পটিতে অনেক বেশি পরিষ্কার cle "-এইচ ফাইলটি যদি একটি প্রতীকী লিঙ্ক হয় তবে ব্যবহারকারী আইডি এবং / অথবা নিজেই লিঙ্কটির গোষ্ঠী আইডি পরিবর্তন করুন vs" সিস্টেমগুলি যা একটি
সিমলিংকের

6

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

লক্ষ্য একটি ফাইল বা ডিরেক্টরি?

এটি যদি ডিরেক্টরি হয় তবে চেষ্টা করুন-এইচ (আপার কেস এইচ)


লক্ষ্যটি একটি ডিরেক্টরি

ডিরেক্টরি সম্পর্কে আমার সম্পাদিত উত্তর দেখুন

6
থ্রেড নেক্রোমেন্সির জন্য দুঃখিত, তবে আমি উল্লেখ করতে চাই যে সঠিক বাক্য গঠন ছোট হাতের 'এইচ' এর সাথে রয়েছে।


3

মাইউজারের বাড়িতে মাইউজারের মাধ্যমে সেই লিঙ্কটি পুনরুদ্ধার করুন, এবং sudo দ্বারা লক্ষ্য স্থানে এই লিঙ্কটি এমভি করুন।

উদাহরণস্বরূপ: (মাইউজার হিসাবে), ln -s somedir/ linkname (যদি কোনও ব্যবহারকারীর ডিরেক্টরিতে সিমডির / উপস্থিত না থাকে তবে একটি ভাঙা লিঙ্ক হবে)

তারপরে, sudo mv linkname targetlocation(উপলব্ধ একটি বৈধ লিঙ্ক হয়ে যাবে targetlocation/somedir/)


আপনার উত্তরটি বিশদ ছাড়াই এবং সম্পূর্ণরূপে বোঝা শক্ত। আরও বিস্তারিত জানার জন্য দয়া করে আপনার উত্তরটি সংশোধন করার বিষয়টি বিবেচনা করুন।
জেমস মার্টজ

1

আমারও একই সমস্যা ছিল। আমার জন্য, আমি chmod কে যাই বলি না কেন মূল হিসাবে আমি প্রতীকী লিঙ্কটি chmod করতে পারি না। এতে বিভ্রান্তি যুক্ত করতে, নটিলাস মালিক / গোষ্ঠীকে কিছুই হিসাবে দেখায় না। মালিকটি কেবল ফাঁকা ছিল। সুতরাং আমি chmod কাজ না করায় এবং নটিলাস ক্র্যাশ হওয়ায় নটিলাসকে রুট হিসাবে চলমান ব্যবহার করে প্রতীকী লিঙ্কটি পরিবর্তন করার চেষ্টা করেছি !!

তবে আমি মনে করি আমি সমস্যাটি বুঝতে পেরেছি। যে ডিরেক্টরিটি প্রতীকী লিঙ্কটি নির্দেশ করছিল সেটি প্রতীকী লিঙ্কের চেয়ে পৃথক অনুমতি রয়েছে। সুতরাং আমি লক্ষ্য / ডিরেক্টরি ব্যবহারকারীর / গোষ্ঠী নামের chmod'ed করেছি) তারপরে chmod'ed একই প্রতীকী লিঙ্ক এবং এটি কার্যকর! এবং নটিলাসে (মূল অনুমতি সহ) প্রতীকী লিঙ্কের বিশদটি দেখা এখন আর ক্র্যাশ হবে না।

সুতরাং অন্যদের অনুরূপ সমস্যা হওয়ার জন্য, লক্ষ্য ডিরেক্টরি / ফাইলের অনুমতিগুলি পরীক্ষা করুন এবং নিশ্চিত করুন যে এটি যে চিহ্নগুলির সাথে আপনি প্রতীকী লিঙ্কটি সেট করছেন তার সাথে এটি সামঞ্জস্যপূর্ণ।


1

নোট করুন যে ownerকোনও সিমলিংকের পরিবর্তনটি কেবল তখনই কাজ করতে পারে যদি আপনি যে নতুন ব্যবহারকারীকে এটি নির্ধারণ করতে চান তার দ্বারা লক্ষ্য অ্যাক্সেসযোগ্য

উদাহরণস্বরূপ, যদি আপনার টার্গেট কোনও ফোল্ডারের ভিতরে থাকে তবে যে ব্যবহারকারীকে আপনি এটি নির্ধারণ করতে চান তার পর্যাপ্ত অধিকার নেই, ln -s commandআচরণটি এমন যে এটি কোনও কিছুই করবে না।


1

সোলারিসের জন্য (এস 11.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/
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.