কেবলমাত্র সংযোজনে ফাইল অ্যাক্সেসকে সীমাবদ্ধ করুন


12

লগ ফাইলগুলির সাথে আমার একটি ডিরেক্টরি আছে এবং আমি তাদের দ্বারা ব্যবহারকারীদের দ্বারা চালু হওয়া স্ক্রিপ্ট থেকে লগগুলি রাখছি। সিসলগ দিয়ে লগ ইন করা এক্ষেত্রে সম্ভব বলে মনে হচ্ছে না। (নন-ডেমন আরএসএনসি)

আমি চাই ব্যবহারকারীদের লগ ফাইলগুলিতে কেবল লেখার অনুমতি রয়েছে। সমস্যাটি হ'ল লেখার অনুমতিগুলি অবশ্যই আরও বিধিনিষেধযুক্ত হওয়া উচিত, যাতে ব্যবহারকারীরা (স্ক্রিপ্ট) কেবলমাত্র সেই ফাইলগুলিতে যুক্ত করতে পারেন । অন্তর্নিহিত ফাইল সিস্টেমটি হ'ল এক্সএফএস।

নিম্নলিখিতগুলি কাজ করে না:

# chattr +a test.log
chattr: Inappropriate ioctl for device while reading flags on test.log

এর জন্য আর কোন সমাধান আছে কি? আপনার ইঙ্গিতগুলির জন্য আপনাকে ধন্যবাদ।


আপনি কি নিশ্চিত যে এটি এক্সএফএস? chattr +aআমার জন্য এখানে কাজ করে (3.2 কার্নেল) নোট করুন যে আপনাকে ব্যবহারের জন্য মূল হতে হবে chattr(একটি $প্রম্পট অ-সুপারিউজারের পরামর্শ দেয়), যদিও আপনি যদি chattr +aসমর্থন করে থাকেন এবং আপনি যদি রুট না হন তবে আপনি একটি পৃথক ত্রুটি বার্তা পাবেন ।
স্টাফেন চেজেলাস


পার্টিশনের মাউন্ট অপশনগুলি কী? এটি সম্ভবত xattr ব্যবহার করে এটি সংরক্ষণ করতে পারে, যার জন্য প্রাসঙ্গিক মাউন্ট বিকল্পের প্রয়োজন হতে পারে? (এক্সএফএসের সোর্মেটেশন এ সম্পর্কে খুব বেশি উল্লেখ করে না ...)
গার্ট ভ্যান ডেন বার্গ

এটি এসএফ-এ বন্ধ হয়ে গেছে, তাই আমি এটি এখানে খোলা রেখে চলেছি
মাইকেল মরোজেক

উত্তর:


8

chattrউপযোগ কোনো ext2 / ext3 / ext4 এই ফাইল-সিস্টেমের জন্য লেখা হয়। এটি ফাইলগুলিতে আইওসিটিএলস নির্গত করে, তাই তাদের সাথে কী করবেন তা সিদ্ধান্ত নেওয়ার জন্য এটি অন্তর্নিহিত ফাইল সিস্টেমের উপর নির্ভর করে। নতুন লিনাক্স কার্নেলগুলির এক্সএফএস ড্রাইভার FS_IOC_SETFLAGSকেবলমাত্র অ্যাপিড-এন্ডের মতো পতাকা নিয়ন্ত্রণ করতে ext [234] এর মতো একই আইওচটিএল সমর্থন করে , তবে আপনি সম্ভবত একটি পুরানো কার্নেল চালাচ্ছেন যেখানে এটি (সেন্টোস?) নেই doesn't xfs_ioপরিবর্তে ইউটিলিটি ব্যবহার করার চেষ্টা করুন :

echo chattr +a | xfs_io test.log

মনে রাখবেন যে এক্সএফএসের মতো এক্সট্রা [234] এর মতো, কেবলমাত্র রুট অ্যাপেন্ড-কেবলমাত্র পতাকাটি পরিবর্তন করতে পারে (আরও সুনির্দিষ্টভাবে, আপনার CAP_LINUX_IMMUTABLEসক্ষমতা প্রয়োজন )।


1

আপনার কি এটি করার অনুমতি আছে? থেকে man 1 chattr:

`A 'এ্যাট্রিবিউট সেট সহ একটি ফাইল কেবল লেখার জন্য অ্যাপেন্ড মোডে খোলা যেতে পারে। কেবল সুপারইজার বা CAP_LINUX_IMMUTABLE সক্ষমতা সম্বলিত একটি প্রক্রিয়া এই বৈশিষ্ট্যটি সেট বা সাফ করতে পারে।


0

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

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

এই আলাপে কীভাবে কেবলমাত্র অ্যাপ্লিকেশন-সংক্রান্ত ফাইল রুল লিখতে হবে তার একটি উদাহরণ আমার কাছে রয়েছে: https://www.youtube.com/watch?v=zQcYXJkwTns

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