প্যাম: পাম_মখোমেদিরের আগে একটি আদেশ কার্যকর কর?


8

যখন কোনও ব্যবহারকারী কোনও সিস্টেমে লগইন করে এবং কোনও হোম ডিরেক্টরি নেই তখন আমরা পাম_মখোমেডির ব্যবহার করে ব্যবহারকারীর হোম ডিরেক্টরি তৈরি করতে চাই । এটি একটি সাধারণ অনুশীলন। এখানে পাম_মখোমেদিরের একটি দ্রুত বিবরণ দেওয়া হল:

Pam_mkhomedir পিএএম মডিউলটি ব্যবহারকারীদের ডিরেক্টরি ডিরেক্টরি তৈরি করবে যদি এটি সেশন শুরু হওয়ার পরে উপস্থিত না থাকে। এটি ব্যবহারকারীদের বিতরণ করা ফাইল সিস্টেম ব্যবহার না করে বা বিশাল সংখ্যক ডিরেক্টরি প্রাক-তৈরি না করে কেন্দ্রীয় ডাটাবেসে (যেমন এনআইএস, কার্বেরোস বা এলডিএপি) উপস্থিত থাকতে দেয়। কঙ্কাল ডিরেক্টরি (সাধারণত / ইত্যাদি / স্কেল /) ডিফল্ট ফাইলগুলি অনুলিপি করতে ব্যবহৃত হয় এবং এটি তৈরির জন্য একটি umask সেট করে।

তবে এটি জেডএফএস চালিত একটি ফ্রিবিএসডি 8.2 সিস্টেম। আমাদের প্রথমে একটি জেডএফএস কমান্ড চালানো দরকার, কারণ আমরা প্রতি ব্যবহারকারীর জন্য একটি জেডএফএস ফাইল সিস্টেম চাই । pam_mkhomedirএকটি করতে পারেন mkdir, তবে আমাদের মতো কিছু করা দরকার zfs create /zpool/home/$USER

ব্যবহারকারীর প্রথম লগইন সেশনে কমান্ড কার্যকর করতে PAM ব্যবহার করা সম্ভব কিনা তা কি কেউ জানেন?


আমি solarisinternals.com লিঙ্কটি আর্কাইভ.অর্গ থেকে সংরক্ষণাগারিত সংস্করণের সাথে প্রতিস্থাপন করেছি, কারণ পূর্ববর্তীটি একটি ডোমেন স্কোয়াটারের দখলে। এটি প্রকাশ করার জন্য @ নরম্যান গ্রেকে ধন্যবাদ।
স্টিফান লাসিউস্কি

উত্তর:


9

নামক একটি প্যাম মডিউল রয়েছে pam_exec- আপনি যদি কোনও স্ক্রিপ্ট লিখেন যা জেডএফএস ভলিউমের জন্য যাচাই করে এবং / অথবা তৈরি করে, আপনি এটি আপনার বিদ্যমান পিএএম বিধিগুলিতে শৃঙ্খলাবদ্ধ করতে পারেন এবং ইন্টারেক্টিভ লগইন, ডিফল্ট শেলস এবং কঙ্কাল ডিরেক্টরি ইত্যাদি বিবেচনা না করে জিনিসগুলি সুন্দর রাখতে পারেন For উদাহরণস্বরূপ, আপনি থাকতে পারে

session required pam_unix.so
session required pam_exec.so check_zfs.sh $PAM_USER

বা আপনার নির্দিষ্ট সেটআপ অনুসারে যাই হোক না কেন।

(টম শ মন্তব্যে যেমন উল্লেখ করেছেন, session required pam_mkhomedir.soএগুলি অনর্থক হবে))


Pam_mkhomedir.so লাইনে আপনার টাইপো বাদে ভাল - pam.conf এ টাইপগুলি ভাল নয়! - এবং আমি মনে করি না যে চেক_জfs.sh স্ক্রিপ্টটি সমস্ত নোংরা কাজ করে তবে লাইনটি দরকার।
টম শ

@ টম যখন প্যাম মডিউলটি আপনার জন্য করে তখন হুইলটি পুনরায় উদ্ভাবন কেন করবে?
অ্যান্ড্রু

2
প্রশ্নের মূল বিষয় হ'ল তিনি চান যে হোম ডিরেক্টরিটি "এমকেডির" না করে "zfs ক্রিয়েট" দিয়ে তৈরি করা হোক। এটি পাম_এক্সেক ব্যবহার করে সম্পন্ন হয়। ডিরেক্টরিটি এই মুহুর্তে বিদ্যমান তাই পরবর্তী পাম_মখোমেদির কিছুই করবে না!
টম শ

পছন্দ করেছেন
অ্যান্ড্রু

3

এটি উল্লেখ করার মতো, যেমন জিজ্ঞাসা করা হয়েছে, আপনার প্রশ্নটিতে একটি অবৈধ অনুমান রয়েছে: এমনকি পামের কোনও ধারণা নেই যে এটি ব্যবহারকারীর প্রথম লগইন কিনা; এটি কেবলমাত্র ব্যবহারকারীদের একটি হোম ডিরেক্টরি আছে কিনা তা জানে।

সুতরাং, সেই সাবধানতাটি মনে রেখে, এটি /etc/bashrcপ্যাম করছে না, তবে ব্যবহারকারীর হোম ডিরেক্টরিতে একটি ডটফিলের আগে একটি চেকের আগে কমান্ড এবং তারপরে ড্রপ ছাড়ার সাহায্যে আপনি সহজেই বাইরে চলে যেতে পারেন । রুট ছদ্মবেশ প্রয়োজন? হয় যথাযথ-লকড ডাউন sudo, বা একটি সেটুইড বাইনারি সম্ভবত আপনার পক্ষে সবচেয়ে ভাল কাজ করবে। উভয় বিকল্পগুলি আপনাকে ডটফাইলে এমন কোনও জায়গায় রাখার বিকল্প দেয় যেখানে ব্যবহারকারী এটি পরিবর্তন করতে বা মুছতে পারে না (যদি আপনি এই ধরণের জিনিসটির প্রতি যত্নশীল হন)।


আমি বিভ্রান্ত Pam_mkhomedir এই হোম ডিরেক্টরিগুলি তৈরি করছে না, / ইত্যাদি / স্কেল ইত্যাদির সামগ্রীগুলি অনুলিপি করছে? আমি সি কোডটি (ফ্রিবিএসডি অন) দিকে তাকিয়েছিলাম এবং আমি ভেবেছিলাম যে এটি কঙ্কালের ফাইলগুলি সদ্য নির্মিত হোমডিরের কাছে নকল করে।
স্টিফান লাসিউইস্কি

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

@ রেড: বুঝেছি। আমি আমার প্রশ্ন আপডেট।
স্টিফান লাসিউইস্কি

1

সুতরাং আপনার এখানে দুটি পছন্দ রয়েছে:

1) ডিরেক্টরি তৈরি করার আগে প্রথমে zfs ফাইল সিস্টেম তৈরি করতে pam_mkhomedir এর উত্সটি পরিবর্তন করুন। ২) পাম_মখোমডিয়ারকে সাধারণত এটি চলতে দিন, তারপরে একটি স্ক্রিপ্ট যুক্ত করুন এবং দেখুন যে তাদের নিজস্ব zfs ফাইল সিস্টেমে কোনও ফোল্ডার নেই যেখানে ব্যবহারকারী লগ আউট করেছেন। আপনি যখন এই কেসগুলি ধরেন, / home ডিরেক্টরি সরান, ফাইল সিস্টেম তৈরি করুন, তারপরে ফাইলগুলি ডিরেক্টরিতে আবার সরান।

আমি সন্দেহ করি যে কোনও প্রাথমিক দিনের জন্য কোনও ব্যবহারকারীকে মূল / বাড়িতে রেখে দিলে খুব বেশি সমস্যা দেখা দেয় না, তাই আমি পরবর্তী বিকল্পটি, এটি সহজতর পক্ষে যেতে চাই।

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