Wednesday, August 11, 2010

Ubuntu freeze script

  • อันนี้เป็นสคริปใช้ freeze ระบบบน Ubuntu
  • ซึ่งเจ้าของบทความเค้าแนะนำว่าใช้ได้ดีในระดับหนึ่ง
Step
  • สร้างไฟล์ Script โดยมี content แบบนี้ ในที่นี้ตั้งชื่อเป็น freeze.sh
#!/bin/bash
echo Enter name of user you want to protect.
read name
sudo mkdir /.secure
sudo chmod 700 /.secure
sudo mkdir /.secure/rsync_"$name"
sudo rsync -r -t -p -o -g -v --progress --delete -l -D /home/"$name"/ /.secure/rsync_"$name"/
sudo awk 'BEGIN { print "#!/bin/bash\nrsync -a --delete /.secure/rsync_'"$name"'/ /home/'"$name"'/\n" }' > /home/$USER/rsync_"$name".tmp
sudo mv /home/$USER/rsync_"$name".tmp /etc/init.d/rsync_"$name"
sudo chmod +x /etc/init.d/rsync_"$name"
sudo rm /etc/rc2.d/S99rsync_"$name"
sudo ln -s /etc/init.d/rsync_"$name" /etc/rc2.d/S99rsync_"$name"
echo "$name" is now protected.
echo Please rerun this script to protect another user
echo or to update an account with any new changes
echo for that specific user.
echo Press enter to exit.
read exit
  • จากนั้นคัดลอกไปวางภายใต้ Home ของ user ที่เรากำลัง Logon อยู่เพื่อสะดวกในการใช้งาน จากนั้นเปลี่ยน permission ไฟล์ให้ execute ได้โดย
chmod +x freeze.sh
  • สั่งให้ script ทำงาน
./freeze.sh


  • เมื่อ script ทำงานเค้าจะให้เราระบุว่า เราจะ freeze user ให้ก็กรอก user ลงไป แค่เนี๋ยเสร็จแหละ
อธิบายการทำงานแบบมั่วๆ เอา
  • ประมาณว่า มีการ backup ไฟล์ โดย rsync นะขณะนั้นไว้ของ user นั้น
  • และมีการสร้าง Script ลบ home ของ user นั้น และ restore home user ที่ backup ไว้แล้วกลับคืนมา โดย script วางอยู่ที่ /etc/init.d/ และ มีการสร้าง link ไปที่ /etc/rc2.d/ ไว้ ซึ่ง run level นี้เป็น default จะทำงานตอนบูตระบบขึ้นมาใหม่
เพิ่มเติม
  • เมื่อต้องการ freeze user อื่นๆ ก็รัน script และระบุ user แค่เนี๋ย
  • และเมื่อเรามีการเปลี่ยนแปลงค่า หรือ ไฟล์ในระบบ และต้องการกำหนด freeze ใหม่อีกรอบ เราแค่รัน script และระบุ user นั้นอีกรอบ แค่เนี๋ย ง่ายมากๆ
  • ปล. แล้วเราจะถอน freeze ออกไงฟะ คิดว่าคงต้องไปลบ ตัว link ที่รันตอน startup ออกมั้งคิดว่านะ
  • sudo ln -s /etc/init.d/rsync_"$name" /etc/rc2.d/S99rsync_"$name"
  • 2 ไฟล์เนี๋ยอ่ะ ลบออกมันก็น่าจะเลิก freeze แหละ
บทความที่เกี่ยวข้อง
  • http://juuier.blogspot.com/2010/08/how-to-remove-deep-freeze.html
อ้างอิง
  • http://forum.ubuntuclub.com/forum/topic,14103.msg89307.html#msg89307
  • http://forum.ubuntuclub.com/forum/topic,14124.msg116180/topicseen.html#msg116180
  • http://www.debianadmin.com/debian-and-ubuntu-linux-run-levels.html

No comments:

Post a Comment

Popular Posts