การจัดการกับบัญชีผู้ใช้ (Users)

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

 

รู้จักกับซูเปอร์ยูสเซอร์

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

การเพิ่มผู้ใช้งานเข้าสู่ระบบ

ขั้นตอนที่ 1 : เพิ่มกลุ่มของผู้ใช้งาน

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

webmaster
admin
developer
manee chujai sawasdee
mana somsak piti

หลังจากที่ได้วางแผนเรียบร้อยแล้ว ทำการเพิ่มกลุ่มด้วยคำสั่ง groupadd ดังนี้

# groupadd webmaster

# groupadd admin

# groupadd developer

 

ขั้นตอนที่ 2 : เพิ่มผู้ใช้งานเข้ากลุ่ม

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

# useradd -g webmaster manee

# useradd -g webmaster mana

# useradd -g admin chujai

# useradd -g admin somsak

# useradd -g developer sawasdee

# useradd -g developer piti

หลังจากที่ได้มีการสร้างผู้ใช้งานเรียบร้อยแล้ว ผู้ใช้งานแต่ละคน ก็จะมีโฮมไดเรคเทอรีของตัวเอง อยู่ที่ /home/ชื่อผู้ใช้ สามารถตรวจสอบดูได้จากคำสั่ง ls -l /home/ ซึ่งมีผลลัพธ์ดังนี้

# ls -l /home/

total 48
drwx------ 2 chujai admin 4096 May 15 00:43 chujai
drwx------ 2 root root 16384 May 1 02:09 lost+found
drwx------ 2 mana webmaster 4096 May 15 00:42 mana
drwx------ 2 manee webmaster 4096 May 15 00:42 manee
drwx------ 2 piti developer 4096 May 15 00:43 piti
drwx------ 2 sawasdee developer 4096 May 15 00:43 sawasdee
drwx------ 2 somsak admin 4096 May 15 00:43 somsak

การตั้งรหัสผ่านให้กับผู้ใช้

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

# passwd manee
Changing password for user manee.
New UNIX password: ใส่รหัสผ่านให้กับผู้ใช้
BAD PASSWORD: it does not contain enough DIFFERENT characters
Retype new UNIX password: ใส่รหัสผ่านให้กับผู้ใช้อีกครั้ง
passwd: all authentication tokens updated successfully.

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

$ passwd
Changing password for user manee.
Changing password for manee
(current) UNIX password: ใส่รหัสผ่านเดิมของผู้ใช้
New UNIX password: ใส่รหัสผ่านใหม่
Retype new UNIX password: ใส่รหัสผ่านใหม่อีกครั้ง
passwd: all authentication tokens updated successfully.

การลบผู้ใช้งานออกจากระบบ

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

# userdel manee
# ls -l /home
total 48
drwx------ 2 chujai admin 4096 May 15 00:43 chujai
drwx------ 2 root root 16384 May 1 02:09 lost+found
drwx------ 2 mana webmaster 4096 May 15 00:42 mana
drwx------ 2 501 webmaster 4096 May 15 00:55 manee
drwx------ 2 piti developer 4096 May 15 00:43 piti
drwx------ 2 sawasdee developer 4096 May 15 00:43 sawasdee
drwx------ 2 somsak admin 4096 May 15 00:43 somsak

หลังจากที่ทำการลบผู้ใช้งาน ซึ่งในตัวอย่างคือ maneeเรียบร้อยแล้ว ลองใช้คำสั่ง ls -l /home จะเห็นว่าตรงชื่อผู้ใช้งานระบบ manee เจ้าของไดเรคเทอรีนี้จะเป็น 501 ซึ่งก็คือ ผู้ใช้งานที่มี userid เป็น 501 นั่นเอง

การเปลี่ยนเจ้าของไฟล์หรือไดเรคเทอรี

ในการเปลี่ยนเจ้าของไฟล์หรือไดเรคเทอรี จะใช้คำสั่ง chown (มาจาก Change Owner) ซึ่งรูปแบบคำสั่งมีดังนี้

chown user:group file/directory

ตัวอย่างการใช้งานมีดังนี้

1. ทำการสร้างไฟล์ขึ้นมาเพื่อทดสอบ ซึ่งอาจใช้คำสั่ง touch เพื่อสร้างไฟล์เปล่าขึ้นมา ดังนี้

# touch /tmp/whoistheowner

หลังจากสร้างไฟล์ขึ้นมาแล้ว ให้ลองทำการตรวจดูสิทธิ์ของไฟล์นั้น ว่าใครเป็นเจ้าของไฟล์ดังนี้

# ls -l /tmp/whoistheowner

-rw-r--r-- 1 root root 0 May 15 23:36 /tmp/whoistheowner

2. ทำการเปลี่ยนเจ้าของไฟล์ ดังนี้

# chown mana:webmaster /tmp/whoistheowner

จากนั้นทำการตรวจดูสิทธิ์ของไฟล์ ดังนี้

# ls -l /tmp/whoistheowner

-rw-r--r-- 1 mana webmaster 0 May 15 23:36 /tmp/whoistheowner