Users in Ubuntu

วันนี้มีงานเข้า เพราะว่าจะลอง Lotus Symphony ใน Ubuntu แล้วผลปรากฎว่าโปรแกรมมันเปิดไม่ได้ เท่านั้นยังไม่พอ พี่แกล่อกิน Bookmark ในเครื่องไปด้วย พอรีบูทเครื่องไปทีนึงยิ่งไปกันใหญ่ แอปเพล็ตต่างๆ ในพาเนลที่เคยตั้งค่าไว้ มันดีดกลับไปเป็นเหมือนตอนแรกใหม่ เมนูโปรแกรมต่างๆ หายไปหมด แถมเข้าไปแก้เมนูไม่ได้อีกต่างหาก

เท่าที่ดูๆ คาดว่าตัวผู้ใช้ (User) นี้น่าจะมีปัญหาแน่ๆ แล้ว ขี้เกียจหาวิธีแก้ ลบทิ้ง สร้างใหม่โลด!

การลบผู้ใช้

  1. เพราะว่าเครื่องนี้มันมีผู้ใช้แค่คนเดียว (ไม่นับ root) เราก็เลยลบตอนที่เราล็อกอินแล้วไม่ได้ ต้องปิดไปก่อน จากนั้นเข้า Root Shell โดยเลือก Recovery Mode ตอนบูต
  2. คำสั่งที่ใช้ลบไม่มีอะไรมากกว่านี้

deluser [username] –remove-home

ไม่มีอะไรน่าปวดหัว ที่จะงงหน่อยก็คือต่อจากนี้ (ถ้าไม่อยากอ่านการผจญภัย ทำตามเฉพาะรอบที่ 4 รอบเดียว)

การเพิ่มผู้ใช้

รอบที่ 1

ใช้คำสั่งนี้

adduser [username]

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

รอบที่ 2

คราวนี้ลอง man ดูแล้วมั่วไปแบบนี้

adduser [username] –system

ผลปรากฎมันแสดงให้เห็นเลยว่าผู้ใช้นี้อยู่ในกลุ่ม nogroup ไม่ได้สร้างกลุ่มให้เหมือนเมื่อกี้ ลบทิ้งอีกที

รอบที่ 3

คราวนี้ลอง man อีกทีแล้วก็

adduser [username] –system –group

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

รอบที่ 4

แสดงว่าตัวเลือก system ไม่ใช่คำตอบ ก็กลับมาสู่สามัญ คือสั่ง

adduser [username]

เหมือนเดิม แล้วคงต้องไปแก้ที่อื่นเพื่อให้ผู้ใช้นี้มีสิทธิ์แอดมินอีกที ตอนนี้เลยโทรไปขอคำใบ้จาก @rtsp ได้ความว่า /etc/sudoers ก็ลองเอาไฟล์มันมาดูกัน หน้าตาประมาณนี้

# /etc/sudoers
#
# This file MUST be edited with the ‘visudo’ command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults    env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL

# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

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

usermod [username] –groups admin

ล็อกอินได้ แก้ไขระบบได้ จบซีรีย์ในที่สุด

About champjss

4th year student in Computer Engineering, Kasetsart University, Thailand.
Tags: , , .
  • Trackbacks
  • Comments
  • RTSP
    3 August 2009

    ปกติกุใช้แบบนี้ เถื่อนดี 55555

    %admin ALL=(ALL) NOPASSWD: ALL

  • @hybridknight
    20 August 2009

    โอ้ ความรู้ !

  • nattster
    27 August 2009

    เป็นบล็อกที่เขียนได้เจ๋งดีครับ

    อยากรู้ว่าพยายาม adduser ไป+อัพบล็อกไปด้วย
    หรือ adduser เสร็จแล้วค่อยอัพ

    ถ้าเป็นอันหลังนี่สุดยอดมากเลยครับ จำได้ทุกขั้นตอน ทุกรอบที่ fail อิๆ

  • kittipong
    16 June 2010

    มันขึ้นแบบนี้ครับ usermod: user admin does not exist

    ผมเข้าไปดูในไฟล์ admin ก็มีครับ

    ช่วยหน่อยครับ

    • champjss
      30 August 2010

      เฮือก ไม่ได้มาดูนาน เพิ่งเห็น

      ตรงขั้นไหนครับเนี่ย

  • No trackbacks yet.

Leave a Reply

*