মাউন্ট / fstab এর জন্য ডিফল্ট মাউন্ট সেটিংস কি?


18

নন রুট বিভাজনের জন্য ডিফল্ট মাউন্টিং বিকল্পগুলি কী কী?

মাউন্ট জন্য লোক প্রবেশ জানায় ...

defaults - use default options: rw, suid, dev, exec, auto, nouser, and async.

... যাতে এটি আমরা দেখতে প্রত্যাশা করি। তবে, যতক্ষণ না আমি কিছু মিস করছি, তা ঘটে না।

আমার কাছে "নিউহোম2020" লেবেলযুক্ত একটি ext3 পার্টিশন রয়েছে যা সিস্টেম দ্বারা / dev / sdc6 হিসাবে দেখা যায়। এটি আমরা থেকে দেখতে পারি ...

root@john-pc1204:~# blkid | grep NewHome20G
/dev/sdc6: LABEL="NewHome20G" UUID="d024bad5-906c-46c0-b7d4-812daf2c9628" TYPE="ext3" 

আমার নীচে fstab এ প্রবেশ আছে ...

root@john-pc1204:~# cat /etc/fstab | grep NewHome
LABEL=NewHome20G        /media/NewHome20G        ext3         rw,nosuid,nodev,exec,users     0  2

সেই fstab লাইনে নির্দিষ্ট করা বিকল্প সেটিংস নোট করুন।

এখন আমি কীভাবে পার্টিশনটি বুটআপের পরে মাউন্ট করা আছে তা দেখছি ...

root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]

... সুতরাং, যখন ফাইল সিস্টেমটি মাউন্ট হয়ে যায় তখন আমি নির্ধারিত ব্যবহারকারীর এবং ব্যবহারকারীর বিকল্পগুলিকে উপেক্ষা করা হয়েছে বলে মনে হয়।

কেবল নিশ্চিত হয়েই, আমি এসডিসি 6 আনমাউন্ট করে এটিকে পুনরায় মাউন্ট করে আবার মাউন্ট অপশনগুলি দেখি ...

root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]

.... একই ফলাফল

এখন আমি আবার পার্টিশনটি আনমাউন্ট করব, এক্সিকিউট বিকল্পটি উল্লেখ করে এটি পুনরায় মাউন্ট করুন এবং ফলাফলটি দেখুন ...

root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6 -o exec
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,nosuid,nodev) [NewHome20G]

... এবং এখানে এক্সিকিউট বিকল্পটি শেষ পর্যন্ত কার্যকর হয়েছে এবং নেক্সেক সেটিংটি বিলুপ্ত হয়েছে।

কেবল আগ্রহের জন্য, আমি ডিফল্ট বিকল্পটি দিয়ে পার্টিশনটি পুনরায় মাউন্ট করব

root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6 -o defaults
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]

নেক্সেক ফিরে এসেছে, সুতরাং এটি দেখতে rw, noexec, nosuid, nodev দেখতে অনেকটা ডিফল্ট বিকল্প যা মানুষ যা বলে না তাই।

কেন এই ব্যাপার?

আমার কাছে ডেটা ডিস্কে দরকারী স্ক্রিপ্টগুলি পূর্ণ ফোল্ডার রয়েছে। যেহেতু ডিস্কটি মাউন্ট করা হয়েছে নেক্সাক এই স্ক্রিপ্টগুলি চলবে না, যদিও সেগুলি সবগুলি chmod 777 দিয়ে সেট করা আছে I আমি এটি বিভিন্ন উপায়ে কাজ করতে পারি তবে এটি হতাশাব্যঞ্জক যে লোকটির প্রবেশদ্বারটি ভুল বলে মনে হচ্ছে।

আমি কি এখানে স্পষ্টত কিছু মিস করেছি বা উবুন্টুতে ডিফল্ট বিকল্পগুলি কয়েক সংস্করণ আগের থেকে পরিবর্তিত হয়েছে?

উত্তর:


18

ম্যানুয়ালটি সঠিক । আপনার সমস্যাটি হ'ল সম্ভবত আপনি 3 টি গুরুত্বপূর্ণ বিবরণের জন্য অ্যাকাউন্ট করেননি:

  • users(এবং user) বোঝা অপশন noexec, nosuidএবং nodev

  • পরবর্তী বিকল্পগুলির দ্বারা ওভাররাইড না করা

  • বিকল্পগুলির অর্ডারগুলি গুরুত্বপূর্ণ;)

সুতরাং আপনি যখন rw,nosuid,nodev,exec,usersআপনার fstab ব্যবহার করেন তখন সর্বশেষ বিকল্পটি usersসেট করে noexec,nosuid,nodev, এভাবে আপনার অক্ষম করে exec(এবং আপনার nosuid,nodevঅতিরিক্ত কাজও করে তোলে)।

ফলাফল হিসাবে, প্রত্যাশিত, হয় rw,noexec,nosuid,nodev

এবং না, usersউপেক্ষা করা হয়নি, এটি কেবলমাত্র mountআউটপুট তালিকাভুক্তিতে প্রদর্শিত হয় না । তবে যে কোনও ব্যবহারকারী এটিকে আনমাউন্ট করে আবার মাউন্ট করতে পারবেন। চেষ্টা করে দেখুন!

rodrigo@desktop ~ $ mount /dev/sda6                     # ordinary user
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev)
rodrigo@desktop ~ $ /mnt/mint10/bin/echo it works       # noexec will deny this
bash: /mnt/mint10/bin/echo: Permission denied

mountব্যবহার করা হলে user( ব্যবহার না করা users ) ব্যবহারকারীর সাথে সম্পর্কিত কিছু দেখাবে এবং একটি সাধারণ, অ-রুট ব্যবহারকারী এটি এইভাবে মাউন্ট করে:

rodrigo@desktop ~ $ mount /dev/sda6         # ordinary user
rodrigo@desktop ~ $ mount | grep /dev/sda6  # it will list current "owner"
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev,user=rodrigo)
rodrigo@desktop ~ $ umount /dev/sda6
rodrigo@desktop ~ $ sudo mount /dev/sda6
rodrigo@desktop ~ $ mount | grep /dev/sda6  # since owner=root, it won't show
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev)
rodrigo@desktop ~ $ umount /dev/sda6        # only mounter can unmount
umount: only root can unmount LABEL=MINT10 from /mnt/mint10

এছাড়াও লক্ষ করুন যে, userছাড়াই ব্যবহার noautoকরার সময় পার্টিশনটি বুট-এ স্বয়ংক্রিয়ভাবে (রুট দ্বারা) ব্যবহৃত হবে। সুতরাং যতক্ষণ না রুট এটি আনমাউন্ট করে, ততক্ষণ কেউই আনমাউন্ট বা (পুনরায়) মাউন্ট করতে সক্ষম হবে না।

এটি বলেছিল, আমার ধারণা আপনি ইতিমধ্যে আপনার সমাধানটি বের করে ফেলেছেন: কেবল আপনার বিকল্পগুলির ক্রম পরিবর্তন করুন এবং সবকিছু ঠিকঠাক কাজ করবে:

LABEL=NewHome20G  /media/NewHome20G  ext3  users,exec  0  2

লক্ষ্য করুন কিভাবে execহয় পরে users । এবং এছাড়াও rw,nosuid,nodevপ্রয়োজন হয় না। rwইতিমধ্যে একটি ডিফল্ট, এবং অন্যান্যগুলি স্বয়ংক্রিয়ভাবে চালু হয়users

এবং ফলাফল:

rodrigo@desktop ~ $ mount /dev/sda6                  # user mount
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,nosuid,nodev)
rodrigo@desktop ~ $ /mnt/mint10/bin/echo it works    # exec works
it works
rodrigo@desktop ~ $ sudo umount /dev/sda6            # root unmount
rodrigo@desktop ~ $ sudo mount /dev/sda6             # root mount
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,nosuid,nodev)
rodrigo@desktop ~ $ umount /dev/sda6                 # user unmount
rodrigo@desktop ~ $

এর অর্থ যে কোনও ব্যবহারকারী, মূল বা নন-রুট, এটি পূর্বে মাউন্ট করা বা আনমাউন্ট করা নির্বিশেষে এটিকে মাউন্ট এবং আনমাউন্ট করতে পারে। এবং এক্সিকিউটেবলগুলিও কাজ করে :)


আপনি কি বোঝাতে চেয়েছিলেন "... userবাইরে ব্যবহার করার সময় auto, পার্টিশনটি স্বয়ংক্রিয়ভাবে চালিত হবে ..."?
আন্দ্রেয়াস জে।

@AndreasJ। না, আমি বোঝানো noautoautoইতোমধ্যে ডিফল্ট আচরণ, সুতরাং ছাড়া এর noautoসাথে একই auto: পার্টিশনটি স্বয়ংক্রিয়ভাবে বসানো হবে।
MestreLion

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