Category: Server

Zentyal RADIUS EAP/TLS Authentication Fail

คาใจอยู่หลายวันครับกับ zentyal radius กับการ config ieee 802.1x แล้วเจอปัญหาดังด้านล่าง

Fri May 18 12:53:37 2012 : Auth: Login incorrect: [mrgill] (from client 172.11.5.64/26 port 0 via TLS tunnel)
Fri May 18 12:53:37 2012 : Auth: Login incorrect: [mrgill] (from client 172.11.5.64/26 port 16814082 cli 8c73-6eb7-b57d)

การติดตั้ง
ผมติดตั้งตัว zentyal-users, zentyal-userconrner และ zentyal-radius ทำยังไงตอน authen 802.1x ก็ไม่ผ่านโดยฟ้อง error ใน /var/log/freeradius/radius.log ตามด้านบน

สุดท้ายไป Search เจอใน http://trac.zentyal.org/ticket/3579 บอกว่าถ้าต้องการจะให้ zentyal-radius รองรับ PEAP หรือ MSCHAPv2 ต้องติดตั้งตัว File Sharing เข้าไปด้วยหรือก็คือตัว zentyal-samba นั้นเอง
หลังจากสั่ง apt-get install zentyal-samba ผมปรากฏว่า Authen ผ่านทันที

Fri May 18 13:27:57 2012 : Auth: Login OK: [mrgill] (from client 172.11.5.64/26 port 0 via TLS tunnel)
Fri May 18 13:27:57 2012 : Auth: Login OK: [mrgill] (from client 172.11.5.64/26 port 16814082 cli 8c73-6eb7-b57d)

ปัญหาต่อมาตอนนี้คือ Authen ที่ Radius ผ่านแล้วแต่ตัว Port ไม่ยอม Enable จงสู้ต่อไป Takashi

Leave a Comment May 18, 2012

การ Config SAN Multipath I/O บน Ubuntu Server

สวัสดีครับ วันนี้จะมาแนะนำวิธีการคอนฟิก Multipath I/O สำหรับ SAN Storage บน Ubuntu Server กันครับ
อะไรคือ Multipath ตามความเข้าใจของผมคือ สมมติว่าเราสร้าง Volume หรือ LUN ไว้บน Storage ไว้ 1 Volume/LUN แต่เรา Present Volume หรือ LUN นั้นออกมาจาก Port FC 2 Port เพื่อป้องกันการ Fail ของอุปกรณ์ จะทำให้เครื่อง Server เห็น Volume/LUN นั้นเป็น Disk 2 ลูก ทั้งที่จริงแล้วมันคือ Volume/LUN เดียวกัน ดังนั้นเราจำเป็นต้องทำการ Map ให้เครื่อง Server ของเราเห็น Disk เพียงลูกเดียวด้วยการทำ Multipath

ในตัวอย่างนี้ผมใช้ Ubuntu 10.04.3 LTS Server กับ SAN Storage HP MSA P2000 นะครับ

สำหรับ Ubuntu นั้นมี Package ตัวนึงที่ชื่อ multipath-tools ซึ่งเราสามารถติดตั้งด้วยใช้คำสั่ง

root@server1:~# apt-get install multipath-tools

ติดตั้งเสร็จแล้วก็ทำการสร้างไฟล์ /etc/multipath.conf โดยจะคำสั่ง vi สร้างไฟล์ขึ้นมาใหม่หรือจะใช้ cat ตามตัวอย่างด้านล่างก็ได้

root@server1:~# cat <<EOF > /etc/multipath.conf
defaults {
       user_friendly_names     yes
       path_grouping_policy    group_by_serial
       path_checker            tur
}

blacklist {
       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
       devnode "^sda"
       # blacklist any other locally attached block devices here
}
EOF

จากนั้นสั่ง restart service multipath-tools สักรอบ

root@agoldap:~# /etc/init.d/multipath-tools restart

ดูผลด้วยคำสั่ง multipath -lv

root@server1:~# multipath -lv
mpath0 (3600c0ff000134ec320b7334f02000000) dm-0 ,
[size=149G][features=0][hwhandler=0]
\_ round-robin 0 [prio=0][active]
 \_ #:#:#:#  -   #:#   [active][undef]
\_ round-robin 0 [prio=0][enabled]
 \_ 0:0:1:14 sdb 8:16  [active][undef]
\_ round-robin 0 [prio=0][enabled]
 \_ 1:0:0:14 sdc 8:32  [active][undef]
\_ round-robin 0 [prio=0][enabled]
 \_ 1:0:1:14 sdd 8:48  [active][undef]

ผมก็จะได้ประมาณนี้ โดยเวลาเราจะอ้างถึง raw disk ก็อ้างชื่อเป็น mpath0 ซึ่งอยู่ใน /dev/mapper/mpath0
ลองทดสอง fdisk กันเลย

root@server1:~# fdisk /dev/mapper/mpath0

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/mapper/mpath0: 160.0 GB, 160000000000 bytes
255 heads, 63 sectors/track, 19452 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8ca1da99

              Device Boot      Start         End      Blocks   Id  System
/dev/mapper/mpath0p1   *           1       19452   156248158+  83  Linux

Command (m for help): d
Selected partition 1

Command (m for help): p

Disk /dev/mapper/mpath0: 160.0 GB, 160000000000 bytes
255 heads, 63 sectors/track, 19452 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8ca1da99

              Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-19452, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-19452, default 19452):
Using default value 19452

Command (m for help): p

Disk /dev/mapper/mpath0: 160.0 GB, 160000000000 bytes
255 heads, 63 sectors/track, 19452 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8ca1da99

              Device Boot      Start         End      Blocks   Id  System
/dev/mapper/mpath0p1               1       19452   156248158+  83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

ดู Partition ที่เราสร้างโดยการเข้าไปเช็คที่ /dev/mapper

root@server1:~# cd /dev/mapper/
root@server1:/dev/mapper# ls -l
total 0
crw-rw---- 1 root root  10, 59 2012-05-15 14:14 control
brw-rw---- 1 root disk 251,  0 2012-05-15 15:25 mpath0
brw-rw---- 1 root disk 251,  1 2012-05-15 15:25 mpath0-part1
root@server1:/dev/mapper#

Partition ที่เราเพิ่งสร้างคือ mpath0-part1
ทีนี้ลองมา format มันเป็น ext4 กัน

root@server1:~# mkfs.ext4 /dev/mapper/mpath0-part1
mke2fs 1.41.11 (14-Mar-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
9773056 inodes, 39062039 blocks
1953101 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
1193 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
	4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

เสร็จแล้วก็ลอง mount ไปใช้ดู

root@server1:~# mount /dev/mapper/mpath0-part1 /backup
root@server1:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p1     130G  2.1G  121G   2% /
none                  3.9G  236K  3.9G   1% /dev
none                  4.0G     0  4.0G   0% /dev/shm
none                  4.0G  104K  3.9G   1% /var/run
none                  4.0G     0  4.0G   0% /var/lock
none                  4.0G     0  4.0G   0% /lib/init/rw
none                  130G  2.1G  121G   2% /var/lib/ureadahead/debugfs
/dev/mapper/mpath0-part1
                      147G  188M  140G   1% /backup

หากต้องการจะให้มัน mount เองทุกครั้งตอนเปิดเครื่องก็เข้าไปแก้ไขไฟล์ /etc/fstab เองนะครับ
เป็นอันเสร็จครับ

แหล่งข้อมูล : https://www.sit.auckland.ac.nz/Configuring_SAN_access_with_Linux_multipath

Leave a Comment May 15, 2012

การเคลียร์ history log ของ bash shell บน linux

มาเร็วไปเร็วอีกแล้วครับ
ปกติเวลาเราสั่ง history มันก็จะแสดง list คำสั่งที่เราเคยสั่งไปก่อนหน้ามา

root@mrgill-laptop:~# history ... 1785 transcode 1786 transcode -h 1787 apt-get update 1788 apt-get upgrade 1789 cd Desktop/ 1790 dpkg -i virtualbox-4.1_4.1.10-76795~Ubuntu~oneiric_amd64.deb 1791 apt-get update 1792 apt-get upgrade 1793 apt-get update 1794 ssh sysadmin@172.11.99.67 1795 apt-get update 1796 apt-get upgrade 1797 apt-get dist-upgrade 1798 apt-get update 1799 apt-get upgrade 1800 clear 1801 history root@mrgill-laptop:~#

หากต้องการเคลียร์ทั้งหมดใช้

root@mrgill-laptop:~# history -c

หากต้องการเคลียร์เฉพาะ current session ใช้ -r

root@mrgill-laptop:~# history -r

จบ

Leave a Comment March 22, 2012

คำสั่งสำหรับใช้ตรวจสอบ Serial Number ของเครื่อง Server บน Linux

วันนี้มาสั้นๆ หลังจากไม่ได้เขียนมาหลายเดือน สำหรับใครที่อยากทราบว่าเครื่องที่ใช้อยุ่ serial อะไรก็ใช้คำสั่งด้านล่างได้เลยครับ

# dmidecode -t system SMBIOS 2.3 present. Handle 0x0100, DMI type 1, 25 bytes. System Information Manufacturer: HP Product Name: ProLiant DL380 G4 Version: Not Specified Serial Number: XXXXXXXXXXX UUID: XXXXXXX-XXXXX-XXXXXXX-XXXXXXXX-XXXXXXXX Wake-up Type: Power Switch Handle 0x2000, DMI type 32, 11 bytes. System Boot Information Status: No errors detected

Leave a Comment February 20, 2012

สูตรคำนวณพื้นที่ Disk สำหรับติดตั้ง Zimbra

STORAGE CALCULATION EXAMPLE
(Based on ‘Mailbox Usage of 200 MB’ and 500 users)

+ User Data: 500 users with 200 MB = 100 GB user data
+ MySQL data: 5% of 100 GB (User Data): 5 GB
+ Zimbra binaries: 10 GB
+ Zimbra logs: 20 GB
+ Zimbra indexes: 25% of 100GB (User Data) = 25 GB

SUBTOTAL:
 100 + 5 + 10 + 20 + 25 = 160 GB
Backups: 160 % of Subtotal: 160 * 160% = 256 GB for backups
TOTAL: 160 + 256 = 416 GB

อ้างอิง : http://blog.zimbra.com/blog/archives/2009/05/6-tips-for-a-smooth-zimbra-server-install.html

Leave a Comment December 7, 2011

Ubuntu Server x86_64 error : bash: ./xxxxx: No such file or directory

วันนี้ remote ไปแก้ปัญหาบน server ของเพื่อนมาครับ คือ เขาจะรัน shoutcast บน ubuntu 10.04 เขาก็โหลด shoutcast มาแล้วแตก tar.gz ออกมาให้เรียบร้อยแล้ว แต่รัน ./sc_serv ไม่ได้มันจะ error

bash: ./sc_serv: No such file or directory

ตลอดเวลาเลยทั้งๆ ที่มีไฟล์ sc_serv อยู่ในเครื่อง ครั่นว่าจะลืม chmod ก็ลอง chmode +x sc_serv ก็ทำแล้ว แต่ก็ยัง error เห็นดังนั้นก็เอะใจว่าต้องมีอะไรผิดปกติแน่นอนเลยเอา error ไป search ใน google ดู ก็ไปเจอในกระทู้ต่างประเทศ ซึ่งบอกว่า Ubuntu เป็นตัว 64bit แต่ไม่ได้ติดตั้ง packages สำหรับรันโปรแกรม 32bit ไว้จึงทำให้เกิด error ดังกล่าว วิธีแก้ไขปัญหานี้ไม่ยากครับแค่ใช้คำสั่ง

sudo apt-get install ia32-libs

แล้วก็ลองไปสั่งรัน ./sc_serv ก็รันผ่านฉลุยครับ

1 Comment October 11, 2011

วิธีเพิ่ม Memory บนเครื่อง RHEL 5.5 Xen Host

วันนี้เจอปัญหาจากทีม Developer แจ้งว่า Network ในระบบช้าซึ่งความจึงแล้วมันไม่น่าจะช้าเพราะ Network เป็น 10GbE ทั้งหมดแต่ Developer แจ้งมาว่ามันวิ่งแค่หน่วยเป็น Kbps

[root@javacluster ~]# scp vm.tar root@192.191.3.17:~/. root@192.191.3.17's password: vm.tar 0% 34MB 47.5KB/s 119:38:22 EKilled by signal 2.

เมื่อดูจาก log ที่เขาส่งมาให้ก็แปลกใจมากๆ เพราะมันไม่น่าจะช้าขนาดนั้นเลย วันนี้เข้ามาทำงานเลยตรวจสอบทั้งอุปกรณ์ Network และเครื่อง Server ก็ปกติ
แต่ที่ไม่ปกติก็คือ Memory ของเครื่องที่ Developer ใช้งานถึงได้น้อยแค่ 512MB

[root@javacluster ~]# free -m total used free shared buffers cached Mem: 512 503 8 0 2 169 -/+ buffers/cache: 331 180 Swap: 29631 0 29631

ทั้งที่จริงมันมีมากถึง 64GB ก็มาพบสาเหตุของปัญหาเป็นเพราะว่าเครื่อง Server ดังกล่าวรันเป็น Xen Host ซึ่ง Default ของ Parameter ตอนน boot เข้า RHEL ถูกตั้งไว้ที่ 512MB เท่านั้น เลยทำการเปลี่ยนให้เป็น 4GB โดยการเข้าไปแก้ไขไฟล์ /etc/grub.conf

จาก

title Red Hat Enterprise Linux Server (2.6.18-194.el5xen) root (hd0,0) kernel /xen.gz-2.6.18-194.el5 dom0_mem=512MB module /vmlinuz-2.6.18-194.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet module /initrd-2.6.18-194.el5xen.img

เป็น

title Red Hat Enterprise Linux Server (2.6.18-194.el5xen) root (hd0,0) kernel /xen.gz-2.6.18-194.el5 dom0_mem=4096MB module /vmlinuz-2.6.18-194.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet module /initrd-2.6.18-194.el5xen.img

เปลี่ยนเสร็จแล้วอย่าลืม reboot เครื่องนะครับ
ความเร็วของ Network หลังจากเพิ่ม Memory ของเครื่อง Xen Host เพิ่มขึ้นทันตาครับ

[root@javacluster ~]# scp vm.tar root@192.191.3.17:~/. root@192.191.3.17's password: vm.tar 19% 340MB 41.5MB/s 20:22 EKilled by signal 2.

ขอบคุณแหล่งข้อมูล : http://helpinlinux.blogspot.com/2011/06/how-to-increase-memory-size-of-domain-0.html

August 3, 2011

วิธีทำ Local Repository สำหรับ RHEL 5.5 จากแผ่น DVD

วันนี้ขอไม่ลงรายละเอียดมากนะครับ เน้นกันลืม

Local Repository ก็คือการทำให้เครื่อง Server RHEL ของเราสามารถสั่ง yum แบบ offline ได้นั้นเองครับ
คือไม่ต้องต่อ Internet (ถึงต่อก็ yum ไม่ได้ถ้าไม่ซื้อ Subscription License) วิธีนี้เป็นการนำ rpm จากแผ่น dvd ที่ใช้ติดตั้งมาเก็บไว้ในเครื่อง
ทำให้สามารถสั่ง yum เพื่อช่วยในการติดตั้ง package ต่างๆ ได้สะดวกขึ้น ใครที่เคยติดตั้ง rpm เองคงรู้ดีว่า dependency package นั้นเป็นอะไรที่จุกจิกกวนใจ จะติดตั้ง package นี้ต้องไปติดตั้งไอ้โน้น ไอ้นี้ มาก่อนนะ

แต่ด้วยคำสั่ง yum install xxxx มันเข้ามาช่วยทำให้อะไรๆ ง่ายขึ้นเยอะ กล่าวคือ yum จะตรวจสอบหา dependent package ให้เอง จะติดตั้ง package a อะไรที่ a ต้องใช้ yum ก็จะติดตั้งให้เอง โอ้สะดวกดีแท้

ขั้นตอนมีคร่าวๆ ดังนี้
1. mount dvd iso
2. ใช้คำสั่ง createrepo เพื่อสร้าง package list และ group list

มาดู detail กันครับ
1. ผมมี .iso ของ rhel 5.5 อยู่ใน hdd ครับผมก็เลย upload rhel-server-5.5-x86_64-dvd.iso ไปไว้ที่ Server ที่ต้องการจะ config local repository ใครไม่มี .iso ก็เอาแผ่น dvd ที่มีอยู่ใน burn เป็น .iso ก่อนก็ได้ครับ (หรือจะ copy path Server ในแผ่นไปไว้ที่เครื่องก็ได้ แต่วิธีที่ผมจะสอนวันนี้ใช้ .iso) ผมเอาไฟล์ rhel-server-5.5-x86_64-dvd.iso ไปไว้ที่ /opt

/opt/rhel-server-5.5-x86_64-dvd.iso

2. สร้าง Mount Point สำหรับใช้เก็บไฟล์ที่ Mount มาจาก rhel-server-5.5-x86_64-dvd.iso

mkdir -p /dvd/actual

3. มา Mount กันเลย

mount -r -t iso9660 -o loop /opt/rhel-server-5.5-x86_64-dvd.iso /dvd/actual

4. Mount เสร็จแล้วก็ติดตั้ง Package createrepo ก่อน

cd /dvd/actual/Server
rpm -ivh createrepo*.rpm

5. กลับมายัง ณ ตำแหน่ง /dvd

cd /dvd

6. ติดตั้ง Package createrepo เสร็จแล้วก็สามารถ Repository file กันต่อ อย่าลืมว่าตอนนี้คุณต้องอยู่ที่ /dvd pwd ดูก็ได้

createrepo .

**อย่าลืมใส่ . ด้วยนะ

7. เสร็จแล้วเราจะได้ /dvd/repodata ข้างในมีไฟล์ .gz กับ .xml 2-3 ไฟล์

8. ทำการ copy GPG Key จากในแผ่นไปไว้ที่ /opt

cp /dvd/actual/*GPG* /opt

9. ที่นี้มาก็มาสร้าง /etc/yum.repos.d/dvd.repo กันจะ vi หรือ nano หรือ pico ก็แล้วแต่สะดวก แต่ขอให้ข้างในไฟล์มีเนื้อหาดังนี้

[dvd]
name=RHEL5DVD
baseurl=file:///dvd
enabled=1
gpgcheck=1
gpgkey=file:///opt/RPM-GPG-KEY-redhat-release file:///opt/RPM-GPG-KEY-redhat-beta

10. แค่ 9 ขั้นตอนข้างต้นก็เพียงพอสำหรับ yum install xxxx แต่มันจะยัง yum grouplist ไม่ได้ นั้นคือไม่สามารถติดตั้ง Package แบบ Group ได้ เช่น yum groupinstall “Web Server” จะยังไม่ได้ ประเด็นที่เขียนบทความนี้ก็เพราะลองทำตอนแรกมันสั่ง yum grouplist ไม่ได้นี่หละครับ เลยต้องมาเขียนกันลืมไว้ เรามาแก้ปัญหานี้ไปพร้อมๆ กัน ขั้นตอนต่อมา คือทำการ copy ไฟล์ /dvd/actual/Server/repodata/comps-rhel5-server-core.xml ไปไว้ที่ /dvd/repodata

cp /dvd/actual/Server/repodata/comps-rhel5-server-core.xml /dvd/repodata

11. ทำการ regenerate เนื้อหาของไฟล์ /dvd/repodata/comps-rhel5-server-core.xml ซะใหม่โดย

cd /dvd
createrepo -g repodata/comps-rhel5-server-core.xml .

** อย่าลืมเติม .

12. ลอง recheck ขั้นตอนกันหน่อย

- mount .iso ไปไว้ที่ /dvd/actual หรือยัง

- ติดตั้ง createrepo แล้ว ?

- สั่ง createrepo ซึ่งจะได้ /dvd/repodata แล้ว ?

- ทำการ copy GPG Key จากแผ่นไปไว้ที่ /opt แล้ว ?

- สร้างไฟล์ /etc/yum.repos.d/dvd.repo แล้ว ?

- copy ไฟล์ comps-rhel5-server-core.xml ไปเก็บไว้ที่ /dvd/repodata/ และทำการ regenerate ไฟล์ใหม่ด้วยคำสั่ง creatererp -g แล้ว ?

ถ้าคุณทำครบทุกขั้นตอนก็ตามข้างต้นก็ลองมา yum กันเลย

13. สั่ง yum กันโลด

yum clean all

yum update

yum makecache

yum install httpd

yum grouplist

yum groupinstall “Web Server”

14. yum ผ่านแล้วอยากให้ yum ได้ทุกครั้งที่เปิดเครื่องก็เอา

/opt/rhel-server-5.5-x86_64-dvd.iso /dvd/actual iso9660 defaults,ro,loop 0 0

ไปใส่ไว้ในไฟล์ /etc/fstab ก็เป็นอันจบข่าว

ใครทำไม่ได้หรือติดตรงไหน comment บอกกันไว้ได้เลย

Good Luck ;)

แหล่งข้อมูล :

http://openbysource.blogspot.com/2007/02/configuring-yum-in-rhel5-for-dvd-source.html
http://www.linuxquestions.org/questions/linux-software-2/yum-grouplist-setup-on-custom-repo-655529/ 

3 Comments July 19, 2011

วิธีเพิ่ม Swap โดยไม่ต้องสร้าง Partition ใหม่

ขั้นตอนง่ายๆ ครับ ไม่มีอะไร ไม่ต้องแบ่ง partition ใหม่ให้ยุ่งยาก แค่สร้าง dump file ขึ้นมาให้เท่ากับขนาดของ swap ที่ต้องการได้เลยโดยใช้คำสั่ง

1. สร้างพื้นที่สำหรับใช้เป็น swap

root@mrgill-laptop:~# dd if=/dev/zero of=/tmp/newswap bs=1MB count=1024

ตัวอย่างผมสร้างไฟล์ขนาด 1GB เพื่อจะใช้เป็น swap (อยากได้กี่ GB ก็คำนวนเอานะครับ x * 1024)

2. เมื่อได้ไฟล์ /tmp/newswap มาแล้วก็ถึงขั้นตอนการสร้าง newswap ให้เป็น swap โดยใช้คำสั่ง

root@mrgill-laptop:~# mkswap /tmp/newswap

3. เรียกใช้งาน newswap ที่เพิ่งสร้างไปจากขั้นตอนที่ 2 โดยใช้คำสั่ง

root@mrgill-laptop:~# swapon /tmp/newswap

4. ทดสอบเรียกดูว่า swap เพิ่มขึ้นหรือเปล่าด้วยคำสั่ง

root@mrgill-laptop:~# free -m

5. หากต้องการให้ swap ที่สร้างถูกเรียกใช้งานเองทุกครั้งที่ restart server ก็ให้ไปเพิ่มบรรทัดด้านล่างเข้าไปในไฟล์ /etc/fstab ดังนี้ครับ

/tmp/newswap swap swap defaults 0 0

ถ้าต้องการเอาไฟล์ swap ไฟล์ที่สร้างเองออกก็ใช้คำสั่ง

root@mrgill-laptop:~# swapoff /tmp/newswap
root@mrgill-laptop:~# rm -rf /tmp/newswap

ลบแล้วก็อย่าลืมไปเอาบรรทัดที่เพิ่มเข้าไปในไฟล์ /etc/fstab ออกด้วยนะครับ
ไม่งั้นเดี่ยวจะติดปัญหาตอน boot ต้องใช้แผ่น rescure เข้าไปแก้ไฟล์ /etc/fstab ยุ่งยากไปกันใหญ่

แหล่งข้อมูล : http://www.linuxreaders.com/2009/10/28/how-to-modify-swap-size/

Leave a Comment July 13, 2011

Shell In A Box ลองใช้กันดู

สวัสดีครับ ห่างหายกันไปนานกับการเขียน blog เรื่อง linux วันนี้มาเขียนเรื่อง shell in a box ครับ
พอดีได้รู้จักเจ้า Package ตัวนี้โดยบังเอิญเพราะลองติดตั้ง Zimbra Turnkey Linux แล้วสะดุดใจกับ Web Shell ของมันที่มี Port 12320 ว่ามันคืออะไรก็เลยลองเปิด Browser ไปที่ http://zimbrahost:12320 ดูก็เลยรู้ว่ามันเป็น Web Shell อย่างที่ชื่อมันบอกจริงๆ คือมีหน้าจอให้เรา Login Shell ผ่านหน้า Browser กันเลย แล้วผมก็ลอง netstate ดูใน Terminal ก็พบว่า Port 12320 เป็นของ Service ที่มีชื่อว่า shellinabox

root@zimbra:~# netstat -pant Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:12320 0.0.0.0:* LISTEN 11602/shellinaboxd tcp 0 0 0.0.0.0:12321 0.0.0.0:* LISTEN 11631/perl tcp 0 0 0.0.0.0:7780 0.0.0.0:* LISTEN 13272/httpd tcp 0 0 127.0.0.1:389 0.0.0.0:* LISTEN 11752/slapd tcp 0 0 127.0.0.1:10024 0.0.0.0:* LISTEN 13153/amavisd (mast tcp 0 0 127.0.0.1:10025 0.0.0.0:* LISTEN 13973/master tcp 0 0 127.0.0.1:7306 0.0.0.0:* LISTEN 12440/mysqld tcp 0 0 127.0.0.1:7307 0.0.0.0:* LISTEN 12171/mysqld tcp 0 0 0.0.0.0:3310 0.0.0.0:* LISTEN 13214/clamd tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 13973/master tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 13973/master tcp 0 0 127.0.0.1:7306 127.0.0.1:56248 ESTABLISHED 12440/mysqld

การตามหา Shell In A Box ยังไม่เสร็จสิ้นหลังจากทราบข้อมูลเบื้องต้นมาแล้วก็เลยเข้าไปหาข้อมูลเพิ่มเติมใน Google ก็ได้ทราบว่า Shell In A Box อยู่ใน Google Code : http://code.google.com/p/shellinabox/ รายละเอียดเข้าไปดูกันได้ครับ ผมเลยลองโหลดตัว shell in a box ที่เป็น .deb มาลองติดตั้งบน Ubuntu Desktop ของผมดู

mrgill@mrgill-laptop:~$ dpkg -i shellinabox_2.10-1_amd64.deb

ติดตั้งเสร็จก็สามารถเรียกใช้งานได้เลยครับที่ Port 4200 ผลการทดสอบก็ได้ผลดังนี้ครับ

Shell In A Box

สำหรับใครที่ต้องการเปลี่ยน Port 4200 เป็น Port อื่นก็สามารถเข้าไปแก้ไขได้ที่ /etc/default/shellinabox ครับ

root@mrgill-laptop:/etc/default# cat shellinabox # Should shellinaboxd start automatically SHELLINABOX_DAEMON_START=1 # TCP port that shellinboxd's webserver listens on SHELLINABOX_PORT=4200 # Parameters that are managed by the system and usually should not need # changing: # SHELLINABOX_DATADIR=/var/lib/shellinabox # SHELLINABOX_USER=shellinabox # SHELLINABOX_GROUP=shellinabox # Any optional arguments (e.g. extra service definitions) # We disable beeps, as there have been reports of the VLC plugin crashing # Firefox on Linux/x86_64. SHELLINABOX_ARGS=--no-beep

อยากเปลี่ยนเป็น Port อะไรก็ตามใจชอบกันเลยครับ
สำหรับ Production Server ก็ต้องคิดกันหนักหน่อยนะครับว่าจะอนุญาตในระดับไหน ยิ่งเราเปิดช่องทางให้ Remote เข้าไปถึง Server เยอะเท่าไหร่ความเสี่ยงด้านความปลอดภัยก็ยิ่งเพิ่มมากขึ้นตามไปด้วย

Leave a Comment March 11, 2011


Chat

Recent Entries

Random Posts

Social Network

Tag Cloud

Calendar

May 2012
S M T W T F S
« Mar    
 12345
6789101112
13141516171819
20212223242526
2728293031  

Twitter: imrgill

RSS LinuxToday

RSS HowToForge

RSS UbuntuClub

RSS Blognone

RSS PowerWindowsBlog

Tag

Categories

Archives

Blogroll

Meta

Get Adobe Flash player