Monday, March 30, 2009

File Sharing Management

การประยุกต์ใช้ลีนุกซ์สำหรับองค์กร นอกจากจะพิจารณาถึงเรื่องลดต้นทุนด้านลิขสิทธิ์แล้ว ความเหมาะสมต่อระบบงาน ก็เป็นเรื่องที่สำคัญเช่นกัน หากองค์กรลดต้นทุนทางด้านลิขสิทธิ์ลงได้ แต่ระบบงานต่าง ๆ ต้องหยุดชะงัก หรือสำเร็จลงได้อย่างทุกลักทุเล อันเนื่องมาจากการคอนฟิกลีนุกซ์ และการประยุกต์ใช้ไม่เหมาะสมกับลักษณะงานแล้ว ถึงขนาดที่ผู้บริหารต้องกลับมาพิจารณาว่าลีนุกซ์นั้นเหมาะต่อองค์กรของเราหรือยัง ??? คงไม่ใช่เรื่องสนุกแน่

ผู้เขียนเกริ่นไว้ในย่อหน้าแรกแบบคนมองโลกในแง่ลบ เพราะหลาย ๆ บริษัทที่ผู้เขียนได้ประสบมา มีการนำลีนุกซ์มาใช้ในองค์กร และต้องเปลี่ยนใจกลับไปใช้ windows 2003 เหมือนเดิม ส่วนใหญ่จะมีปัญหากับการทำ file sharing และเซตอัพตัวลีนุกซ์ให้ยืดหยุ่นกับลักษณะงานที่ต้องแชร์กันไม่ได้ อย่างเช่นงานโปรเจก ที่ไฟล์ๆหนึ่งต้องมีการเข้ามาใช้หลายคน จากหลายฝ่าย แต่ละคนที่เข้าถึงไฟล์นั้นต้องมีการแก้ไขบ้าง ปรับปรุงบ้าง บางคนให้เข้าถึงไฟล์นั้นได้ แต่ห้ามแก้ไข เป็นต้น หรืองานทางด้านการผลิตที่มีการผูกสูตรการผลิต (BOM) เป็นไฟล์ excel และให้ฝ่ายต่าง ๆที่เกี่ยวข้องกรอกข้อมูล พอ save ไฟล์แล้วอีกฝ่ายหนึ่งเปิดขึ้นมาเป็น read only และต้องแก้ค่า permission กันอยู่ตลอด ปัญหาต่าง ๆ เหล่านี้ เมื่อแอดมินพยายามแก้ปัญหาก็จะมองไปที่ configuration ของ samba เป็นหลัก โดยไม่มองให้ลึกลงไปถึงตัวลีนุกซ์ที่ samba ใช้เป็นเจ้าเรือนในการรัน ซึ่งมี permission ในการจัดการไฟล์ ก่อนที่ตัว samba จะเข้ามาจัดการในส่วนของ samba เอง (ด้วย option : create mask,directory mask,directory security mask เป็นต้น)

ปัญหาการแชร์ไฟล์ในลักษณะดังกล่าวข้างต้นนั้น ลีนุกซ์เอง มีวิธีการจัดการได้อย่างเหมะสมและยืดหยุ่น ด้วยคำสั่งต่าง ๆ ของลีนุกซ์อยู่แล้ว แทบจะไม่ต้องไปกำหนดค่า option เพิ่มเติมให้ samba เลย เรามาลอง implement file sharing ตามโจทก์ข้างต้นนั้นโดยยกตัวอย่างไฟล์สูตรการผลิตที่เป็น excel (BOM : Bill of Material) ดังนี้

1. สร้างไดเรกทอรีบนลีนุกซ์เพื่อเปิดแชร์ร่วมกันก่อน
#mkdir /home/bomproduct
2. สร้างกลุ่ม และสร้างรายชื่อผู้ใช้งานมีสังกัดกลุ่ม เช่น
#groupadd mktgrp
#groupadd productgrp
#useradd -g mktgrp tawich
#useradd -g mktfrp somporn
#useradd -g productgrp somjit
#useradd -g productgrp prakong
3. ไดเรกทอรี /home/bomproduct มีเจ้าภาพคือสังกัดกลุ่ม productgrp ในข้อหนึ่งเราสร้างขึ้นมาโดย root ให้เปลี่ยนเป็นกลุ่ม productgrp ด้วยคำสั่ง #chgrp -R productgrp /home/bomproduct
4. กำหนดให้ไดเรกทอรีหรือไฟล์ใดๆ ที่ถูกสร้างขึ้นมาเป็นกลุ่ม productgrp เสมอไม่ว่าผู้สร้างจะเป็นใครสังกัดกลุ่มไหน ด้วยคำสั่ง #chmod -R 2775 /home/bomproduct
5. เพิ่มผู้ใช้งานจากกลุ่มต่าง ๆ เข้าเป็นสมาชิกของกลุ่ม productgrp
#gpasswd -M tawich,somporn (ตัวอย่างนี้เป็นการเพิ่ม user 2 คนจากกลุ่ม mktgrp เข้าเป็นสมาชิกเพิ่ม)
6. กำหนด umask ในไฟล์ /etc/bashrc ให้เป็น 002 (ตัวอย่างนี้เป็น FC9)
7. สร้างแชร์ริ่งด้วย samba แก้ไขไฟล์ /etc/samba/smb.conf
[bomfiles]
comment = BOM for Product
path = /home/bomeproduct
browseable = yes
read only = no

นี่เป็นตัวอย่างจริง ๆ จากการ implement ให้บริษัทแห่งหนึ่ง และได้ใช้ samba โดยมีลีนุกซ์เป็นพลังขับเคลื่อนระบบ BOM มาจนถึงบัดนี้....
เอกสารการ implement โดยละเอียดพร้อมภาพประกอบ ผู้อ่านสามารถดาวน์โหลดได้ที่นี่


แหล่งข้อมูลเพิ่มเติม เกี่ยวกับ permission

http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/ref-guide/s1-users-groups-private-groups.html
http://www.lockergnome.com/linux/2002/08/29/the-users-mask/
http://www.dartmouth.edu/~rc/help/faq/permissions.html
http://www.ubuntuclub.com/node/58

0 comments:

Twitter Delicious Facebook Digg Stumbleupon Favorites More