"/ Usr / bin / ping" কে ডিফল্ট ফেডোরা ব্যাশ রঙের স্কিমে হলুদ-অন-লাল হিসাবে দেখানো হয়েছে - এর অর্থ কী?


32

ডিরেক্টরি তালিকাভুক্ত করার সময় /usr/bin, একটি ping হলুদ-অন-রেড হিসাবে দেখানো হয় তা দেখতে পায় :

পিং হলুদ-অন-লাল দেখানো হয়েছে

ফাইলটির কোনও বিশেষ বৈশিষ্ট্য নেই:

$ file /usr/bin/ping
/usr/bin/ping: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for
GNU/Linux 2.6.32, BuildID[sha1]=2508ea2a85b70c68967b3e6345541430f5317d5f,
stripped

$ stat /usr/bin/ping
   File: '/usr/bin/ping'
   Size: 62096           Blocks: 136        IO Block: 4096   regular file
Device: 802h/2050d      Inode: 4457229     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:ping_exec_t:s0
Access: 2016-11-01 10:02:57.332925719 +0100
Modify: 2016-06-22 14:01:14.000000000 +0200
Change: 2016-07-10 23:41:59.623796126 +0200
Birth: -

মতে কি বিভিন্ন রং টার্মিনালে বোঝাতে চেয়েছেন? , যেখানে আমরা বর্ণের তালিকা বর্ণনার জন্য একটি স্ক্রিপ্ট পেতে পারি, "হলুদ-অন-লাল" অর্থ "সিএ":

ফেডোরার ডিফল্ট বাশ রঙিন প্রকল্পে রঙগুলি দেখা গেছে

"সিএ" এর অর্থ কী? সম্ভবত এর অর্থ এই ফাইলটি অন্য কোথাও থেকে হার্ডলিঙ্কযুক্ত ( /usr/bin/pingএবং /usr/pingএকই ফাইলটি)

পিএস প্রশ্নটি ডার্টি সিডাব্লু'র ব্যাখ্যা দেওয়ার সময় দেখা গিয়েছিল , যেখানে pingউবুন্টুতে কমান্ডটি সেটুইড রুট হিসাবে প্রদর্শিত হয়, যা অদ্ভুত শোনায়:

সেটুইড রুট পিং

উত্তর:


51

এটি নির্দেশ করে যে pingঅতিরিক্ত ক্ষমতা রয়েছে:

$ getcap /usr/bin/ping
/usr/bin/ping = cap_net_raw+ep

বা এমনকি (ফেডোরায়):

$ getcap /usr/bin/ping
/usr/bin/ping = cap_net_admin,cap_net_raw+ep

এটি pingকোনও কাঁচা সকেট খোলার অনুমতি দেয় (এবং আইসিএমপি প্যাকেটগুলি প্রেরণ এবং গ্রহণ করে) হিসাবে চালিত না করে root

setcap(8) এবং capabilities(7) আরও বিশদ দিন।

;তিহাসিকভাবে, pingসেটুইডটি ইনস্টল করা হয়েছিল যাতে এটি rootকাঁচা সকেট ব্যবহার করতে সক্ষম হয়; একবার ক্ষমতাগুলি ব্যবহারযোগ্য হয়ে ওঠে, অনেকগুলি বিতরণগুলি পরিবর্তে সেগুলি ব্যবহার করে চলে যায়, যেহেতু তারা অনুমতিগুলির চেয়ে আরও সূক্ষ্ম-নিয়ন্ত্রণযুক্ত নিয়ন্ত্রণ প্রদান করাকেই বেশি পছন্দনীয় বলে মনে হয়। উবুন্টুতে যদিও ইনস্টলারটির সাথে আপাতদৃষ্টিতে সমস্যা রয়েছে , তাই pingএখনও সেটইউইড ইনস্টল করা আছে root( প্রাসঙ্গিক রক্ষণাবেক্ষণকারী স্ক্রিপ্টে দক্ষতা কোডটি অক্ষম করা আছে, এটি ডিবিয়ান থেকে আসে যেখানে pingকনফিগার করা আছে সম্ভব হলে দক্ষতা ব্যবহার করে করা হয়েছে )।

pingর manpage তার প্রয়োজনীয়তা বর্ণনা এইভাবে:

pingCAP_NET_RAWপ্রোগ্রামটি যদি নন-ইকো ক্যোয়ারীগুলির জন্য ব্যবহৃত হয় ( -Nঅপশন দেখুন ), বা 2) কার্নেল যদি অ-কাঁচা আইসিএমপি সকেটগুলিকে সমর্থন না করে বা 3) যদি ব্যবহারকারীকে আইসিএমপি প্রতিধ্বনি তৈরি করার অনুমতি না দেওয়া হয় তবে এক্সিকিউট করার জন্য দক্ষতার প্রয়োজন হয় 1) সকেট. প্রোগ্রামটি সেট-ইউইড রুট হিসাবে ব্যবহৃত হতে পারে।


1
ধন্যবাদ স্টিফেন আমার সিস্টেম জ্ঞান দুর্বল! আমি এমনকি সক্ষমতার অস্তিত্ব জানতাম না, এবং তারা কার্নেল ২.২ থেকে ... জানুয়ারী, 26, 1999-তে রয়েছেcapabilities(7)ম্যান পেজ অনুসারে , কোনও মানদণ্ড ক্ষমতা পরিচালনা করে না, তবে লিনাক্স সক্ষমতার বাস্তবায়ন প্রত্যাহারকৃত পসআইএক্স.১ খসড়া খসড়া মানের উপর ভিত্তি করে; দেখতে এখানে
ডেভিড Tonhofer

তার স্ক্রিন স্ন্যাপশট suid মূল নির্দেশ করে।
জোশুয়া

1
উবুন্টুতে জোশুয়া হ্যাঁ, তবে প্রশ্ন ফেডোরা (প্রথম স্ক্রিনশট) নিয়ে।
স্টিফেন কিট

2
এটি উল্লেখযোগ্য যে অন্য সিস্টেমে সেটুইড রুটের কারণটি হ'ল (আইসিএমপি প্যাকেটগুলি প্রেরণ এবং গ্রহণ করতে সক্ষম হওয়া) কেবলমাত্র একটি কম সূক্ষ্ম অনুমতি দ্বারা।
কেভিন রেইড

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