thaiall logomy background

ลีนุกซ์ (Linux) : superuser

my town
หน้าหลัก | ลีนุกซ์คืออะไร | แนะนำหนังสือ | superuser | บันทึกปัญหา |
 0995
9.95 การย้ายระบบ user จากเครื่องหนึ่งไปอีกเครื่องหนึ่ง
: วิธี copy passwd, shadow, group และแฟ้มอื่น ๆ อีกมากมาย
    ขั้นตอนการ copy passwd,shadow,group
    ขั้นตอนที่ 1 : เตรียมพร้อม และทำความเข้าใจ
  1. ใจเย็น ๆ ดูว่านอกจาก 3 แฟ้มดังกล่าวแล้ว ท่านจะคัดลอกแฟ้มอื่นอีก หรือไม่ เช่น mail ใน inbox ซึ่งอยู่ในห้อง /var/spool/mail หรือ ข้อมูลใน home directory ของทุกคน ถ้าทำก็จะยุ่งหละครับ ถ้าไม่อยากยุ่งยากใช้ ghost copy harddisk ตามหัวข้อ 9.96 ดีกว่าครับ 20 นาทีก็เสร็จ และขั้นตอนก็ไม่มีอะไรมาก แค่ถอดเครื่อง เสียบ harddisk ให้ถูก port แล้วก็ใช้โปรแกรม ghost ก็จะได้ harddisk 2 ตัวที่เหมือนกัน
  2. เหตุที่ต้อง copy /etc/passwd, /etc/shadow, /etc/group ใน case ของผม คือ server ตัวเก่ามีปัญหาสารพัด ลง server ตัวใหม่สมบูรณ์ดีแล้ว และที่หนักก็คือระบบเดิมเป็น scsi ใน sun ระบบใหม่เป็น linux เสียดาย account ถ้าสร้าง user ใหม่ทีละคน ก็ต้องใช้เวลา จึงต้อง copy account ทั้งหมดมา
    ขั้นตอนที่ 2 : เริ่ม copy และ backup
  3. ให้ใช้โปรแกรม ftp ดี ๆ จะได้สะดวกเช่น ws_ftp หรือ cute_ftp ย้ายข้อมูล หรือใช้ ftp จากเครื่องใหม่ติดต่อเข้าเครื่องเก่าก็ได้ สะดวกดี แต่ต้อง backup ของเดิมในเครื่องใหม่ด้วย
  4. เข้าไป copy ข้อมูลด้วย root ไปเก็บใน home ของ user demo และเปลี่ยน permission จะได้ copy ออกมาได้ เหตุที่ต้องใช้ demo เพราะแฟ้มที่กำลังจะ copy ส่วนใหญ่เป็นความลับ คนที่เข้าได้คือ root เท่านั้น แต่จะใช้ user root เปิด ftp ก็ไม่ได้ จึงต้องคัดลอกไปไว้ใน home ของ demo แล้วเปลี่ยน permission จะได้ คัดลอกออกมาได้
  5. ส่งข้อมูลทั้งหมดเข้าไปใน server ตัวใหม่ โดย get แบบ binary (ย้ำว่าแบบ ascii ไม่ work)
  6. ให้ copy passwd,shadow,group เก็บไว้อีกที่หนึ่ง เพราะถ้าส่งเข้าไปทับแล้วไม่ work จะมีปัญหาซะเปล่า เมื่อ copy เข้าไปแล้วก็อย่างพึ่ง reboot ให้ลองใช้ user ที่ copy มา connect เข้าไปเป็น root ถ้าใช้ได้ก็ถือว่า copy สำเร็จ
  7. copy แฟ้มทั้งหมดในห้อง /var/spool/mail ซึ่งเป็นห้องเก็บ inbox ของทุกคน
  8. copy แฟ้มทั้งหมดในห้อง /var/www/html ซึ่งเป็นห้องเก็บ web space ของทุกคน
  9. copy แฟ้มทั้งหมดในห้อง /home ซึ่งเป็นห้องเก็บข้อมูลต่าง ๆ ของทุกคน (อาจสร้างให้ใหม่ได้)
    ขั้นตอนที่ 4 : แก้ permission และสร้าง home
  10. สร้างรายชื่อสมาชิกทุกคนให้ใช้คำสั่ง cut /etc/passwd --fields=1 --delimiter=: >listall จะได้แฟ้มชื่อ listall ซึ่งมี username ของทุกคน
  11. ใช้ pico listall เข้าไปลบรายชื่อที่ไม่คิดจะสร้าง home เช่นรายชื่อของผู้ใช้ที่ระบบสร้างให้ ให้ท่านลบทิ้งซะ
  12. เนื่องจาก mail ใน /var/spool/mail ที่คัดลอกมามี owner และ permission ไม่ถูกต้อง และ home แต่ละคนก็ยังไม่มี จึงใช้ shell script ด้านล่าง
    อย่าลืมเอา # ออกตามสมควร
      #!/bin/sh
      # exit 0
      # chmod 700 crthome
      # shell>crthome <listall
      read getu
      while [ $getu. != '.' ]
      do
        echo $getu
        ## change mail owner
        chown $getu:mail /var/spool/mail/$getu
        chmod 660 /var/spool/mail/$getu
      
        ## create home
        # mkdir /home/$getu
        # chown $getu:users /home/$getu
        # mkdir /home/$getu/public_html
        # chown $getu:users /home/$getu/public_html
        # chmod 711 /home/$getu
        # chmod 755 /home/$getu/public_html  
        read getu
      done
      

    ขั้นตอนที่ 5 : แฟ้มอื่น ๆ ที่ต้องพิจารณาที่จะคัดลอก db.yonok.ac.th db.isinthai.com db.lampang.net db.202.29.78 resolv.conf named.conf httpd.conf grub.conf lilo.conf sendmail.mc procmailrc localhost.zone rc.local

---
สารบัญ
บทที่ 9 : การบริหารระบบ โดย Super User
9.1 กำหนด IP address และ host name
9.5 Shell script เพิ่มผู้ใช้ _crt
9.6 Shell script ลบผู้ใช้
9.9 แก้ไข aliases ของ user account
9.10 เพิ่ม IP ใน Server ตัวเดียวด้วย IFCONFIG
9.11 เพิ่ม Virtual hosts
9.12 ตัวอย่าง router configuration และการ block port
9.50 ความผิดพลาด
9.52 ปรับระบบให้แข็งแรง
9.53 การทำ restricted shell
9.54 ติดตั้ง TCPWrapper เพื่อตรวจสอบ IP เครื่องต้นทาง
9.55 Network security
9.56 Procmail เพื่อกรอง spam mail และ junk mail
9.58 โปรแกรมภาษา c เพื่อสร้าง crypt ให้ shadow
9.59 ลีนุกซ์บนวินโดวส์ ด้วย cygwin (Unix Simulator)
9.61 ลืมรหัสผ่านของ root
9.62 แก้ไข httpd.conf เพื่อแก้ปัญหาของ web server
9.63 วิธีเปิดบริการ FTP server ด้วย vsftpd
9.64 วิธีเปิดบริการ homepage ให้ ~username ใน linux
9.65 วิธีเปิดบริการ samba
9.66 วิธีเปิดบริการ DNS server
9.67 ติดตั้งโปรแกรมสำหรับ Free hosting ด้วย easyhost_free.zip by CyberScript
9.68 ติดตั้งโปรแกรมสำหรับ Web-based mail ด้วย uebimiau-2.7.2-any.zip
9.69 ติดตั้ง DHCP server แจก Dynamic IP
9.71 ติดตั้ง Web Mail ของ Adjeweb หรือ Squirrelmail
9.72 ติดตั้ง squid เป็น Proxy server ที่ 3128
9.73 เพิ่ม incoming ในบริการ ftp
9.74 User authentication ด้วย .htpasswd + .htaccess
9.75 เปิดบริการ SSI (Server Side Include)
9.76 การติดตั้ง Radius
9.77 ติดตั้ง Modem สำหรับให้บริการเรียกเข้ามา
9.78 SMTP สำหรับ outgoing ของ Outlook ..
9.79 ติดตั้ง SSL (Secure Sockets Layer)
9.95 การย้ายระบบ user จากเครื่องหนึ่งไปอีกเครื่องหนึ่ง
9.96 วิธี copy server หรือ host(Backup)
9.97 Server ตัวนี้ให้บริการอะไรได้บ้าง
9.98 ขั้นตอนการทำ server ตัวนี้
9.99 การบำรุงรักษา และตรวจสอบ
Thaiall.com