একটি পার্টিশন 'noexec' হিসাবে মাউন্ট করা আছে কিনা তা কীভাবে পরীক্ষা করবেন?


14

বর্তমানে, আমি ব্যবহার করছি grep '\s/location/\s.*noexec' /proc/mounts
(এটি কি এটি যাচাই করার সঠিক উপায়?)


1
যতক্ষণ না আপনার কেবল লিনাক্সের নতুন সংস্করণে কাজ করা দরকার ততক্ষণ তা ঠিক।
jordanm

1
পরীক্ষা করে দেখুন এই প্রশ্ন / এ
দাউদ

উত্তর:


13

আপনার মাউন্ট (8) কমান্ডটি ব্যবহার করা উচিত, যা সমস্ত লিনাক্স এবং ইউনিক্স সিস্টেমের বাক্সের বাইরে পাওয়া যায়।

আপনি চালাতে পারেন mountকোন অতিরিক্ত আর্গুমেন্ট ছাড়া, এটা ফাইল-সিস্টেমের ধরন সমস্ত বর্তমানে আপনার সিস্টেমে পার্টিশন মাউন্ট তালিকা প্রস্তুত করা যাবে এবং কোন যেমন বিকল্প, মাউন্ট noexec, rwবা nosuid

উদাহরণ:

% mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
/dev/sda1 on /boot type ext4 (rw,relatime,data=ordered)
/dev/mapper/basement-root on / type ext4 (rw,relatime,data=ordered)

5
লিনাক্সে, আমি /proc/mountsঅগ্রাধিকার হিসাবে ব্যবহার করার পরামর্শ দিই mount। যদি /etc/mtabআপডেট না হয় (যেমন /কেবল পঠনযোগ্য) তবে আউটপুট mountআপ টু ডেট নাও হতে পারে। এছাড়াও, কিছু বিকল্পের জন্য (নয় noexec), mountআপনাকে ফিল্টার আউটপুট দেয় যা কার্নেল এবং মাউন্টের সংস্করণগুলির কয়েকটি সংমিশ্রণের জন্য বিভ্রান্তিকর হতে পারে (যেমন: সময়ের সাথে সম্পর্কিত বিকল্পগুলি সহ)।
গিলস 'অশুভ হওয়া বন্ধ করুন'

পার্টিশনটি অনুসন্ধান করতে ফাইল বা ডিরেক্টরি মাউন্ট করে - df -P ফাইল / যায় / এখানে | লেজ -1 | কাট
ডি

4

ধরে নিই যে আপনি এটি লিনাক্সে চালাচ্ছেন, হ্যাঁ, এটি ঠিক আছে। এটি noexecকমাগুলির মধ্যে বা এর কলামের শুরুতে বা শেষের মধ্যে রয়েছে কিনা তা পরীক্ষা করা আরও দৃ ust় হবে।

grep -Eq '^[^ ]+ /location [^ ]+ ([^ ]*,)?noexec[, ]' /proc/mounts

এটি জোর করে পরিষ্কার করা যেতে পারে:

awk -v location="/location" '$2 == location {exit(!($4 ~ /(^|,)noexec($|,)/))} END {exit(2)}'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.