আমি কীভাবে ফাইল পথে প্রতিটি উপাদানগুলির অনুমতিগুলি তালিকাভুক্ত করতে পারি?


10

কখনও কখনও কোনও পথ অ্যাক্সেসের অধিকার সীমাবদ্ধ তা কোন ডিরেক্টরিতে নির্ধারণ করা প্রয়োজন। এখানে একটি উদাহরণ:

$ ls /sys/kernel/debug/usb/devices
ls: cannot access /sys/kernel/debug/usb/devices: Permission denied
$ cat /sys/kernel/debug/usb/devices
cat: /sys/kernel/debug/usb/devices: Permission denied

ব্যবহারকারীর অধিকারগুলি সীমাবদ্ধ ছিল না lsবা দেখাও যায় না cat

পথে প্রতিটি উপাদান (ডিরেক্টরি এবং ফাইল) এর অ্যাক্সেসের অধিকারগুলি দেখানোর সহজ উপায় কী? আমি মূলত ইউনিক্সের মতো সিস্টেমগুলির সমাধানগুলিতে আগ্রহী।

উত্তর:


17

বেসিক ইউনিক্স অনুমতিগুলির জন্য (মালিক / গ্রুপ / অন্যান্য), ব্যবহার -লিনাক্সেরnamei অংশ যা ব্যবহার করুন :

# নাম -l / sys / কার্নেল / ডিবাগ / ইউএসবি / ডিভাইস
f: / sys / কার্নেল / ডিবাগ / ইউএসবি / ডিভাইস
drwxr-xr-x মূল রুট /
dr-xr-xr-x root root sys
drwxr-xr-x রুট রুট কার্নেল
drwx ------ মূল রুট ডিবাগ
drwxr-xr-x রুট রুট ইউএসবি
-r - r - r-- রুট রুট ডিভাইস

1

নীচে একটি সরল বোর্নের মতো শেল স্ক্রিপ্ট রয়েছে। এটি dirnameকমান্ডটি ব্যবহার না করা অবধি অবধি নিয়মিত উপাদানগুলি পর্যায়ক্রমে অপসারণ করে পাথটি অনুসরণ করে the আপনি হয় /বা .শেষে পাবেন।

#!/bin/sh

f="$1"
p=
while test "$f" != "$p" ; do
    ls -ld "$f"
    p="$f"
    f="$(dirname "$f")"
done

sudoসীমিত অ্যাক্সেস অধিকার সহ উপাদানগুলি দেখতে সক্ষম হতে একটি একক লাইনে :

f=/sys/kernel/debug/usb/devices p= ; while test "$f" != "$p" ; do sudo ls -ld "$f" ; p="$f" ; f="$(dirname "$f")" ; done

উদাহরণ আউটপুট

-r--r--r-- 1 root root 0 Dec  5 10:36 /sys/kernel/debug/usb/devices
drwxr-xr-x 3 root root 0 Dec  5 10:36 /sys/kernel/debug/usb
drwx------ 19 root root 0 Dec  5 10:36 /sys/kernel/debug
drwxr-xr-x 7 root root 0 Dec  5 10:37 /sys/kernel
drwxr-xr-x 13 root root 0 Dec  5 10:37 /sys
drwxr-xr-x 27 root root 4096 Dec  3 09:39 /

পসিক্স এসিএল

শেষে ls -lশো থেকে অনুমতি স্ট্রিংটি সম্পূর্ণ অ্যাক্সেসের অধিকারগুলি দেখতে আপনাকে +এসিএল তালিকাবদ্ধ getfaclকরতে হবে:

#!/bin/sh

f="$1"
p=
while test "$f" != "$p" ; do
    getfacl "$f"
    p="$f"
    f="$(dirname "$f")"
done
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.