- มีความเข้าใจ Accounting ในระบบ Linux
- สามารถอธิบายการ Add user เข้า Group ได้
- สามารถอธิบายการ Swtich User
- มีความเข้าใจการใช้งาน VI
- ใช้งาน Remote อย่าง Putty และโปรแกรมอื่นๆได้
- จัดการข้อมูลรายละเอียดของ user ได้
- กำหนด user ให้ทำงานคำสั่งบางคำสั่งด้วย visudo ได้
- สามารถบริหารจัดการ Disk Quota ให้กับ user
- มีความเข้าใจในการใช้ sshd (deamon)
- มีความเข้าใจและใช้งาน Package ของ Linux
ก่อนอื่นให้ตรวจสอบก่อนว่าเครื่องเราสามารถใช้งาน Network ได้หรือไม่ให้พิมพ์ Cat ดูไฟล์ Config ของ Network ด้วยคำสั่ง cat /etc/sysconfig/network-script/ifcfg-eth0 จะปรากฏรายละเอียดของอุปกรณ์การ์ดเน็ตเวิร์ค ถ้า bootproto=dhcp หมายถึงให้เป็นการจ่าย ip อัตโนมัติ
นอกจากนี้เรายังใช้คำสั่ง ifconfig เพื่อดู config ของ interface card ได้ถ้า network ไม่ workเราสามารถ พิมพ์ setup เพื่อกำหนดค่าของ network ได้หรือจะใช้คำสั่ง system-config-network-tui ต่อมา จะเป็นการใช้ putty ในการ connect ก็แค่ใส่ ip ที่ hostname connect ด้วย port 22 ตัว putty จะเป็น Remote Desktop Connection ใน Linux
การ add user และ group
Linux นั้นถูกพัฒนาจาก Unix ซึ่งมีการใช้งานได้หลาย user บนเครื่องเดียวโดยมี root เป็น user ที่มีสิทธิ์ในการควบคุมระบบได้อย่างเต็มที่ โดยจะมีไฟล์ที่เกี่ยวข้องกับบัญชีรายชื่อผู้ใช้อยู่ 3 ไฟล์คือ
- /etc/passwd เก็บข้อมูลพื้นฐานของ user 7 คอลัมน์
- /etc/shadow เก็บรหัสผ่านของ user แต่ละคนโดยมีการ encrypted
- /etc/group เก็บรายชื่อกลุ่มไว้ มี 4 คอลัมน์
/etc/passwd
Username : Password : UID : GID : Description : Home Directory : Shell
username ชื่อ userในระบบ
password รหัสผ่านในที่นี้เป็น x
UID เป็นหมายเลข user ซึ่งไม่ซ้ำกันของ root เป็น 0 ถ้าสร้างใหม่จะมีตัวเลข 1000 ขึ้นไป
GID เป็นหมายเลข group อ้างอิงกับไฟล์ /etc/group
Description รายละเอียดของ user เราสามารถดูได้จากคำสั่ง finger <ชื่อผู้ใช้>
Home Directory เป็นคอลัมน์ที่กำหนดให้ user เมื่อเริ่มต้นเข้าสู่ระบบโดยมีสิทธิ์เต็มที่
Shell เชลล์เริ่มต้นของ user
/etc/shadow
Username : Password : Lastchg : Min : Max : Warn : Inactive : Expire : Flag
Lastchg บอกว่าเปลี่ยนรหัสผ่านล่าสุดเมื่อใด
Min จำนวนวันน้อยที่สุดที่อนุญาติให้เปลี่ยนรหัสผ่าน
Max จำนวนวันมากที่สุดที่รหัสผ่านยังใช้ได้
Warn จำนวนวันที่จะเตือน user ก่อนรหัสผ่านจะหมดอายุ
Inactive จำนวนวันที่อนุญาตให้ user ไม่ต้องปรับเปลี่ยน
Expire จำนวนวันหมดอายุของรหัสผ่าน
/etc/group
Group name : Password : GID : Members
Password รหัสผ่านของกลุ่มไม่ค่อยได้ใช้
Members เป็นสมาชิกที่อยู่ในกลุ่ม
คำสั่ง add user
useradd [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time][-g initial_group] [-G group[,...]][-m [-k skeleton_dir] -M] [-n] [-o] [-p passwd] [-r] [-s shell] [-u uid] login
adduser -u 5001 -g 5000 arn
-u 5001 คือการกำหนด UID ให้เป็น 5001
-g 5000 คือการกำหนด GID ให้เป็น 5000 หมายความว่า user เข้าอยู่ใน group ที่มี gid=5000
arn เป็นชื่อผู้ใช้
อ.มีคำถามว่า การ add user โดยไม่ใส่ uid,gid นั้นไม่ดีอย่างไร ?
เท่าที่ไปดูมาในไฟล์ /etc/passwd และ etc/group
ได้ผลคือ
- user จะได้ uid ถัดจาก uid มากที่สุด
- จะนำ uid นั้นไปสร้าง group ชื่อเดียวกันกับ user
- มี gid=uid
การ Switch User
เราสามารถสลับ user ในการทำงานด้วยคำสั่ง su [-][username]
โดยค่าเริ่มต้นแล้วถ้าไม่ใส่ username หมายความว่าจะ switch ไปที่ root
อ.มีคำถามว่าคำสั่ง "su" กับ "su -" นั้นแตกต่างกันอย่างไร?
คำสั่ง su นั้นจะ switch user ธรรมดาแต่ถ้ามี "-", "-l", "--login" จะเปรียบเสมือน login ด้วย user นั้นจริงๆ ดังนั้นจะได้ environment ของ user นั้น สังเกตจากการอ่านไฟล์ .bash_profile ของ account หลังจาก login
การ switch user นั้นเราสามารถกำหนดค่าได้ว่าให้ user ใดที่ su ได้บ้าง และ ให้ถาม password หลังจาก su หรือไม่ โดยไปแก้ไขที่ไฟล์ /etc/group และ /etc/pam.d/su มีขั้นตอนดังนี้
- กำหนดให้ user ในกลุ่ม wheel เท่านั้นที่สามารถใช้ su ได้ ไปที่ไฟล์ /etc/group ทำการ add user ที่ต้องผ่าน VI แล้วไปที่ File /etc/pam.d/su เอานำ comment บรรทัดอยู่ถัดจาก
# Uncomment the following line to require a user to be in the "wheel" group.
auth required /lib/security/pam_wheel.so use_uid - กำหนดให้ user ไม่ต้องใส่ password หลังจาก su ให้นำ comment บรรทัดที่อยู่ถัดจาก
#Uncomment the following line to implicitly trust users in the "wheel" group.
auth sufficient /lib/security/pam_wheel.so trust use_uid
เป็นการไว้วางใจ user ที่อยู่ใน group wheel ให้ su ได้โดยไม่ต้องกรอก password