আমি কীভাবে লিনাক্সে একটি ইউএসবি ড্রাইভ মাউন্ট করার জন্য লেখার অনুমতিগুলি স্বয়ংক্রিয়ভাবে সেট করতে পারি?


18

আমি যখন লিনাক্স (সেন্টোস 4) এ একটি বাহ্যিক ইউএসবি ড্রাইভ মাউন্ট করি তখন অনুমতিগুলি ডিফল্টরূপে কেবল পঠনযোগ্যতে সেট থাকে। যেহেতু কম্পিউটারে একাধিক ব্যবহারকারী রয়েছেন যাদের বহিরাগত ড্রাইভটি ব্যবহার করা দরকার, আমি চাই প্রত্যেকেরই rwপুরো ড্রাইভের অনুমতি হোক। আমি এও চাই যে কম্পিউটারটি যথাযথভাবে বন্ধ হয়ে থাকলে ড্রাইভটি মাউন্ট করতে সক্ষম হয়। তারা sudo mountড্রাইভ মাউন্ট করতে ব্যবহার করতে পারে তবে এটি কেবল তাদের পড়ার অনুমতি দেবে এবং আমি অবশ্যই অনুমতি দিতে চাই না sudo chmod

এমন কি কোনও ডিফল্ট সেটিংস আছে যাতে আমি পরিবর্তন করতে পারি যাতে প্রতিটি নতুন বহিরাগত ইউএসবি ডিস্ক স্বয়ংক্রিয়ভাবে rwঅনুমতি পায় ?

উত্তর:


17

প্রত্যেককে rw অ্যাক্সেস সক্ষম করতে, মাউন্ট কমান্ডের কীটি হ'ল umask = 0 বিকল্প।

sudo mount -o umask=0,uid=nobody,gid=nobody /dev/something /mnt/somewhere

umask = 0 যথেষ্ট পরিমাণে, কেবল স্পষ্টতার জন্য uid এবং গিড, সুতরাং আপনি অগত্যা চেয়ে আরও 'রুট' মালিকদের দেখতে পাবেন না।


@ টমের উত্তর (লেখার / ইত্যাদি / fstab এন্ট্রি) আপনাকে এড়াতে অনুমতি দেবে sudoএবং আপনি যদি সেখানে অতিরিক্ত বিকল্প হিসাবে উমাস্ক = 0 লিখেন তবে আপনি উভয় বিশ্বের সেরা পাবেন:

এটি / etc / fstab এ থাকা:

/dev/something /mnt/somewhere auto users,noatime,umask=0 0 0

আপনি শুধু চালানোর অনুমতি দেয়

mount /dev/something

এবং প্রত্যেকেরই সমস্ত ফাইলে অ্যাক্সেস রয়েছে।


এখানে প্রযুক্তিগত নোট, যদি আপনি বিশদ জানতে চান:

যেমনটি man mountবলা হয়েছে, 'umask = 0' নিশ্চিত করবে যে ফাইল অ্যাক্সেস মোডে কোনও অতিরিক্ত নিয়ম প্রযোজ্য নয়। FAT ফাইল সিস্টেমে (যা ইউএসবি ডিস্কে সর্বাধিক ব্যবহৃত হয়) এর জন্য কোনও অ্যাক্সেস মোড নেই। তবে আপনার বর্তমান প্রক্রিয়াটিতে কিছু উমাস্ক মান সেট রয়েছে, আপনি কেবলমাত্র umaskটার্মিনালে চালালে আপনি এটি দেখতে পাবেন । mountএটি ডিফল্ট হিসাবে ব্যবহার করে এবং মাউন্টড ডিস্কের সমস্ত ফাইল থেকে আপনার উমাস্ক মানটির অ্যাক্সেস মোড সরিয়ে দেয়। সর্বাধিক ব্যবহৃত উমাস্ক মানগুলি (অষ্টাল) 022 - কোনও গ্রুপ এবং অন্যান্য লেখার জন্য নয়, এবং 027 - কোনও গ্রুপ রচনা নেই, অন্য কোনও অ্যাক্সেস নেই।


আমি umask=0 0 0fstab এন্ট্রি হিসাবে যুক্ত করা হলে 'খারাপ বিকল্প' দিয়ে একটি ত্রুটি পেয়েছি । কি umaskগত এন্ট্রি হতে -entry লাগবে? managed=0 0 0বর্তমানে এন্ট্রিটি কী শেষ?
জোনাস

1
এফডাব্লুআইডাব্লু, উমাস্ক বিকল্পটি একটি ভিএফএটি-একমাত্র বিকল্প, অর্থাত্ ইউএসবি মেমরিটি যতক্ষণ না ভিএফএটি ফাইল সিস্টেম ব্যবহার করে (যা আমার ক্ষেত্রে হয়নি) সমাধানটি সহায়তা করে।
টমিসলভ নাকিক-আলফায়ারভিক

2
ধন্যবাদ. তবে এটির কাজ করার জন্য আমাকে এটিকে পরিবর্তন করতে হয়েছিল: sudo mount -o umask=0,uid=nobody /dev/something /mnt/somewhereএটি কেবল গিড-প্যারামিটার সেট না করেই কাজ করে।
নিপ্পি

2

/ Etc / fstab এ একটি এন্ট্রি যুক্ত করুন। আমার সিগেট ইউএসবি ড্রাইভের জন্য কয়েক ঘন্টা আগে আমি এখানে একটি এন্ট্রি যুক্ত করেছি:

ইউআইডিডিউড = 4 এসিসিএল 4 ই সি সি 733375 / মিডিয়া / লিনাক্স এক্সট্রি ত্রুটিগুলি = রিমাউন্ট-রো, ডিফল্টস, ব্যবহারকারী, নোয়াটাইম, নোডিরটাইম 0 0

এখানে কীটি "ব্যবহারকারীদের" এন্ট্রি যা ব্যবহারকারীদের ড্রাইভ মাউন্ট এবং আনমাউন্ট করতে দেয়।

সম্পাদনা করুন: এটি নির্দিষ্ট ড্রাইভগুলির জন্য কাজ করে - আমি জানি না যে এটি একটি এন্ট্রি সহ সমস্ত ড্রাইভের জন্য সক্ষম করা যায় কিনা I


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

1

প্রকার mount। এটি এটিতে বর্তমান স্থান দেবে। এখানে আমার আউটপুট।

rick@rick-Main ~ $ mount
/dev/sda4 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda6 on /media/DATA1 type vfat (rw,uid=1000,utf8,umask=077)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=rick)
/dev/sdf1 on /media/usb0 type vfat (rw,noexec,nodev,sync,noatime,nodiratime)

সর্বশেষটি আমার ইউএসবি ড্রাইভটি লিনাক্স মিন্টের দ্বারা স্বতঃস্ফূর্ত।

এখন টাইপ করুন

sudo umount /dev/sdf1

এটি ড্রাইভ আনমাউন্ট করবে

এখনই সঠিকভাবে পুনঃনির্মাণ করুন।

sudo mount -t vfat /dev/sdf1 /media/usb0 -o rw,users,umask=0
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.