বিশেষ ব্যবহারকারী আইডি সেট সহ ফাইল সিস্টেম মাউন্ট করা


19

আমি ডিভাইসটিকে /dev/sda3ডিরেক্টরিতে মাউন্ট করতে চাই /foo/bar/baz। ডিরেক্টরি মাউন্ট করার পরে ব্যবহারকারীর uid থাকা উচিত johndoe। তাই আমি:

sudo -u johndoe mkdir /foo/bar/baz
stat -c %U /foo/bar/baz
johndoe

এবং আমার সাথে নিম্নলিখিত লাইনটি যুক্ত করেছেন /etc/fstab:

/dev/sda3 /foo/bar/baz ext4 noexec,noatime,auto,owner,nodev,nosuid,user 0 1

আমি এখন sudo -u johndoe mount /dev/sda3যখন কমান্ড পরিবর্তে stat -c %U /foo/bar/bazফলাফল ফলাফল । ইউড সেট সহ এই এক্সট 4-ফাইল সিস্টেমটি মাউন্ট করার সর্বোত্তম উপায় কী ?rootjohndoejohndoe

উত্তর:


20

এক্সট 4 ফাইল সিস্টেমের সাহায্যে ডিস্কে কোনও মালিককে জোর করা সম্ভব নয়। ফ্যাট জাতীয় লিনাক্সের অনুমতিগুলি সমর্থন করে না এমন ফাইল সিস্টেমগুলির মালিকানা / গোষ্ঠীত্বের জন্য একটি বৈশিষ্ট্য রয়েছে: uid=valueএবং gid=valueমাউন্টে ম্যানুয়াল পৃষ্ঠাটি দেখুন ।

মাউন্ট করা ফাইল সিস্টেমে আপনার যেমন মালিককে পরিবর্তন করা উচিত:

sudo chown johndoe /foo/bar/baz

আপনার যদি অনুমতিগুলি পুনরাবৃত্তভাবে পরিবর্তন করতে হয়:

sudo chown -R johndoe /foo/bar/baz

... এবং যদি গ্রুপটিও পরিবর্তন করা দরকার johndoe:

sudo chown -R johndoe: /foo/bar/baz

2
পুনরাবৃত্তভাবে মালিকানা পরিবর্তন করা যদি আপনি এটির সহায়তা করতে পারেন তবে সাধারণত এটি একটি খারাপ ধারণা। একবার আপনি "সঠিক" মালিকানাটি মুছে ফেললে কার্যত এটি ফিরে পাওয়ার কোনও সহজ উপায় নেই। আইএমও বাইন্ডফগুলি হ্যান্ডেল করার সঠিক উপায় (আমার উত্তর দেখুন)।
ক্যাটসকুল

3
bindfs জটিলতার অন্য স্তরের মতো শোনাচ্ছে। আমার উত্তরটি বাহ্যিক হার্ড ডিস্কের জন্য উপযুক্ত (ব্যাকআপের জন্য) যা পূর্ববর্তী ইনস্টলেশনটিতে ভিন্ন ব্যবহারকারী আইডি সহ ব্যবহৃত হয়েছিল। এটি এমন পরিস্থিতিতে ব্যবহার করা উচিত নয় যেখানে একাধিক ব্যবহারকারী আইডি রাখা উচিত (রুট ফাইল সিস্টেম), তবে সেক্ষেত্রে বাইন্ডগুলিও -uব্যবহার করা উচিত নয় কারণ এটি বিভিন্ন ব্যবহারকারীর আইডির অ্যাক্সেস বিধিনিষেধকে বাধা দেয়। --mapআপনি অ্যাক্সেস সীমাবদ্ধতা সংরক্ষণ করতে চাইলে ব্যবহার করা উচিত।
Lekensteyn

1
"অনুমতি-কম এফএসএসে এটি কেবল সম্ভব" এর জন্য +1 - আমি ব্যবহারের চেষ্টা করছি uidএবং gidযা কার্যকর হবে না।
mgarciaisaia

19

bindfsউত্তর। এটি ইতিমধ্যে মাউন্ট করা ফাইল সিস্টেম নেবে এবং আপনি যেটি ইউড চান তা দিয়ে এটির একটি দৃশ্য সরবরাহ করবে:

sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo

1
bindfs এর অপারেশনের অন্যান্য পদ্ধতি রয়েছে, দেখুন: bindfs.org/docs/bindfs.1.html
লেকেনস্টেইন

2
ওহ, এটি ফুস ব্যবহার করে।
নবীন

আমি হোস্ট ওএসের চেয়ে পৃথক ব্যবহারকারীর অনুমতি নিয়ে একটি 9 পি ভার্চুয়াল ফাইল সিস্টেমটি মাউন্ট করতে চেয়েছিলাম .. প্রাচীরের বিরুদ্ধে মাথা ঠেকছিল এটি কাজ করার চেষ্টা করছে। Bindfs সত্যিই একটি বাঁধাই থেকে আমাকে পেয়েছিলাম। দুর্দান্ত ছোট সরঞ্জাম!
বোয়ান

6

এই ফাইলগুলির জন্য গ্রুপ সেটটিকে যথাযথ অনুমতি রয়েছে বলে ধরে নেওয়া, আপনি কেবল এটির গ্রুপ আইডি (জিআইডি) খুঁজে বের করতে এবং নিজেকে এতে যুক্ত করতে সক্ষম হবেন should


কোনও ফাইলের গ্রুপ আইডি বের করতে, ব্যবহার করুন ls -n। উদাহরণ আউটপুট:

drwxr-xr-x 1 1000 1000  550 Jul  9 11:08 Desktop/

আপনি জিআইডি-র জন্য চতুর্থ ক্ষেত্র চান, যা আমার ক্ষেত্রে দ্বিতীয় 1000

sudo addgroup --gid GID foobar; sudo usermod `whoami` -aG foobar

একবার আপনি চালান যে আপনার পুরো লাগাম দেওয়া উচিত যেখানে কখনও গ্রুপের জন্য ফাইল বৈশিষ্ট্য এটির অনুমতি দেয়।

ব্যবহারকারীর অনুমতি সম্পর্কিত অন্যান্য উত্তরে যেমন উল্লেখ করা হয়েছে, আপনার যদি কিছু ফাইলে গ্রুপটি ঠিক করতে হয় তবে এর মধ্যে একটি চালান :

sudo chown -R :foobar ./
sudo chgrp -R  foobar ./

1
দ্রষ্টব্য আপনি যদি এ নয় এমন ফাইলগুলির মালিকানা পরিবর্তন না করে যদি ব্যবহারকারী বা গোষ্ঠীটিকে A থেকে B তে স্যুইচ করতে চান; আপনি sudo chown --from A B -R ./ব্যবহারকারীদের এবং sudo chown --from :A :B ./গোষ্ঠীগুলির জন্য ব্যবহার করতে পারেন
ল্যাটারালফ্র্যাকাল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.