এক্স (এক্সিকিউট) অনুমতি ইউনিক্স সকেটে কী করে?


11

আমার অভিজ্ঞতার ভিত্তিতে অপ্রত্যাশিত ব্যবহারকারী এক্স বিট সেট ব্যতীত ইউনিক্স সকেটটি অ্যাক্সেস করতে পারবেন না he এই বিট ঠিক কি করে? ধন্যবাদ


এটি সকেটে বা ডিরেক্টরিতে অনুমতি?
রুই এফ রিবেইরো

একটি সকেটে। ডিরেক্টরিতে মোড 0755 রয়েছে, সুতরাং ব্যবহারকারী সামগ্রীটি পর্যবেক্ষণ করতে পারবেন। সকেটের মোড 0644 রয়েছে, সুতরাং যৌক্তিকভাবে ব্যবহারকারীর (যা "অন্যদের" সাথে সম্পর্কিত কারণ তিনি সকেটের গোষ্ঠীর মালিকানাধীন সকেটের মালিক নয়) সকেটে লিখতে সক্ষম হবে। তবে ব্যবহারকারী সকেটে 0777 মোড প্রয়োগ না করা পর্যন্ত ব্যবহারকারী অনুমতি বার্তা অস্বীকার করে।
Тюхтин

2
@ ВладимирТюхтин, 0644মানে কেবলমাত্র গ্রুপ সদস্য এবং "অন্যদের" জন্য অনুমতি পড়ার অনুমতি রয়েছে, সুতরাং কেবল মালিক সকেটে অ্যাক্সেস করতে সক্ষম হবেন (যেহেতু লেখার অনুমতি এটি নিয়ন্ত্রণ করে)। 0666, বা 0222যেমন পড়ার অনুমতি প্রয়োজন হয় না, প্রত্যেকের অ্যাক্সেস দেওয়ার জন্য যথেষ্ট। তবে, প্রত্যেককে অনুমতি দেওয়ার পরিবর্তে, অ্যাক্সেসের অনুমতি দেওয়ার জন্য আমি গ্রুপগুলি ব্যবহার করে দেখব।
ilkkachu

উত্তর:


9

কিছুই আমি দেখতে পাচ্ছি না।

লিনাক্স man পৃষ্ঠা UNIX (7) বলছেন যে একটি সকেট ধারণকারী ডিরেক্টরি অনুমতি স্বাভাবিকভাবে প্রযোজ্য (যেমন আপনার যা দরকার +xউপর /fooসাথে সংযোগ স্থাপনের জন্য /foo/sockএবং, +wউপর /fooতৈরি করতে /foo/sock) আর যে লেখ অনুমতি সকেট নিজেই সংযোগ নিয়ন্ত্রণ:

লিনাক্সে, একটি স্রোত সকেট অবজেক্টের সাথে সংযোগ স্থাপনের জন্য সেই সকেটে লেখার অনুমতি প্রয়োজন; একটি ডেটাগ্রাম সকেটে একটি ডেটাগ্রাম প্রেরণের জন্য সেই সকেটে লেখার অনুমতি প্রয়োজন।

স্পষ্টতই কিছু অন্যান্য সিস্টেম আলাদা আচরণ করে:

পসিক্স সকেট ফাইলে অনুমতিগুলির প্রভাব সম্পর্কে কোনও বক্তব্য দেয় না এবং কিছু সিস্টেমে (যেমন, পুরানো বিএসডি) সকেটের অনুমতিগুলি উপেক্ষা করা হয়। সুরক্ষার জন্য পোর্টেবল প্রোগ্রামগুলি এই বৈশিষ্ট্যটির উপর নির্ভর করা উচিত নয়।

unix(4)অন ​​ফ্রিবিএসডি অনুরূপ প্রয়োজনীয়তার বর্ণনা দেয়। লিনাক্স ম্যান পৃষ্ঠাটি কোনও সিস্টেমে সকেট অ্যাক্সেসের জন্য ডিরেক্টরি অনুমতিগুলি উপেক্ষা করে কিনা তা বলেনি ।

xসকেট থেকে বিট অপসারণ করা সকেটটি কার্যকর করার চেষ্টা করার জন্য আলাদা ত্রুটি দেওয়ার প্রভাব ফেলেছে বলে মনে হচ্ছে, তবে এটি ব্যবহারিক পার্থক্যের খুব বেশি নয়:

$ ls -l test.sock
srwxr-xr-x 1 user user 0 Jun 28 16:24 test.sock=
$ nc -U ./test.sock
Hello
$ ./test.sock
bash: ./test.sock: No such device or address
$ chmod a-x test.sock
$ nc -U ./test.sock
Hello
$ ./test.sock
bash: ./test.sock: Permission denied

(আমি এটিও পরীক্ষা করেছিলাম যে wদেবিয়ান লিনাক্স ৪.৯.০ এ সকেট অ্যাক্সেস করার জন্য কেবল কিছুটা গুরুত্বপূর্ণ মনে হয়েছে।)

সম্ভবত আপনি যে সকেটগুলি বোঝাতে চেয়েছিলেন তা ব্যবহারকারীর কাছ থেকে সমস্ত অনুমতি বিট সরানো হয়েছে, বা আপনি xডিরেক্টরিটিতে বিটটি বোঝাতে চেয়েছিলেন ?

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