কীভাবে সমস্ত SID / SGID ফাইল অনুসন্ধান করবেন?


11

ওয়েবে আমি যে সমস্ত হাওটো খুঁজে পাই সেগুলিতে বলা হয়েছে:

Find all SUID files:
find / -perm -4000 -print
Find all SGID files:
find / -perm -2000 -print 

তবে এটি সত্য নয়। দেখা:

$ ls -lah test
-r-sr-xr-x  1 user  user     0B Jan 24 22:47 test
$ 
$ 
$ stat -x test | grep Mode
  Mode: (4555/-r-sr-xr-x)         Uid: ( 1000/    user)  Gid: ( 1000/    user)
$ 
$ 
$ find test -perm 4000
$ find test -perm 2000
$

প্রশ্ন: তাহলে সত্যটা কী? আমি কীভাবে সত্যিই সমস্ত SID / SGID ফাইল তালিকাভুক্ত করতে পারি?


আহ, তাহলে কেন এই "সত্য নয়"? তুমি করেছ আর EAD টি তিনি এফ riendly এম anual, ডান? ফাইলের অনুমতি বিটগুলি হুবহু মোড (অষ্টাল বা প্রতীকী)।
0xC0000022L

** পরীক্ষা ** একটি ফাইল। ডিরেক্টরি অনুসন্ধান করুন। সুতরাং পরীক্ষা যেখানে থাকে সেই ডিরেক্টরিতে আপনার ব্যবহার করা উচিত।
নীল 21

1
@ নিলস: অসত্য। find(জিএনইউ সঠিক হতে পারে) একইভাবে ডিরেক্টরি এবং ফাইল গ্রহণ করবে। সে -permস্যুইচটির পয়েন্টটি সহজেই মিস করে । ম্যানুয়ালটি পড়া সাহায্য করবে।
0xC0000022L

@ 0xC0000022L আকর্ষণীয়। CentOS 5 এ আমার লিনাক্স-ম্যানপেজ আমাকে বলে যে এটি কেবল ডিরেক্টরিগুলি নেবে। এটি কোনও ফাইলের মধ্যে চালানোর কি খুব জ্ঞান আছে?
নীল 21

@ নীল: না, এটি করার কোনও বিশেষ ধারণা নেই। তবে এটি আপনাকে এই নির্বোধতা থেকে রোধ করবে না। নির্বিশেষে, প্রথম নজরে আমিও এটিকে বিষয়টি বলে মনে করেছি। হায়, এটি এই প্রশ্নের জন্য নয়। আপনি এটির ব্যবহার করে বা এটি প্রতিরোধ করে find $FILE -perm /7777কিনা তা দেখতে আপনি এই জাতীয় কোনও ফাইলের জন্য কিছু বিট পরীক্ষা করে চেষ্টা findকরতে পারেন।
0xC0000022L 21

উত্তর:


14

আপনি যদি কোনও বিটের পরীক্ষা করতে চান তবে ব্যবহার করুন /। অর্থাত আপনার ব্যবহারের ক্ষেত্রে:

find "$DIRECTORY" -perm /4000

এবং:

find "$DIRECTORY" -perm /2000

বা সংযুক্ত:

find "$DIRECTORY" -perm /6000

আপনি জিএনইউর পক্ষে যুক্তি হিসাবে ফোল্ডার এবং ফাইল উভয়ই ব্যবহার করতে পারেন find

আরেকটি, আইএমও আরও ভাল পঠনযোগ্য, পদ্ধতিটি মিমোনিক শর্টকাট ব্যবহার করছে। অর্থাৎ,

find "$DIRECTORY" -perm /u=s,g=s

গুহাত সম্রাট

মনে রাখবেন যে এর রূপগুলি findভিন্ন হয়। তারা অন্যরকম আচরণও করতে পারে। সর্বদা বন্ধুত্বপূর্ণ ম্যানুয়াল (আরটিএফএম) পড়ুন।


8

নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনি SID অনুমতিযুক্ত সমস্ত বাইনারি গণনা করতে পারেন। -perm -u=sপতাকা findটুল কৌতুক আছে:

find / -perm -u=s -type f 2>/dev/null
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.