รับทําเว็บไซต์ รับทําseo
บทความที่น่าสนใจ

บทความ ที่น่าสนใจ

Linux Server (CentOS) : เพิ่ม แก้ไข ลบ ผู้ใช้งานบนลีนุกซ์

    เนื่องจาก root สามารถทำได้ทุกอย่างบนลีนุกซ์ ไม่ว่าจะติดตั้งโปรแกรม แก้ไขคอนฟิก หรือกระทั่งสั่งปิดเครื่อง (shutdown)

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

    จนกว่าจำเป็นต้องมีการแก้ไขคอนฟิกหรือทำอะไรบางอย่างกับลีนุกซ์ที่จำเป็น ต้องทำด้วย root ค่อยใช้คำสั่ง su เปลี่ยนผู้ใช้ root (หรือใช้ sudo) และเมื่อหลังจากแก้ไขเสร็จสิ้นแล้ว ก็เปลี่ยนกลับมาเป็น user ธรรมดาอีกครั้ง

    ในบทความนี้จะอธิบายคำสั่งที่ใช้ในการ เพิ่ม แก้ไข ลบ ผู้ใช้งาน โดยต้องใช้ root เป็นคนรันคำสั่ง

    การเพิ่มผู้ใช้งาน (useradd)

    ใช้คำสั่ง useradd ตามด้วยชื่อ user ที่ต้องการเพิ่ม เช่นต้องการเพิ่มผู้ใช้งานชื่อ alice

    [root@cent6 ~]# useradd alice

    คำสั่ง id ตามด้วยชื่อผู้ใช้งาน สามารถใช้ตรวจสอบข้อมูลของผู้ใช้ได้ เช่น uid, gid ของผู้ใช้

    [root@cent6 ~]# id alice uid=500(alice) gid=500(alice) groups=500(alice)

    หากพิมพ์คำสั่ง id เฉยๆ จะเป็นการดูข้อมูลของตัวเอง เช่นถ้า root พิมพ์คำสั่ง id ไม่ได้ระบุชื่อผู้ใช้ ผลลัพธ์จะแสดงข้อมูลของ root

    [root@cent6 ~]# id uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)  context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
     
    เปลี่ยนรหัสผ่านผู้ใช้งาน (passwd)

    ใช้คำสั่ง passwd ตามด้วยชื่อผู้ใช้งาน เพื่อเปลี่ยนรหัสผ่านของผู้ใช้งาน พิมพ์ password สองครั้งให้เหมือนกัน หน้าจอจะไม่แสดงรหัสผ่านที่พิมพ์ลงไป

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

    ระวังการใช้คำสั่ง passwd ด้วย root เพราะถ้าลืมพิมพ์ชื่อผู้ใช้งานตามหลังคำสั่ง passwd จะเป็นการเปลี่ยนรหัสผ่านของตัวเอง เช่นถ้า root พิมพ์ ก็จะเป็นการเปลี่ยนรหัสผ่านของ root เอง

    [root@cent6 ~]# passwd Changing password for user root. New password:

    สังเกตชื่อ user ที่แสดงขึ้นมาหลังประโยค Changing password for user

    หากต้องการยกเลิกการรันคำสั่ง passwd (และหลายๆ คำสั่งบนลีนุกซ์) ให้กดปุ่ม [Ctrl]+[C] จะเป็นการยกเลิก และออกจากคำสั่งได้

    [root@cent6 ~]# passwd Changing password for user root. New password: [Ctrl]+[C] [root@cent6 ~]#

    คำสั่ง passwd จะมีการตรวจสอบความยากง่าย (ต่อการเดา) ของรหัสผ่านที่จะเปลี่ยน คือถ้าสามารถเดาง่ายเกินไป หน้าจอจะแสดงคำเตือนว่า BAD PASSWORD พร้อมคำอธิบายประกอบ เช่นสั้นเกินไป ง่ายต่อการเดา หรือเป็นคำที่อยู่ใน dictionary

    เพื่อความปลอดภัยของระบบ แนะนำให้ตั้งรหัสผ่านที่ยากต่อการเดา แต่ให้ผู้ใช้งานเองจำได้ด้วย

    [root@cent6 ~]# passwd alice Changing password for user alice. New password: BAD PASSWORD: it is too short BAD PASSWORD: is too simple Retype new password:

    ถ้ายังยืนยันจะใช้ root ก็สามารถเปลี่ยนรหัสผ่านให้ได้ (ไม่แนะนำ)

    ผู้ใช้งานแต่ละคนสามารถเปลี่ยนรหัสผ่านของตัวเองได้ โดยใช้คำสั่ง passwd

    ข้อแตกต่างหากรันคำสั่ง passwd ด้วยตัวผู้ใช้งานเองคือ

      - ต้องใส่รหัสผ่านที่ใช้งานอยู่ (current) ให้ถูกต้อง

      - จะไม่ยอมให้ผู้ใช้งานเอง ตั้งรหัสผ่านง่ายเกินไป

    ตัวอย่างการใส่รหัสผ่านที่ใช้งานอยู่ไม่ถูกต้อง

    [alice@cent6 ~]$ passwd Changing password for user alice. Changing password for alice. (current) UNIX password: passwd: Authentication token manipulation error

    ตัวอย่างการตั้งรหัสผ่านง่ายเกินไป คำสั่ง passwd จะไม่ยอมเปลี่ยนให้

    [alice@cent6 ~]$ passwd Changing password for user alice. Changing password for alice. (current) UNIX password: New password: BAD PASSWORD: it is too short New password: BAD PASSWORD: it is based on your username New password: BAD PASSWORD: it is based on a dictionary word passwd: Have exhausted maximum number of retries for service [alice@cent6 ~]$

    เปลี่ยนเป็น root ด้วยคำสั่ง su

    ตัวอย่างการล็อกอินด้วยผู้ใช้งานธรรมดา สังเกต พร้อมพต์จะเป็นเครื่องหมาย $

    login as: alice alice@192.168.5.62's password: [alice@cent6 ~]$

    ใช้คำสั่ง su เมื่อต้องการเปลี่ยนจากผู้ใช้งานธรรมดา ให้เป็น root ใส่ password ของ root ให้ถูกต้อง

    สังเกต พร้อมพต์ที่เปลี่ยนไปจากเครื่องหมาย $ เป็น #

    [alice@cent6 ~]$ su - Password: [root@cent6 ~]#

    ใช้คำสั่ง exit เมื่อต้องการออกจาก root เปลี่ยนเป็นผู้ใช้ธรรมดา

    [root@cent6 alice]# exit exit [alice@cent6 ~]$ 

    การใช้คำสั่ง su เพื่อเปลี่ยนเป็น root แนะนำให้พิมพ์เว้นวรรคแล้วตามด้วยเครื่องหมายลบ “-” เพื่อเปลี่ยนเป็น root แบบสมบูรณ์แบบ คือให้อ่านค่าคอนฟิกของ root  ด้วย

    ตัวอย่างที่เห็นได้ชัดคือค่าคอนฟิก PATH ระหว่างผู้ใช้ธรรมดา กับ root จะแตกต่างกัน หากเปรียบเทียบการใช้คำสั่ง su แล้วตามด้วยเครื่องหมายลบ

    [alice@cent6 ~]$ echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/alice/bin

    คำสั่ง su แบบไม่มีเครื่องหมายลบ ตัวแปร $PATH จะมีค่าเหมือนเดิม

    [alice@cent6 ~]$ su Password: [root@cent6 alice]# echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/alice/bin

    คำสั่ง su ตามด้วยเครื่องหมาย ‘-’ ตัวแปร $PATH จะเปลี่ยนไปตามคอนฟิกของ root

    [alice@cent6 ~]$ su - Password: [root@cent6 ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
     
    การลบผู้ใช้งาน (userdel)

    ใช้คำสั่ง userdel ตามด้วยชื่อผู้ใช้งานที่ต้องการลบออกจากเครื่องลีนุกซ์

    โดยดีฟอลต์ คำสั่ง userdel จะลบชื่อผู้ใช้ออกจากระบบ แต่ไฟล์ที่อยู่ใน HOME ของผู้ใช้ยังอยู่ ทั้งนี้ก็เพื่อสำรองไฟล์ไว้ เผื่อผู้ใช้งานคนนี้จะมาขอไฟล์ภายหลังได้

    ตัวอย่างการใช้คำสั่ง userdel ไม่ระบุออปชั่น

    [root@cent6 ~]# id alice uid=500(alice) gid=500(alice) groups=500(alice)  [root@cent6 ~]# userdel alice  [root@cent6 ~]# ls -ld /home/alice/ drwx------. 2 500 500 4096 Apr 21 12:44 /home/alice/  [root@cent6 ~]# id alice id: alice: No such user

    ระบุออปชั่น ‘-r’ หากต้องการลบไฟล์ที่อยู่ใน HOME ของผู้ใช้ด้วย

    [root@cent6 ~]# id alice uid=500(alice) gid=500(alice) groups=500(alice)  [root@cent6 ~]# userdel -r alice  [root@cent6 ~]# ls -ld /home/alice/ ls: cannot access /home/alice/: No such file or directory