Linux13

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 3-12-2555

ดูแลโดย WIBOON


Linux 13: การจัดทำบริการ network drive ด้วย PSU-netdrive


เป้าหมาย

  • เพื่อจัดทำ file server อย่างง่ายที่มีพื้นที่ share file สำหรับ username ที่สร้างขึ้นด้วยโปรแกรม shell script และให้ใช้งานผ่านโปรโตคอล SFTP ซึ่งบน Windows จะมีโปรแกรมให้ใช้ชื่อว่า SFTP net drive for Windows ซึ่งใช้ในการ map network drive ไปยัง พื้นที่ share file นั้น
  • username ที่สร้างจากโปรแกรม shell script นี้ จะใช้คำสั่ง ssh จาก putty ไม่ได้เพื่อความปลอดภัยของเซิร์ฟเวอร์ หากผู้ใช้งานต้องการเปลี่ยนรหัสผ่าน ให้เข้าผ่านเว็บเบราว์เซอร์ ที่ http://หมายเลขไอพีของเซิร์ฟเวอร์/myservice/change-password.php
  • จากที่ได้เรียนรู้ เรื่อง การจัดการ users และ groups การจัดการแฟ้มและกำหนดสิทธิ์ การจัดพื้นที่แบ่งใช้ร่วมกันของผู้ใช้ มาแล้ว เพื่อให้การทำงานของเราง่ายขึ้น จึงได้รวบคำสั่งโดยสร้างเป็นโปรแกรม shell script ขึ้นมา เรียกชุดนี้ว่า PSU-netdrive


รายละเอียด

ขั้นตอนติดตั้ง PSU-netdrive

  1. ตรวจสอบว่าเปิด ubuntu server แล้ว และทำให้ ubuntu server ออกอินเทอร์เน็ตได้
  2. ที่ Windows รันโปรแกรม Putty > ช่อง Host Name ใส่หมายเลขไอพีของ ubuntu-server > Port เป็นค่า 22
  3. เข้าใช้ด้วย login ชื่อ mama และ password คือ 123456
  4. ดาวน์โหลดแฟ้ม psu-netdrive.tgz มาเก็บไว้ที่ /tmp ใช้คำสั่งประมาณว่า
    wget -N -P /tmp http://ftp.psu.ac.th/pub/psu-netdrive/psu-netdrive.tgz
  5. แตกแฟ้มที่ดาวน์โหลดมา เอาไปเก็บไว้ที่ /tmp ด้วยคำสั่งประมาณว่า
    tar -zxpvf /tmp/psu-netdrive.tgz -C /tmp
  6. เข้าไปทำงานใน directory ที่ถูกสร้างขึ้นมาตอนแตกแฟ้มนี้ ด้วยคำสั่งประมาณว่า
    cd /tmp/psu-netdrive
  7. เริ่มขั้นตอนติดตั้งด้วยคำสั่ง
    sudo sh install-psu-netdrive.sh
  8. ระบบจะเริ่มทำการติดตั้ง รอจนเสร็จ

ขั้นตอนสร้าง username

  • สร้าง user ที่เป็นสมาชิกของ member และ sftponly ด้วยคำสั่งประมาณว่า sudo sh /root/netuseradd.sh USERNAME
    ให้สร้างตามตัวอย่างดังนี้
    บัญชีผู้ใช้ชื่อ bob
    sudo sh /root/netuseradd.sh bob
    บัญชีผู้ใช้ชื่อ john
    sudo sh /root/netuseradd.sh john
    บัญชีผู้ใช้ชื่อ susan
    sudo sh /root/netuseradd.sh susan

คำอธิบายสิทธิการจัดการไฟล์ในโฟลเดอร์

  • โฟลเดอร์ชื่อ home คือที่เก็บข้อมูลของแต่ละคน จะเข้าไปดูของคนอื่นไม่ได้
    เช่น bob จะมีสิทธิ์ครบถ้วนในโฟลเดอร์ /home/bob เป็นต้น
  • โฟลเดอร์ชื่อ share คือที่แชร์ไฟล์ร่วมกัน มีสิทธิ์ตามโฟลเดอร์ย่อยที่สร้างขึ้น แต่ห้ามสร้างโฟลเดอร์ย่อยตรงนี้
    โฟลเดอร์ย่อยชื่อ gmember คือที่แชร์ไฟล์ร่วมกัน ที่ทุกคนมีสิทธิ์ครบถ้วน

ขั้นตอนการทดสอบการแชร์ไฟล์ แบบ map network drive บน MS Windows

  • เปิดโปรแกรม SFTP net drive for Windows
  • ให้เข้าใช้ด้วย username คือ bob แล้วคลิกปุ่ม CONNECT
    คัดลอกไฟล์มาเก็บไว้ใน S: > home > bob
    คัดลอกไฟล์มาเก็บไว้ใน S: > share > gmember
    ทดสอบการสร้างโฟลเดอร์ย่อยใน S: > share > gmember
    คลิกปุ่ม DISCONNECT เพื่อออก
  • ให้เข้าใช้ด้วย username คือ john แล้วคลิกปุ่ม CONNECT
    คัดลอกไฟล์มาเก็บไว้ใน S: > home > john
    คัดลอกไฟล์มาเก็บไว้ใน S: > share > gmember
    ทดสอบการลบไฟล์และโฟลเดอร์ย่อยที่ bob สร้างไว้
    คลิกปุ่ม DISCONNECT เพื่อออก
  • ให้เข้าใช้ด้วย username คือ susan แล้วคลิกปุ่ม CONNECT
    คัดลอกไฟล์มาเก็บไว้ใน S: > home > susan
    คัดลอกไฟล์มาเก็บไว้ใน S: > share > gmember
    คลิกปุ่ม DISCONNECT เพื่อออก


(option) หากต้องการลบ username

ขั้นตอนลบ username

  • ลบ user ที่เป็นสมาชิกของ member และ sftponly ด้วยคำสั่งประมาณว่า
    sudo sh /root/netuserdel.sh USERNAME