আপনি কীভাবে নির্ধারিত ডিরেক্টরিগুলিকে সম্মান জানাতে লিনাক্স পাবেন?


8

কিছুকাল আগে আইআরসি-তে কথোপকথনের সময়, আমার কাছে একটি চ্যানেলের একজন ব্যবহারকারী প্রস্তাবিত ছিলেন যে কোনও ব্যক্তি যে সমস্যার সমাধান করছে সেগুলি সমাধান করার জন্য ফাইলগুলিতে ব্যবহারকারীদের উত্তরাধিকারী হওয়ার জন্য ডিরেক্টরি নির্ধারণ করুন। আমি কথা বলার সময় বলেছিলাম "লিনাক্স সেটআপড ডিরেক্টরিগুলি সমর্থন করে না"। এরপরে, পরামর্শ দেওয়া ব্যক্তি আমাকে তার সিস্টেমের একটি পেস্টবিন ( http://codepad.org/4I6262f13 ) দেখিয়ে একটি ডিরেক্টরিতে সেটুইড অনুমতি সেটকে সম্মান করে।

কেবল ব্যাখ্যা করার জন্য, যখন আমি বলি "লিনাক্স সেটুইড ডিরেক্টরিগুলি সমর্থন করে না" আমার অর্থ হ'ল আপনি "chmod u + s ডিরেক্টরি" যেতে পারেন এবং এটি ডিরেক্টরিতে কিছুটা সেট করবে। যাইহোক, লিনাক্স (আমি এটি বুঝতে পেরেছি) এই বিটটিকে উপেক্ষা করে (ডিরেক্টরিতে)।

আমার যতটা সম্ভব চেষ্টা করুন, আমি ঠিক সেই পেস্টবিনের নকল করতে পারি না। কেউ একবার আমাকে পরামর্শ দিয়েছিলেন যে সেলিনাক্সের সাথে আচরণটি অনুকরণ করা সম্ভব হতে পারে - এবং নিয়মগুলি নিয়ে খেলা করা, কোনও ফাইলের উপর একটি ইউআইডি চাপিয়ে দেওয়া সম্ভব, তবে সেটআপ ডিরেক্টরি ডিরেক্টরি থেকে নয় (যা আমি দেখতে পাচ্ছি)। ইন্টারনেটে চারপাশে পড়া মোটামুটি তথ্যহীন ছিল - বেশিরভাগ জায়গাগুলিতে দাবি করা হয় "না, ডিরেক্টরিতে সেটআপ করা লিনাক্সের সাথে কাজ করে না" মাঝে মধ্যে "এটি নির্দিষ্ট পরিস্থিতিতে করা যায়" (যেমন: http://arstechnica.com/ ইত্যাদি / লিনাক্স / 2003 / linux.ars-12032003.html )

আমি মনে করি না যে আসল ব্যক্তিটি কে, তবে মূল সিস্টেমটি একটি ডেবিয়ান 6 সিস্টেম ছিল এবং এটি যে ফাইল সিস্টেমটি চলছিল তা হল "ডিফল্ট, এসিএল" সহ মাউন্ট করা xfs। আমি এটিকে প্রতিলিপি দেওয়ার চেষ্টা করেছি, তবে এখন পর্যন্ত কোনও ভাগ্য নেই (দেবিয়ান, উবুন্টু, ফেডোরা এবং সেন্টোজের বিভিন্ন সংস্করণ দিয়ে এখনও চেষ্টা করা হয়েছে)

কেউ কীভাবে বা কীভাবে আপনি কোনও ডিরেক্টরিতে সেটুইডকে সম্মান জানাতে একটি সিস্টেম পান তা সম্পর্কে আমাকে ক্লু করতে পারেন?


এক্সএফএসের অবশ্যই একটি মাউন্ট অপশন ( grpid|bsdgroupsবা nogrpid|sysvgroups) রয়েছে যার অর্থ ডিরেক্টরিগুলির ফাইলগুলি মালিকের গ্রুপের চেয়ে ডিরেক্টরিগুলির গ্রুপের সাথে তৈরি হয়; সম্ভবত এটি নিয়ে খেলবেন?
জাঞ্চে

উত্তর:


7

ডিরেক্টরিগুলির জন্য সেটুইড সেটগ্রিডের মতো আচরণ করে না। শেল আউটপুটটি ফ্রিবিএসডি থেকে নেওয়া না হলে কেউ একজন বিরক্ত হয়ে আপনার ব্যয়ে কিছুটা মজা করছিল।

কোনও ডিরেক্টরিতে সেট করা অনুমতিগুলি ইউএনআইএক্স এবং লিনাক্স সিস্টেমগুলিতে উপেক্ষা করা হয় [[৪] ফ্রিবিএসডি এটিকে সেটগিডের সাথে সমানভাবে ব্যাখ্যা করার জন্য কনফিগার করা যেতে পারে, যথা, সমস্ত ফাইল এবং উপ-ডিরেক্টরিকে শীর্ষ ডিরেক্টরি মালিকের মালিকানাধীন করতে বাধ্য করা। [5]

ফ্রিবিএসডি-তে ডিরেক্টরিগুলি এমনভাবে আচরণ করে যেমন তাদের সেটগিড বিটটি সর্বদা সেট করা থাকে, তার আসল মূল্য নির্বিশেষে। খোলা (২) তে যেমন বলা আছে, "একটি নতুন ফাইল তৈরি করা হয় তখন এটিকে যে ডিরেক্টরিতে থাকে তার গোষ্ঠী দেওয়া হয়।"

http://en.wikipedia.org/wiki/Setuid#setuid_and_setgid_on_directories


আমি বিশ্বাস করি যে কেসটি হতে পারে ... তবে লোকটি বেশ নিশ্চিত ছিল যে সে তার লক্ষ্য অর্জন করেছে ... আমি তারপরে ডেবিয়ান ফোরামগুলির দিকে ফিরলাম কারণ সে ডেবিয়ান ব্যবহার করছিল, এবং এটি একটি প্রতিক্রিয়ার জন্য পেয়েছিলাম: ফোরামস.ডিবিয়ান ডটকম /… আমি সম্ভবত তখন কম ধারণা আইনে পোস্ট করেছি এবং ঠান্ডা কাঁধ পেয়েছি। প্রায় এক মাস এবং বিট গবেষণা করার পরে, আমি নিশ্চিত নই যে এটি অবশ্যই করা যায় না, তবে আমি বুঝতে পারি না যে কোনও কিছু পরিবর্তন না করেই কেন ডেবিয়ান ছেলেরা এটি সম্ভব বলে বিশ্বাস করে।
তাকিগামা

যদি তিনি এটি অর্জন করেন তবে কীভাবে এটি করা হয়েছিল তার সেরা উত্স হবেন। আমি নিজেই বিষয়টি নিয়ে গবেষণা করেছি এবং কিছুই দেখলাম না।
অ্যারন কোপালি

@ অ্যারোনকোপ্লি: কোনও ডিরেক্টরিতে সেটআপের অনুমতি সেট লিনাক্স সিস্টেমে অন্তর্নিহিত হওয়ার কারণে আপনার কাছে উইকিপিডিয়া ছাড়া অন্য কোনও উত্স রয়েছে?
মার্টিন থোমা

না। তবে আপনি এটি চেষ্টা করে দেখুন এবং নিজের জন্য দেখুন। :)
অ্যারন কপলি

2

আংশিক উত্তর / কাজ প্রায়:

আমি একই জিনিসটি করার চেষ্টা করছিলাম, আমি সিদ্ধান্ত নিয়েছি এটি লড়াই না করে অন্য পদ্ধতিটি চেষ্টা করব। আমি যা চেষ্টা করেছি তা হ'ল ডিফল্ট অনুমতি নির্ধারণের জন্য নিয়ন্ত্রণ তালিকাগুলি। (দ্রষ্টব্য: আপনার এগুলি প্রথমে সক্ষম করার প্রয়োজন হতে পারে)।

setfacl -R --set-file=- . <<EOF
# file: testdir/
# owner: testuser
# group: testgroup
user::rwx
group::rwx
group:normaluser:rwx
mask::rwx
other::r-x
default:group::rwx
default:group:normaluser:rwx
default:mask::rwx
default:other::r-x
EOF

এখানে পরীক্ষককে পরীক্ষা চালাতে ব্যবহার করা হয় এবং সাধারণ ব্যবহারকারী ফলাফলগুলি মুছে ফেলতে পারে, রুট ব্যবহার না করে (প্রতিটি সময়)।


এটি একটি নতুন গোষ্ঠী যুক্ত করেছে, তবে সেট গোষ্ঠী আইডি ভাল কাজ করে।
ctrl-alt-delor

-2

আরএইচইএল থেকে man chmod

chmod ডিরেক্টরিটির ব্যবহারকারী-আইডি এবং সেট-গ্রুপ-আইডি বিটগুলি সংরক্ষণ করে আপনি যদি অন্যথায় স্পষ্টভাবে উল্লেখ না করেন। আপনি ইউ + এস এবং জিএস এর মতো প্রতীকী মোডের সাথে বিটগুলি সেট বা সাফ করতে পারেন এবং আপনি সংখ্যাসূচক মোডের সাথে বিটগুলি সেট করতে পারেন (তবে পরিষ্কার নয়)।

সংখ্যায় যদি আমি সঠিকভাবে স্মরণ করি, chmod 4711 ./dirসেট ইউআইডি বিট যুক্ত করি, পেস্টবিনে প্রদর্শন হিসাবে ইউআইড + গিড উত্তরাধিকার স্থাপনের chmod 2711 ./dirজন্য সেট গ্রিড বিট যুক্ত করে 6711

ম্যান পেজ chmod u+s== chmod 4XXXএবং chmod g+s== প্রতিchmod 2XXX


1
না, আমি সেগুলি কীভাবে প্রয়োগ করব তা বুঝতে পারি, সমস্যাটি নয়।
তাকিগামা

(ভুল করে এন্টার প্রবেশ করান) সমস্যাটি তারা কোনও ডিরেক্টরিতে কী করে, আমার বিশ্বাস ছিল যে ডিরেক্টরিতে সেটআপ করা লিনাক্স কিছু ছিল না, উদাহরণস্বরূপ (উবুন্টু ১০.১০ সিস্টেম): পরীক্ষক @ বোসন: $ $ ls -ald ~ drwsrwsrwx 3 testuser testuser 4096 2012-03-21 01:55 / হোম / পরীক্ষক যে দির সেটুইড এবং সেটগিড উভয়ই রয়েছে। এখন, টিটি @ বোসনের ব্যবহারকারী হিসাবে: ~ $ টাচ ~ টেস্টুসার / ফাইল টি @ বোসন: ~ $ ls -la! $ Ls -la ~ পরীক্ষার্থী / ফাইল -rw-r - r-- 1 টি পরীক্ষক 0 2012-03 -21 01:57 / home / testuser / file নোট করুন কীভাবে ডিরেক্টরিতে সেটুইড বিটের কোনও প্রভাব নেই (আমি কী প্রত্যাশা করি)। আপনি কিভাবে একটি ডিরেক্টরিতে একটি লিনাক্স সিস্টেম সেটুইড ব্যবহার করবেন?
তাকিগামা

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