ติดตั้ง psu-netdrive บน ubuntu

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 24-06-2557

เขียนครั้งแรกโดย WIPAT

ดูแลโดย WIBOON


  • PSU-netdrive เป็นการติดตั้ง file server บน ubuntu เพื่อให้บริการแก่ MS client สามารถ map nework drive โดยไม่ต้องใช้ SAMBA
  • ต้องติดตั้งโปรแกรม sftp net drive for windows ที่ MS client เพื่อ map network drive ในการใช้งานครั้งแรก
  • ระบบสร้าง group ชื่อ member และ sftponly เพื่อขึ้นมา
  • พื้นที่สำหรับ share อยู่ที่ /sftp/share และมีพื้นที่เตรียมไว้ให้แล้วสำหรับ share กันทุกคนใน /sftp/share/member
  • หากต้องการแยกเป็น group หลายๆ group ก็สามารถสร้างชื่อ group ใหม่ได้ และเพิ่มผู้ใช้เข้าไปใน group ใหม่ได้
  • พื้นที่สำหรับ home อยู่ที่ /sftp/home และแต่ละคนจะมีไดเรกทอรีต่างๆใน home ของตนเอง รายละเอียดเพิ่มเติมดังนี้

    คำแนะนำการใช้ PSU-netdrive file server
    1. เมื่อ Login เข้ามาแล้ว จะเห็นไดเรกทอรีอยู่ 4 ชื่อ
    :: group คือ ไดเรกทอรีที่ share file ของแต่ละกลุ่มที่ตั้งขึ้น ใช้งานไฟล์ร่วมกันผ่านทาง Windows Map Network Drive
    member คือ ชื่อไดเรกทอรีที่สร้างไว้ให้อันแรกสำหรับผู้ใช้ทุกคนแชร์ไฟล์ร่วมกัน ทุกคนเห็นและมีสิทธิแก้ไขหรือลบไฟล์
    อื่นๆ คือ ชื่อไดเรกทอรีที่สร้างขึ้นจากคำสั่ง sudo sh netgroupadd.sh
    :: private คือ ไดเรกทอรีที่เก็บไฟล์ส่วนตัว ผู้อื่นมองไม่เห็น
    :: ishare-id คือ ไดเรกทอรีที่ต้องการส่งไฟล์ให้เพื่อนทาง Internet และเปิดเผยให้เห็นชื่อไฟล์เมื่อเปิด Browser เช่น IE, Firefox หรือ Google Chrome
    เช่น ishare-1001 เมื่อเปิด Browser ที่ http://servername.domain/ishare/1001 ก็จะเห็นรายการชื่อไฟล์ต่างๆ
    :: hidename-id คือ ไดเรกทอรีที่ต้องการส่งไฟล์ให้เพื่อนทาง Internet แต่ไม่เปิดเผยให้เห็นชื่อไฟล์เมื่อเปิด Browser เช่น IE, Firefox หรือ Google Chrome
    เช่น hidename-1001 เมื่อเปิด Browser ที่ http://servername.domain/hidename/1001 จะไม่เห็นรายการไฟล์ต่างๆ แต่สามารถระบุชื่อเป็น link เพื่อส่งไฟล์ให้เพื่อน เช่น http://servername.domain/hidename/1001/test.jpg
    2. ต้องเข้าไปในไดเรกทอรีอันใดอันหนึ่งในข้อ 1 จึงจะสร้างไฟล์ได้

  • ทดสอบกับ ubuntu 10.04, 12.04.4, 14.04


ขั้นตอนการติดตั้ง

  1. หลังจากติดตั้ง ubuntu server เสร็จแล้ว ให้ login เข้าทำงาน
  2. ให้ดาวน์โหลดแฟ้ม http://ftp.psu.ac.th/pub/psu-netdrive/psu-netdrive.tgz มาเก็บไว้ก่อน
    ตัวอย่างดาวน์โหลดมาเก็บไว้ที่ /tmp ใช้คำสั่งประมาณว่า
    wget http://ftp.psu.ac.th/pub/psu-netdrive/psu-netdrive.tgz -N -P /tmp
  3. แตกแฟ้มที่ดาวน์โหลดมา เอาไปเก็บไว้ที่ /tmp ด้วยคำสั่งประมาณว่า
    tar -zxpvf /tmp/psu-netdrive.tgz -C /tmp
  4. เข้าไปทำงานใน directory ที่ถูกสร้างขึ้นมาตอนแตกแฟ้มนี้ ด้วยคำสั่งประมาณว่า
    cd /tmp/psu-netdrive
  5. เริ่มขั้นตอนติดตั้งด้วยคำสั่ง
    sudo sh install-psu-netdrive.sh
  6. ระบบจะเริ่มทำการติดตั้ง รอจนเสร็จ
  7. เข้าทำงานด้วยสิทธิ root ด้วยคำสั่ง
    sudo su -
    จะเข้าไปอยู่ที่ /root
  8. ระบบจะเก็บโปรแกรมจัดการบัญชีผู้ใช้ไว้ใน /root
    /root/netuseradd.sh สำหรับสร้างบัญชีผู้ใช้รายใหม่แบบ local user หรือ ใช้บัญชีผู้ใช้ radius user ที่มีอยู่เดิมและใช้รหัสผ่านเดิม
    /root/netuserdel.sh สำหรับลบบัญชีผู้ใช้
    /root/netgroupadd.sh สำหรับสร้างชื่อ group ใหม่
    /root/netusergroupdel.sh สำหรับลบชื่อ group
    /root/netusergroupadd.sh สำหรับเพิ่มสมาชิกเข้าใน group ที่ต้องการ
    /root/netusersetquota.sh สำหรับกำหนด disk quota ให้บัญชีผู้ใช้
    /root/bulknetuseradd.sh สำหรับสร้างบัญชีผู้ใช้คราวละมากๆโดยอ่านจากไฟล์ที่เก็บบัญชีผู้ใช้
    /root/bulknetuserdel.sh สำหรับลบบัญชีผู้ใช้คราวละมากๆโดยอ่านจากไฟล์ที่เก็บบัญชีผู้ใช้
    /root/makeusername.sh สำหรับสร้างรายชื่อบัญชีผู้ใช้จำนวนมากที่ขึ้นต้นด้วยชุดอักษรเหมือนกัน เช่น stud01, stud02 เพื่อใช้กับ /root/bulknetuseradd.sh
    /root/netuserupdatehome.sh สำหรับปรับปรุง home ของผู้ที่เคยติดตั้ง PSU-netdrive.version ก่อนวันที่ 2556-04-17 และ 2557-02-19 เป็นเวอร์ชั่นปัจจุบัน
  9. วิธีเรียนรู้ว่าคำสั่งเหล่านี้ว่าใช้งานอย่างไร ให้พิมพ์ชื่อคำสั่ง แล้วกดแป้น Enter เช่น
    sudo sh /root/netuseradd.sh กดแป้น Enter จะมีคำแนะนำช่วย
    usage: sudo sh /root/netuseradd.sh username [option]
    option:
    -y = add username from freeradius database
    -p password = add username with password


การใช้งานโปรแกรมจัดการบัญชีผู้ใช้

  1. ที่ server
    สร้าง user ที่เป็นสมาชิกของ member และ sftponly ด้วยคำสั่งประมาณว่า
    sudo sh /root/netuseradd.sh username [option]
  2. ที่ MS Client
    ลองใช้โปรแกรม filezilla เข้ามาได้เลย หรือ ใช้โปรแกรมอื่นที่ทำการ map network drive เช่น sftp net drive for windows
  3. ลบ user ที่เป็นสมาชิกของ member และ sftponly ด้วยคำสั่งประมาณว่า
    sudo sh /root/netuserdel.sh USERNAME
  4. สร้าง group ใหม่ ด้วยคำสั่งประมาณว่า
    sudo sh /root/netgroupadd.sh GROUPNAME
    ลบ group ทิ้ง ด้วยคำสั่งประมาณว่า
    sudo groupdel GROUPNAME
  5. การเพิ่ม user เข้าไปภายใน group ใช้คำสั่งประมาณว่า
    sudo sh /root/netusergroupadd.sh username groupname
    กรณีที่ต้องการทำจำนวนมากๆ ให้เฉพาะ user ที่กำหนดเท่านั้นที่อยู่ group ใช้คำสั่งประมาณว่า
    sudo gpasswd -M USER1,USER2,USER3,... GROUPNAME
  6. การลบ user ออกจาก group ใช้คำสั่งประมาณว่า
    sudo sh /root/netusergroupdel.sh username groupname
  7. เปลี่ยนรหัสผ่านบนเวบด้วยตัวอย่างว่า
    http://server.domain/myservice/change-password.php