Posts Tagged ‘linux’

พอดีได้ทดลอง setup svn server มา แล้วทีนี้ก็อยากให้มันส่งเมล ตอนที่มีการคอมมิท แล้ว แต่ว่า พอดีไม่อยากเขียน php ใหมันเป็นทางการและยุ่งยากมากเกินไปนัก เลยจัดการหาวิธีให้มันส่งเมลผ่านทาง cmd ก็ได้ตามนี้แหละ

คือว่า unix ทุกเครื่องมันจะ mail แบบกากๆ ได้อยู่แล้ว ดังนั้น ก็ใช้มันซะเลย
#mail จาก terminal ได้ก็พอ
แล้วก็ทดลองส่งเล้ย

echo “the body message ” | mail -s “the subject ” test@domain.com

มันทำได้แบบนี้แหละ

อ่านเพิ่มเติม http://linux.about.com/od/commands/l/blcmdl1_Mail.htm

อันนี้ผมลองใช้บน centos เท่านั้น ไม่รู้ว่าอย่างอื่นจะใช้ได้หรือเปล่า
ก่อนอื่นเริ่มต้นด้วยการสร้าง user ขึ้นมาใหม่ก่อน ต้องทำด้วย root เท่านั้น

useradd newuser

ตั้ง pass ให้ user ใหม่

passwd newuser
ใส่พาสสองครั้ง

ให้ user นั้นเข้าไปในกรุปของ sshd อันนี้ไม่แน่ใจว่าจำเป็นหรือเปล่า แต่ผมคิดว่าไม่น่าจะจำเป็น ตอนแรกลองสุ่มๆ แล้วทำไปแล้วหนะ
usermod -a -G sshd newuser

แก้ไขไฟล์ sshd_config เพื่อบอกให้ sshd รับ user ที่จะเข้ามาด้วย
nano /etc/ssh/sshd_config

เพิ่มบรรทัดต่อท้าย
AllowUsers newuser

restart sshd

Debian /etc/init.d/sshd restart
Centos service sshd restart

เท่านี้เราก็จัดการกับ sshd เรียบร้อยแล้ว ทีนี้ เรามาเพิ่มให้ newuser นั้น สามารถใช้คำสั่ง sudo ได้ ดีกว่า
เราจะจัดการโดยเพิ่มเข้าใน sudoler list
visudo
ตรงนี้ใครที่ใช้ vi ไม่เป็นจะลำบากหน่อย
ว่าแล้วเราก็กดเลื่อนๆไปเพื่อหาบรรทัด
root ALL=(ALL) ALL
กด i เพื่อให้ vi เข้าสู่โหมดเขียนไฟล์
จากนั้นเพิ่มเข้าไปบรรทัดนึง
newuser ALL=(ALL) ALL
กด esc เพื่อให้ vi รับคำสั่ง แล้วพิม :wq (โคลอน wq )แล้วกด enter

เรียบร้อยคับ
อย่าลืมทดลองก่อนด้วยว่าใช้ได้จริงหรือเปล่า มีปัญหาอะไร ลองคอมเม้นถามผมได้นะค้าบบบ

iostat มีไว้เพื่อดู disk input/output ณ ขณะนั้น
แพกเกจ iostat มีอยู่ใน linux เกือบทุกตัว ถ้าเกิดว่าlinux หาcommand ไม่เจอแล้วฟ้องออกมาว่า

-bash: iostat: command not found

ให้ลองลงแพกเกจชื่อว่า sysstat ดูครับ
CentOS Redhat:

yum install sysstat

Ubuntu, Debian (as root):

apt-get install sysstat

ทดสอบรัน iostat

[root@ns1 ~]# iostat
Linux 2.6.18-194.32.1.el5 (ns1.pheonize.in.th) 01/18/2011

avg-cpu: %user %nice %system %iowait %steal %idle
0.08 0.02 0.10 0.02 0.00 99.78

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 2.71 17.49 73.32 5072330 21264564
sda1 0.00 0.01 0.00 2240 52
sda2 2.71 17.48 73.32 5069786 21264512
dm-0 9.52 17.48 73.32 5068506 21264512
dm-1 0.00 0.00 0.00 896 0

OS ทุกๆ OS ที่ใช้ Unix หรือ Linux เป็นแกนหลัก เช่น Redhat Ubuntu CentOS จะใช้คอมมานด์ passwd ในการเปลี่ยนพาสเวิด เหมือนกันทุกระบบ

การใช้ passwd นั้นสามารถใช้เปลี่ยนพาสเวิดทั้ง user และ group accounts โดยที่ว่า user ทั่วไป normal user จะเปลี่ยน password ของตัวเองได้เท่านั้น แต่ว่า ถ้าเป็น superuser เช่น root จะสามารถเปลี่ยนพาสเวิดได้ทุก account

เปลี่ยนPassword ให้ user ของตัวเอง
passwd

ถ้าเกิดเป็น user ของตัวเองนั้น ไม่ใช่ superuser (ไม่ใช่ user root ) user นั้นจำเป็นจะต้องพิมพ์พาสเวิดเก่าของตัวเองก่อนด้วย
ดังนั้น จะพบ output ประมาณ

Changing password for pheonize
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

ถ้าเกิดเป็น superuser(เช่น root จะไม่มีการถาม password เก่า)เพื่อที่จะให้ user ระดับนี้ สามารถแก้ไขพาสเวิดที่ user ปกติลืมได้


[root@ns1 ~]# passwd
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

ส่วนการที่ root เปลี่ยน password ให้ user อื่น สามารถทำได้โดยการ พิม passwd ตามด้วย username ที่ต้องการเปลี่ยน password

passwd username

จะได้ผลส่งกลับมาว่า

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

ถ้าต้องการเปลี่ยน group password ให้ใช้

passwd -g groupname