31 Agustus 2009

Password reminder

Gue mau menerapkan rutinitas ganti password. Dan ini penting di network gue. Karena sebelumnya dengan netware server, semua user diberi blank password. Dan bertahun-tahun nggak pernah diganti. Aneh kan? Tapi itulah yang terjadi. Dan itu kecurigaan gue kenapa mail server lama pernah di obok2 orang dari internet.

User akan langsung menikmati proses pergantian password. Setiap 100 hari, baek client Windows maupun Linux akan langsung disodorin proses ganti password. Dan ini nggak jadi masalah.

Problemnya user suka lupa saja. Setelah weekend atau beberapa libur dari kerja, ternyata accountnya udah nggak bisa dipake lagi. Alias sudah non aktif karena lupa ganti password. Dan seperti biasa mereka akan lapor ke MIS untuk bantu di resetin password.

Dari beberapa solusi bagus, akhirnya gue pilih password reminder. Sekitar 28 hari sebelum passwordnya expired, email peringatan akan langsung terkirim ke mailbox mereka. Dan ini lebih gampang ngeceknya. Karena kita sebagai admin juga dapat list user yang passwordnya bakal expire atau udah expire setiap minggunya.

Cukup gunakan software passwd_exp untuk melakukannya. Karena mail server udah tersambung ke LDAP server, akhirnya gue install di mail server. Tinggal compile dan install "Text-Tokenizer" dari website yang sama, lalu compile dan install "passwd_exp" juga.

tar zxvf Text-Tokenizer-0.4.2.tar.gz
cd Text-Tokenizer-0.4.2
perl Makefile.PL
make
make test
make install

tar zxvf passwd_exp-1.2.10.tar.gz
cd passwd_exp-1.2.10
./configure
make
make install


Software ini langsung menginstall scheduler di cron. Secara harian akan check password yang hampir expired (minimal 28 hari sebelumnya). Dan mingguan akan check semua user dan listnya dikirim ke administrator. Configure aja di passwd_exp.conf.

/usr/local/etc/passwd_exp/passwd_exp.conf:
module                = shadow.linux
module opt[getent]    = 1
module opt[host]      = myserver.mydomain.com
module opt[shell]     = 1
module opt[uid_min]   = 30000
module opt[uid_max]   = 40000


Untuk check manually di console, cukup lakukan perintah ini:

# passwd_exp -l



19 Agustus 2009

Netbook Acer Aspire 1810T

Anaknya si bos mendadak hari ini bawa barang baru. Saat gue lagi sibuk-sibuknya nyiapin audit salah satu buyer gede. Tanpa babibu langsung minta Vistanya diresize dan sebagaian besar harddisknya harus pake Ubuntu. Alasannya simple aja. Untuk download movie dari internet. Kalo pake Linux, kan nggak ribet sama virusnya.

Ini barang baru. Sepertinya Acer baru launch bulan kemaren. Jadi tentunya agak ribet juga. Pasti banyak kendala. Itulah sebabnya gue minta diundur 1 minggu. Karena proses audit harus gue perhatiin. Tapi gitu deh. Karena anaknya bos, masih juga bersikeran harus kelar hari itu juga. Duh :-(

Antara notebook or netbook, bener-bener nggak jelas. Tapi yang gue baca lebih banyak disebut netbook. Mungkin karena nggak pake CD/DVD drive kalee. Jadi gue coba install Ubuntu Netbook Remix (UNR) 9.01 aja.

Installasi

Pake USB flashdrive 1GB tentunya. Cukup install software USB Image Writer (usb-imagewriter) yang ada di repo Jaunty. Ato bisa juga diambil dr sini:

https://launchpad.net/~ogra/+archive/ppa

Kalo pake cara traditional, bisa juga. Nggak perlu software tadi:

unmount /dev/sdb1
dd if=/home/lutfi/Download/iso/ubuntu/Ubuntu-9.04/ubuntu-9.04-netbook-remix-i386.img of=/dev/sdb1 bs=1M


Pastiin netbook booting dari USB. Berikutnya UNR akan muncul dan siap install. Nggak bedalah ama install Ubuntu LiveCD. Dan proses installnya jalan mulus. Nggak ada masalah.

Booting

Proses booting pertama kali tanpa USB, macet di jalan. Sepertinya error ada masalah sama harddisk. Jadi kemungkinan besar problem driver dr SATA controlernya. Karena susah dapet info dari internet tentang netbook model ini, ya akhirnya check lebih jauh netbook Acer model-model laennya. Akhirnya ketemu juga.

Tambahkan parameter ini di kernel untuk booting:

libata.noacpi=1

Kalo nggak tau caranya, coba booting lagi pake USB tadi, mount harddisk netboot ke /mnt dan edit menu grubnya. Tambahkan parameter itu di file /mnt/boot/grub/menu.lst pada 2 baris ini:

# defoptions=quiet splash
# altoptions=(recovery mode) single

Rubahlah jadi seperti ini:

# defoptions=quiet splash libata.noacpi=1
# altoptions=(recovery mode) single libata.noacpi=1

Simpan dan akhiri dengan:

chroot /mnt
sudo update-grub


Setelah restart dan booting dari harddisk netbook, problem tadi udah hilang.

LAN

Pertama kali, gue pilih menu recovery. Jadi masuk ke prompt saja. Masalah baru muncul karena NIC nggak terdeteksi. Wireless sih OK. Buktinya di LiveCD normal. Tapi rupanya NIC nggak langsung online. Jadi gue harus beresin yang ini dulu.

Berikut ini hasil lspci dan lsusb:
<font face="Courier New">$ lspci 
00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory
Controller Hub (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series
Chipset Integrated Graphics Controller (rev 07)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset
Integrated Graphics Controller (rev 07)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #4 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI
Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio
Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port
1 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port
4 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI
Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
00:1f.0 ISA bridge: Intel Corporation ICH9M-E LPC Interface Controller (rev
03)
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller
(rev 03)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev
03)
01:00.0 Ethernet controller: Attansic Technology Corp. Device 1063 (rev c0)
02:00.0 Network controller: Intel Corporation Wireless WiFi Link 5100

$ lsusb
Bus 002 Device 002: ID 04f2:b175 Chicony Electronics Co., Ltd
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 002: ID 0a5c:2151 Broadcom Corp.
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 1b1a:0000
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub</font>
Setelah googling tentang "Ethernet controller: Attansic Technology Corp", driver bisa didownload dari:

http://partner.atheros.com/Drivers.aspx

Pilih "R81Family Linux Driver". Setelah salin ke /usr/local/src. Install pake ini:

cd /usr/local/src
tar zxvf AR81Family-linux-v1.0.0.10.tar.gz
make
make install


Reboot lagi dan pilih recovery mode lagi. Sekarang NIC dan berfungsi.

GUI

Berikutnya muncul masalah GUI. Muncul GDM, tapi nggak bisa login. Setelah cari di Internet, sepertinya ini masalah driver VGA Intel. Jadi gue reboot lagi, dan masuk recovery mode. Well... VGA driver Intel di Jaunty emang bermasalah. Jadi versi updatenya akan lebih bagus digunakan. Bisa dicoba link ini:

http://ubuntuforums.org/showthread.php?t=1130582

Rupanya harus gunakan PPA yang ini:

https://launchpad.net/~ubuntu-x-swat/+archive/x-updates/

Setelah dapat update VGA driver Intel terbaru dan update semua package, sehabis booting langsung bisa menikmati desktop UNR.

Laen-laen

Karena nggak terlalu fokus, gue cek sepintas aja. Webcam langsung OK. Card reader juga OK. Wireless OK. Compiz + Emerald juga OK.

Goodluck, pren



08 Agustus 2009

NIC Realtek error failed -16

Hari ini ada satu client yang mendadak komputernya nggak berfungsi. Sama salah seorang MIS diganti sama CPU yang laen. Harddisk Linuxnya di pindah ke CPU yang ini. Tapi mereka minta bantuan. Kenapa networknya jadi nggak berfungsi? Yah... waktunya ajarin cara trace masalah nih.

Paling nggak kita harus tau apa merk network card yang dipake. Mungkin cara yang paling simple ini:

lspci

Nih hasilnya.

00:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-751 [Irongate] System Controller (rev 25)
00:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-751 [Irongate] AGP Bridge (rev 01)
00:07.0 ISA bridge: Advanced Micro Devices [AMD] AMD-756 [Viper] ISA (rev 01)
00:07.1 IDE interface: Advanced Micro Devices [AMD] AMD-756 [Viper] IDE (rev 07)
00:07.3 Bridge: Advanced Micro Devices [AMD] AMD-756 [Viper] ACPI (rev 03)
00:07.4 USB Controller: Advanced Micro Devices [AMD] AMD-756 [Viper] USB (rev 06)
00:09.0 Ethernet controller: D-Link System Inc RTL8139 Ethernet (rev 10)
01:05.0 VGA compatible controller: Trident Microsystems CyberBlade/XP (rev 63)


Jelas tuh "Ethernet controller" pake chip Realtek (RTL8139). Dan kebanyakan di sini emang gunakan network card dengan chip yang sama. Jadi gue trace lebih jauh kenapa gagal. Simple aja. Gunakan "dmesg" dengan filter keyword "ethernet" atau nama modulnya "8139too" kalo emang kita tau nama modulnya.

dmesg | grep 8139too

Ternyata dapat error ini:

Aug 7 22:05:27 hostname kernel: [ 26.707978] 8139too Fast Ethernet driver 0.9.28
Aug 7 22:05:27 hostname kernel: [ 26.708596] 8139too: probe of 0000:00:09.0 failed with error -16


Rupanya motherboard kuno ini nggak bagus. Setelah obok-obok internet gunakan Google, ketemu solusi. Tambahkan option "pnpbios=off pnpacpi=off" sebagai parameter kernel.

OK. Mari kita coba. Nggak rumit juga. Edit menu grub dengan cara ini:

sudo nano /boot/grub/menu.lst

Cari baris ini:

# defoptions=quiet splash

Dan tambahin dengan parameter tadi.

# defoptions=quiet splash pnpbios=off pnpacpi=off

Save dan lakukan upgrade Grub dengan cara ini.

sudo update-grub

Success, pren. Abis restart langsung ke network tanpa masalah.

02 Agustus 2009

Group mail lokal dan mailbox lokal (2)

Kalo artikel sebelumnya udah ngebatesin group mail agar terproteksi dari luar, sekarang adalah lanjutannya. Gemana ngebatesin user (atau mailbox tertentu) hanya bisa kirim ke domain milik kita. Jadi disini, Postfix gunakan pendekatan 2 arah. Group mail atau mailbox kita batesin terima email dari luar, dan juga kita batesin supaya tidak bisa kirim email ke luar.

Kalo artikel sebelumnya, hanya butuhkan class untuk ngebatesin terima email dari luar, sekarang lengkapin aja dengan class ke 2 untuk ngebatesin user kirim email ke domain selain milik kita.

/etc/postfix/main.cf:
smtpd_restriction_classes = local_only,local_user
# restrict mailbox from receiving email from outside
local_only = permit_mynetworks, permit_sasl_authenticated, reject
# restric mailbox for sending email to outside
local_user = check_recipient_access hash:/etc/postfix/maps/local_domain, reject

smtpd_client_restrictions =
check_sender_access regexp:/etc/postfix/maps/internal_user,
permit_mynetworks,
permit

smtpd_recipient_restrictions =
check_recipient_access regexp:/etc/postfix/maps/internal_only,
...

Lalu definisikan group mail dan mailbox yang mau dibatesin terima email dari luar.


/etc/postfix/maps/internal_only:
# Local group mail here
/^everyone@(my\.domain|my\.domain2|my\.domain3)$/ local_only
# Local user here
/^user1@(my\.domain|my\.domain2|my\.domain3)$/ local_only
/^user2@(my\.domain|my\.domain2|my\.domain3)$/ local_only
...

Juga definisikan mailbox yang mau dibatesin kirim email hanya ke domain kita.

/etc/postfix/maps/internal_user:
# Local user here
/^user1@(my\.domain|my\.domain2|my\.domain3)$/ local_user
/^user2@(my\.domain|my\.domain2|my\.domain3)$/ local_user
...

Dan ini list dari domain kita.

/etc/postfix/maps/local_domain:
my.domain OK
my.domain2 OK
my.domain3 OK
...

Done, pren.