নতুন উত্তর (2015-03-22)
( দ্রষ্টব্য: এই উত্তরটি আগের তুলনায় সহজ, তবে আরও সুরক্ষিত নয় My আমার প্রথম উত্তরটি শক্তিশালী কারণ আপনি অনুমতিপত্রের ফ্ল্যাগের আগে কেবলমাত্র fs মাউন্ট অপশন দ্বারা ফাইলগুলি কেবল পঠন করতে পারেন So সুতরাং লেখার অনুমতি ছাড়াই কোনও ফাইল লিখতে বাধ্য করা কার্যকর হবে না) আদৌ।)
হ্যাঁ, ডেবিয়ানের অধীনে , একটি প্যাকেজ রয়েছে: fsprotect ( হোমপেজ )।
এটি লাইভ সেশন পরিবর্তনের অনুমতি দেওয়ার জন্য কিন্তু ডিফল্টরূপে র্যামে aufs
(ডিফল্টরূপে, তবে অন্য unionfs
সরঞ্জামটি ব্যবহার করতে পারে ) ব্যবহার করে , তাই সবকিছু পুনরায় বুটে ভুলে যায়।
আপনি কেবল চালিয়ে এগুলি ইনস্টল করতে পারেন:
apt-get install fsprotect
একবার হয়ে গেলে, অনলাইন ডক থেকে:
তারপর:
- সম্পাদনা করুন
/boot/grub/menu.lst
বা /etc/default/grub2
বা /etc/lilo.conf
এবং fsprotect=1G
কার্নেল পরামিতিগুলিতে " " যুক্ত করুন ।
- প্রয়োজন অনুযায়ী 1 জি সংশোধন করুন।
- পরিবর্তনগুলি প্রয়োগ করুন (যেমন চালানো
update-grub
)
/etc/default/fsprotect
আপনি যদি বাদে ফাইল সিস্টেমগুলি সুরক্ষিত করতে চান তবে সম্পাদনা করুন /
।
- পুনরায় বুট করার
আপনি গ্রাব বুটলোডারকে পাসওয়ার্ড রক্ষা করতে বা এতে কোনও পরিবর্তন নিষিদ্ধ করতেও পারেন।
সেখান থেকে, যদি কোনও ফাইল পরিবর্তনের বিরুদ্ধে সুরক্ষিত থাকে, তবে নমুনা দ্বারা
chmod ugo-w myfile
আপনি যদি নমুনার vi myfile
জন্য ব্যবহার করেন এবং কমান্ড দিয়ে এটিতে লেখার চেষ্টা করেন :w!
, এটি কার্যকর হবে এবং আপনার myfile
পরিবর্তিত হয়ে উঠবে । অশোধিত পুনরুদ্ধার করতে আপনি পুনরায় বুট করতে পারেন myfile
।
আমার নিম্নলিখিত প্রথম সমাধানের মাধ্যমে এটিও সম্ভব নয়:
পুরানো (প্রথম) উত্তর:
হ্যাঁ, এটি একটি শক্তিশালী সমাধান, তবে শক্তিশালী!
আর / ও ব্যবহারযোগ্য
আপনি কিছু ডিরেক্টরি মাউন্ট করতে হবে RW , মত /var
, /etc
এবং হয়ত /home
। এই দ্বারা ব্যবহার করা যেতে পারে aufs বা unionfs । আমি এটি অন্যভাবে পছন্দ করি /dev/shm
এবং ব্যবহার করে mount --bind
:
cp -a /var /dev/shm/
mount --bind /dev/shm/var /var
আপনি এর আগে, static-var
/ var তে সিমলিংক তৈরি করার চেয়ে সমস্ত ডিরেক্টরিকে সরিয়ে নিতে পারেন যাদের সাধারণ ক্রিয়াকলাপে পরিবর্তন হয় না :
mkdir /static-var
mkdir /static-var/cache
mkdir /static-var/lib
mv /var/lib/dpkg /static-var/lib/dpkg
ln -s /static-var/lib/dpkg /var/lib/dpkg
mv /var/cache/apt /static-var/cache/apt
ln -s /static-var/cache/apt /var/cache/apt
... # an so on
সুতরাং যখন RO মধ্যে remounting, কপি /var
মধ্যে /dev/shm
অত্যধিক স্থান নেবে না অধিকাংশ ফাইল করার জন্য অনুপ্রাণিত হই /static-var
এবং শুধুমাত্র symlinks RAM অনুলিপি যেতে চলেছে।
এটিকে সূক্ষ্মভাবে করার সর্বোত্তম উপায় হ'ল একটি সম্পূর্ণ শক্তিচক্র তৈরি করা, একদিন পূর্ণ পরিশ্রমের এবং সূক্ষ্মভাবে একটি কমান্ড চালানো যেমন:
find / -type f -o -type f -mtime -1
সুতরাং আপনি দেখতে পাবে কোন ফাইলগুলি পঠন-লেখার পার্টিশনে অবস্থিত।
লগিং
ইতিহাস এবং অন্যান্য লগ সংরক্ষণের জন্য এই হোস্টের মতো কোনও লেখার যোগ্য স্থির মেমরি উপস্থিত নেই, আপনাকে একটি রিমোট syslog
সার্ভার কনফিগার করতে হবে ।
echo >/etc/syslog.conf '*.* @mySyslogServer.localdomain'
এই পদ্ধতিতে, যদি কোনও কারণে আপনার সিস্টেমটি ব্রেক হয়ে যায় তবে এর আগে সমস্ত কিছু লগইন।
আপগ্রেড
যখন কিছু থাক চলমান mount --bind
ব্যবহারে, এই ধরনের একটি আপগ্রেড করছেন জন্য সিস্টেম ব্যবহার করা হচ্ছে যখন (whithout চলমান প্রয়োজন init 1
, সময় নিচে হ্রাস করার জন্য), simplier পথ পুনরায় বিল্ড একটি পরিষ্কার হয় রুট , আপগ্রেড করতে সক্ষম:
রিড- রাইটিং মোডে '/' পুনরায় মাউন্ট করার পরে :
mount -o remount,rw /
for mpnt in /{,proc,sys,dev{,/pts}};do
mount --bind $mnpt /$mnt$mpnt;
done
chroot /mnt
apt-get update && apt-get dist-upgrade
exit
umount /mnt/{dev{/pts,},proc,sys,}
sync
mount -o remount,ro /
এবং এখন:
shutdown -r now