আমার বাড়ির দির ফাইলগুলিকে কেন সীমাবদ্ধ উমাস্ক সত্ত্বেও বিশ্ব লিখনযোগ্য হিসাবে তৈরি করা হচ্ছে?


10

আমি বুঝতে পেরেছি যে নতুন ফাইল এবং ডিরেক্টরিগুলির অনুমতিগুলি কিছুটা অদ্ভুতভাবে আচরণ করে। প্রথমত, উমাস্ক সঠিক উত্তরটি প্রত্যাখ্যান করে বলে মনে হচ্ছে:

$ umask
0002

এর অর্থ হ'ল আমার ব্যবহারকারী এবং আমার গোষ্ঠীর জন্য সম্পূর্ণ অ্যাক্সেস, বাকি বিশ্বের জন্য কোনও লেখার অ্যাক্সেস নেই, মামলা নেই। তবে আমি যদি আমার OME হোমে একটি ফাইল তৈরি করি, এটি দেখতে এটির মতো:

$ ls -l testfile 
-rw-rw-rw- 1 robe robe 0 mar 16 12:58 testfile

অর্থাত্ প্রত্যেককে লেখার প্রবেশাধিকার দেওয়া। ডিরেক্টরিগুলির ক্ষেত্রেও এটি ঘটে:

$ ls -ld testdir
drwxrwxrwx 2 robe robe 6 mar 16 13:00 testdir

আমার মনে হয় এটি উমাস্ক 0000 নয়, 0002 এর মতোই। এটি একটি ডিফল্ট CentOS 5.5 ইনস্টল। কেন এমন ঘটছে তার কোনও ইঙ্গিত?


3
আপনার হোম ডিরেক্টরিটি কোন ফাইল সিস্টেমের ধরণে রয়েছে?
mattdm

4
এবং আপনি কিভাবে তৈরি করছেন testfileএবং testdir?
mattdm

3
@ মেটডেম, আপনি জোর দিয়েছিলেন ঠিক: এটি এক্সএফএস। আমি ভুলে গেছি আমাদের / হোম, / ভেরি এবং আরও বেশ কয়েকটি জন্য আলাদা ভলিউম রয়েছে। যদিও আমি প্রায়শই এক্সএফএস ব্যবহার করি এবং এই আচরণটি দেখিনি। এটি কীভাবে সম্পর্কিত হতে পারে?
rsuarez

2
acl স্থানীয়ভাবে উমাস্ককে ওভাররাইড করতে পারে। আপনার ডিরেক্টরিগুলি কি এসিএলে মাউন্ট করা সম্ভব?
ফাহিম মিঠা 21

3
হুঁ, আপাতদৃষ্টিতে এক্সএফএস সবসময় এসিএল সক্ষম করেছে। সুতরাং এটি আপনার / ইত্যাদি / fstab এ নাও দেখাতে পারে। আপনার পার্টিশন / ডিরেক্টরিতে getfacl চালানোর চেষ্টা করুন।
ফাহিম মিঠা 21

উত্তর:


3

আমার নিজের প্রশ্নের উত্তর দেওয়া যথাযথ কিনা তা আমি জানি না। সম্পাদকগণ, দয়া করে, যদি এটি না হয় তবে এটি সম্পর্কে পরামর্শ দিন। আগাম ধন্যবাদ.

আমি মনে করি আমি এই রহস্যটি সমাধান করেছি: সমস্যাটি ছিল এক্সএফএস ভলিউমে একটি ডিফল্ট এসিএল এর অভাব। এখানে / srv / ব্যাকআপগুলির জন্য এসিএল এন্ট্রি দেওয়া হয়েছে, প্রভাবিত ডিরেক্টরিগুলির মধ্যে একটি:

# file: srv/backups
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

যখনই আমি "এমকিডির পরীক্ষা" বা "টাচ টেস্টফিল" করতাম, এটি 77 777 এর অনুমতি নিয়ে আসত So তাই আমি এটি করেছি:

setfacl -m d:u::rwx /srv/backups

এসিএলটি এভাবে রেখে দেওয়া:

# file: srv/backups
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:other::r-x

আগে সেখানে (অনুমিত) এসিএল ছিল না, তবে এখন আছে। আমি যখন "ls -l" করি তখন অনুমতিগুলির সাথে সংযুক্ত "+" চিহ্নটি দেখতে পাই। এবং যাদুতে, এখন "এমকেডির পরীক্ষা" এবং "টাচ টেস্টফিল" প্রত্যাশিত অনুমতি নিয়ে কাজ করে:

# ls -l testfile 
-rw-r--r-- 1 root root 0 Dec 20 10:00 testfile
# ls -ld testdir
drwxr-xr-x+ 2 root root 6 Dec 20 10:00 testdir

আমি জানি না কেন এমন হয়। আমার অনুমান এক্সএফএস ডিফল্ট এসিএল না রাখা পছন্দ করে না, এবং যখন ঘটে তখন অদ্ভুত আচরণ করে। এছাড়াও, আমি এটি কেবল সেন্টোজেই দেখেছি, ডেবিয়ান / উবুন্টুতে নয়। হতে পারে এটি কার্নেলের এক্সএফএস সংস্করণ, বা এর মতো কিছু সম্পর্কিত। কোন ধারণা নেই.

যাইহোক, এটি আমার জন্য মামলা নিষ্পত্তি করে। সমস্ত পরামর্শের জন্য অনেক ধন্যবাদ :-)


আপনার নিজের প্রশ্নের উত্তর দেওয়া পুরোপুরি গ্রহণযোগ্য
কিথ থম্পসন

0

ক্রিয়েট কল স্পষ্টভাবে অনুমতিগুলি নির্দিষ্ট করতে পারে যা উমাস্কের চেয়ে বেশি অগ্রাধিকার নেয়।

আপনি কীভাবে তৈরি করছেন তা আপনি জবাব দেননি testfile,testdir

ফাইলটি ব্যবহার করে তৈরি করুন touch testfile, তারপরে অনুমতিগুলি তালিকাবদ্ধ করুন এবং পোস্ট করুন


দেরি করার জন্য দুঃখিত. আমি অনুরূপ ফলাফলের সাথে "টাচ টেস্টফিল" ব্যবহার করে এবং "এমকেডির টেস্টডির" ব্যবহার করেও পরীক্ষা করেছিলাম। umask "0000" তে সেট করা আছে বলে মনে হয়, কারণ সেগুলি 777 অনুমতি নিয়ে তৈরি করা হয়েছে
rsuarez

0

getfacl .অনুমতিগুলি প্রভাবিত করছে এমন কোনও ডিফল্ট এসিএল আছে কিনা তা দেখার জন্য আপনি নিজের পরীক্ষা ফাইলটি যে ডিরেক্টরিটি তৈরি করছেন তার একটি চেষ্টা করুন ।


1
নাহ, কোনও ডিফল্ট এসিএল নেই। এটি কোনওভাবে এক্সএফএসের সাথে সম্পর্কিত বলে মনে হচ্ছে, কারণ এটি কেবল এক্সএফএস ভলিউমে ঘটে। যা হোক ধন্যবাদ.
rsuarez

-1

/Etc/login.defs এ কেবল USERGROUPS_ENAB ভেরিয়েবলটি সন্ধান করুন

এটিকে অক্ষম করার জন্য তাদের মন্তব্য করুন # USERGROUPS_ENAB হ্যাঁ

যদি আপনিও আপনার বর্তমান ব্যবহারকারীর উমাস্ক পরিবর্তন করতে চান তবে আপনাকে প্রথমে আগের পদ্ধতিটি অনুসরণ করতে হবে এবং সেগুলি নিম্নলিখিতটি করা উচিত।

উদাহরণস্বরূপ 027

প্রতিধ্বনি "umask 027" >> ~ / .bashrc &&pkill -কিল আপনার-ব্যবহারকারী নাম_এখানে

প্রতিধ্বনি "umask 027" >> ~ / .bashrc এই আদেশটি আপনার প্রোফাইলের জন্য একটি উমাস্ক ডিফল্ট মান সেট করবে

এটি আপনাকে লগ আউট করতে বাধ্য করবে

আবার লগইন করার পরে

শুধু আবার উমাস্ক কোন্ডা চালান এবং দেখুন এটি আপনার পক্ষে কাজ করে কিনা

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