Sabtu, Mei 31, 2008

DeepFreeze di Linux

Ass. Wr. Wb
Terinspirasi terminal komputer di kampus yang menggunakan ZenCafe yang sering berubah-rubah dekstopnya. Kalo tidak salah di ZenCafe sendiri sudah ada menu untuk melakukan "deepfreeze" tapi disini akan melakukannya menggunakan bash script.

Langkah pertama adalah melakukan konfigurai usernya, jika semua udah OK maka home direktori user tersebut di backup.

1. /bin/cp -r /home/sita /home/ista1 (kalo mo di tar.gz juga lebih baik)

Next merubah kepemilikan direktori backup user, supaya tidak bisa tidak bisa diedit uer ybs

2. /bin/chown -R root.root /home/ista1

Langkah 1,2 cukup dilakukan sekali oleh root, Selanjutnya perintah-perintah berikut dimasukan dalam file /etc/rc.d/rc.local (disesuaikan dengan distronya)

Pertama kali di script ini adalah menghapus direktori user

3. /bin/rm -r /home/ista

Trus, dikembalikan lagi user dir nya, dan dikembalikan kepemilikannya

4. /bin/cp /home/ista1 /home/ista
5. /bin/chown -R ista.users /home/ista

Yup jika perintah mengganti password telah disable maka 2 baris itu cukup untuk melakukan deepfreeze. Namun jika passwd masih diijinkan diganti oleh user maka diperlukan perintah untuk mengembalikan nilai password yang benar.

Sebelumnya jika passwd tidak di disable maka perlu dibackup nilai password user tersebut, secara m anual dapat dikopi dari file /etc/shadow atau kalo menggunakan perintah dapat dilakukan,

6. /bin/cat /etc/shadow | grep namauser > filebackupshadow

Perintah di atas akan menuliskan 1 baris format user di file shadow yang akan di backup, contoh isinya adalah sbb,
cat /etc/shadow | grep naufal
naufal:$1$nZkwFqYK$RjQ1HHw6qlBH7xJaz5Amp1:13735:0:99999:7:::


Perintah di atas dilakukan sekali seperti pada saat menmbackup direktori user.

Next ... Nilai tersimpan di atas akan dikembalikan saat komputer direstart, maka di file rc.local ditambahkan beberapa baris berikut,

7. LINE='/bin/grep -n ^namauser /etc/shadow|cut -d: -f1' (mencari tahu baris ke berapa user tersebut)
8. /bin/sed -e "${LINE}d" /etc/shadow > /tmp/shadow.bak (membaca dan menulis kembali file shadow tanpa user yang diinginkan)
9. /bin/echo filebackupshadow >> /tmp/shadow.bak (Menambahkan password backup ke file shadow )
10. /bin/cat /tmp/shadow.bak /etc/shadow (Timpa file shadow yang lama)


Ok finished ....

Semoga bermanfaat

Wass. Wr. Wb

Tidak ada komentar: