ওএসএক্স `chmod -h` পতাকার উবুন্টু সমতুল্য কী?


13

ওএসএক্সে আমি নিজেই সিমলিংকের অনুমতিগুলি সেট করতে পারি (এটি -h ব্যবহারের দিকে নির্দেশিত জিনিসটির পরিবর্তে)। ম্যান পৃষ্ঠা থেকে:

 -h      If the file is a symbolic link, change the mode of the link itself rather than the file that the link points to.

উবুন্টুতে 14.04 এ আমি একটি সিমিলিংকের অনুমতি সেট করার চেষ্টা করেছি, তবে এটি কেবলমাত্র সিমলিংকের লক্ষ্যমাত্রায় সেট করা আছে।

তা থেকে সিমবলিক লিঙ্ক সংক্রান্ত হচ্ছে /home/nagios/.ssh/someprivatekeyথেকে /somewhere/else/privatekey, তাই অনুমতি SSH জন্য গুরুত্বপূর্ণ। আমি কীভাবে এটি অর্জন করতে পারি?


তো, আপনার কেন এই সিমিলিংকের প্রয়োজন?
মুরু

1
আপনি কি নিশ্চিত যে ssh প্রতীকী লিঙ্কের অনুমতিগুলি সম্পর্কে / অন্য কোথাও / অন্য / প্রাইভেটকি-র অনুমতিগুলির বিষয়ে চিন্তা করে না?
র্যান্ডম 832

@ র্যান্ডম 832 হ্যাঁ, আমি ভুল উপসংহারটি আঁকতে পেরেছি, ls -lআউটপুট ( lrwxrwxrwx) এর মধ্যে কীভাবে অনুমতিগুলি প্রদর্শিত হয়েছিল সে সম্পর্কে আমিও কিছুটা বিভ্রান্ত হয়ে পড়েছিলাম ।
রে বুর্গমিস্ট্রে

@ মুরু আমি একটি (বিল্ডার্সভার) ডকার চিত্র তৈরি করছিলাম যা সমস্ত ধরণের সার্ভারগুলিতে অ্যাক্সেসের জন্য এসএসএস কী ব্যবহার করে। আমি বিভিন্ন কারণে ব্যক্তিগত কীটি ভিতরে রাখতে চাই না (যেমন আমি যদি এটি ডকার হাবটিতে হোস্ট করতে চাই)। সুতরাং আমি এটি সিমলিংক করেছি এবং এটি এমন একটি ভলিউমের দিকে নির্দেশ করব যা কেবল একবার চালানোর পরে মাউন্ট হয়ে যায়। যদিও এটি ভাবতে আসুন, আমি কী ব্যবহার করে মূল অবস্থানটিও পরিবর্তন করতে পারতাম .ssh/config:)
রে বুর্গমিস্ট্রে

উত্তর:


18

সম্ভব না. কোনও উপায় নেই যেহেতু একটি সিমিলিংকের অনুমতিগুলি অর্থহীন (কোনও সিমলিংক কোনও ফাইল নয়; এটি কেবল একটি ফাইলকে নির্দেশ করে)। পথ Linux- র সাথে এই কাজ করতে মাধ্যমে হয় ACL এর যদিও।

syMLink হিসাবে ব্যাখ্যা করা হয় ...

নির্মিত প্রতীকী লিঙ্কের জন্য ফাইল মোড বিটের মানগুলি নির্ধারিত। POSIX.1-2-2008 দ্বারা নির্দিষ্ট সমস্ত ইন্টারফেসগুলি আচরণ করবে যেমন প্রতীকী লিঙ্কগুলির বিষয়বস্তু সর্বদা পড়তে পারে, ব্যতীত স্ট্যাট স্ট্রাকচারের st_mode ক্ষেত্রে ফাইল মোড বিটের মান অনির্দিষ্ট না করে।


পার্থক্যটি এখানে: chmod এবং chmod ... এটি বিএসডি বনাম লিনাক্স।


এটি গুরুত্বপূর্ণ কিনা তা নিশ্চিত নয় তবে এসএসএইচ সম্পর্কিত: এটি স্টেট (2) ব্যবহার করে, অনুমতি পেতে lstat (2) ব্যবহার করে না।

  • স্ট্যাটাস () স্ট্যাটাস ফাইলটিকে নির্দেশ করে ফাইলটি বুফে দেয়।
  • lstat () স্ট্যাট () এর সাথে সমান, কেবলমাত্র যদি পথটি প্রতীকী লিঙ্ক হয় তবে লিঙ্কটি নিজেই স্ট্যাট-এড হয়, ফাইলটি এটি উল্লেখ করে না।

2
সিমলিঙ্কগুলিতে অনুমতি সেট করার ক্ষমতা এমনকি সর্বশেষতম সংস্করণেও নির্দিষ্ট করা হয়নি, এটি একটি বিএসডি এক্সটেনশন।
র্যান্ডম 832

1
@ র্যান্ডম 832 এইচ এমএম যা হ্যাঁ আরও তীব্র হতে পারে। আমি আজ সেই বিটটি এসও তে পড়েছি কিন্তু
এটির জন্য

4
ঘটনাক্রমে POSIX fchmodatফাংশনটি নির্দিষ্ট করে , যা প্রতীকী লিঙ্কগুলির মোড (beচ্ছিক বৈশিষ্ট্য - সিস্টেমগুলি সমর্থন করে না লিনাক্স, রিটার্ন ত্রুটি EOPNOTSUPP সহ) পরিবর্তনের জন্য ব্যবহার করা যেতে পারে, তবে এটি chmodব্যবহার করার জন্য আদেশের কিছুই নেই । কেবল -Rপসিক্সে সংজ্ঞায়িত করা হয়।
র্যান্ডম 832

2
sylink অনুমতি লিনাক্সে অর্থহীন । যে সিস্টেমে আপনি এগুলি ( lchmod(2)বা সাথে fchmodat(2)...) পরিবর্তন করতে পারেন , তাদের কোনও অর্থ রয়েছে (অনুমতি দিন / অস্বীকার করুন readlink()(পড়ুন) বা তাদের মাধ্যমে পাথ রেজোলিউশন (কার্যকর করুন)। লেখার অনুমতিগুলি সাধারণত সিমলিংকের লক্ষ্য পরিবর্তন করতে না পারায় তা করে না।
স্টাফেন চেজেলাস 23'15

ইউনিক্স আপনার সাথে একমত হবে না যে "একটি সিমলিংক একটি ফাইল নয়"। একটি সিমিলিংক একটি বিশেষ ফাইল।
হাবস

9

আপনি পারবেন না। অন্তর্নিহিত chmodসিস্টেম কলটি কেবল লিনাক্সে এটিকে সমর্থন করে না এবং এই বিষয়ে লিনাক্স লিংকের অনুমতিগুলির বিষয়েও চিন্তা করে না। থেকে man chmod:

chmod never changes the permissions of symbolic links; the chmod system
call cannot change their permissions.  This is not a problem since  the
permissions  of  symbolic  links  are  never  used.   However, for each
symbolic link listed on the command line, chmod changes the permissions
of  the  pointed-to  file.   In  contrast, chmod ignores symbolic links
encountered during recursive directory traversals.

হার্ড লিঙ্ক বা বাঁধার মাউন্ট হিসাবে, উত্সের অনুমতি ব্যবহার করা হয়, সুতরাং অন্য কোথাও কোনও ফাইলের বিষয়বস্তু প্রতিবিম্বিত করার জন্য তিনটি স্ট্যান্ডার্ড উপায়ের কোনওটিই এতে আপনাকে সহায়তা করতে পারে না।


এই উত্তরটি আমার কাছেও খুব স্পষ্ট ছিল, দুঃখিত আমি উত্তরটি কেবল একটি হিসাবে গ্রহণ করতে পারি!
রে বুর্গমিস্ট্রে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.