ব্যবহারকারীর জন্য ফাইলের কার্যকর অনুমতি পরীক্ষা করুন


24

কোনও নির্দিষ্ট ব্যবহারকারীর জন্য কোনও ফাইলের কার্যকর অনুমতি পরীক্ষা করা কি সম্ভব?

আমি সাধারণত su userফাইলটি অ্যাক্সেস করেই এটি করি, তবে আমি এখন এটি কোনও শেল ছাড়াই (যেমন সিস্টেম ব্যবহারকারী) ব্যবহারকারীর উপর এটি পরীক্ষা করতে চাই

উত্তর:


23

sudoআদেশের সঙ্গে একটি নির্দিষ্ট ব্যবহারকারী হিসাবে কিছু চালাতে পারেন -uবিকল্প। শাঁস নিয়ে চিন্তিত না catহয়ে আপনার টার্গেট ব্যবহারকারী হিসাবে কেবল আপনার ফাইলটি (বা কার্যকর হোক) চালানোর চেষ্টা করুন:

$ sudo -u apache cat .ssh/authorized_keys 
cat: .ssh/authorized_keys: Permission denied

catযদিও এটি সম্ভবত সেরা পছন্দ নয় ... এটি আপনি একটি বড় ফাইল বা বাইনারি ফাইল পরীক্ষা করছেন ...
অ্যালেক্সিস উইলক

24

আমি স্ক্রিপ্টগুলির মতো কিছু ব্যবহার করতে সুবিধাজনক পেয়েছি

 sudo -u <user> test -r <file-to-test> && ...

1
সর্বোত্তম উত্তর, যেমন আপনি ফাইলটি পরিবর্তিত / তৈরি না করে পঠনযোগ্য (-r), লিখনযোগ্য (-w) এবং এক্সিকিউটেবল (-x) এর জন্য পরীক্ষা করতে পারেন। man testআরও তথ্যের জন্য
থমাস

12
sudo -u <user> test -r <file-to-test>; echo $?

echo $?অংশ ইচ্ছার আউটপুট পরীক্ষা থেকে প্রস্থান অবস্থা।

এখানে শুধু মনে রাখবেন যে 0অপারেশন সফল হলে আউটপুট হবে ! বা শূন্য নয়, যেমন 1, না হলে।

ভালো লেগেছে @ থমাস এর মন্তব্য @ user72025 এর উত্তরে, ব্যবহার man testমত আরো অপারেশন পরীক্ষার পেতে, test -xপরীক্ষা executability চাই, test -wwritability জন্য, ইত্যাদি


1
আমার জন্য, এটি সবচেয়ে সহায়ক উত্তর। ব্যবহারকারীর দ্বারা 72025 নিকটবর্তী ছিল, তবে ফলাফল কী হয়েছিল তা আমার কোনও ধারণা ছিল না। আপনি এটা পরিষ্কার করেছেন। ধন্যবাদ। ভোট দেওয়া।
অনুপ্রেরণা

6

আমি খুঁজে পেয়েছি আপনি su -s <shellname> <username>একটি নির্দিষ্ট ব্যবহারকারী হিসাবে একটি নির্দিষ্ট শেল প্রবেশ করতে ব্যবহার করতে পারেন । তারপরে আপনি যথারীতি ফাইলের অনুমতি পরীক্ষা করতে পারেন।

উদাহরণ:

su -s /bin/bash Debian-exim
touch /etc/exim4/exim4.conf.template

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