Basic Linux (LV.1)
Linux Basic Command
hostname
แสดงชื่อ system ที่ใช้งานอยู่ขณะนี้
uname
(unix name) แสดง unix ที่ใช้งานอยู่ขณะนี้
date
แสดงวันที่และเวลาของระบบ
uptime
แสดงระยะเวลาตั้งแต่ระบบบูทเข้า OS จนถึงปัจจุบัน
who
แสดง user ที่ login อยู่ขณะนี้
last
แสดงข้อมูลการ login ของ user เข้าระบบทั้งหมด
whoami
แสดงชื่อ user ที่ผู้ใช้ ใช้งานอยู่ขณะนี้
id
แสดง user id และ group id ของ user ที่ผู้ใช้ ใช้งานอยู่
env
แสดงข้อมูลตัวแปรและค่าของ environment ที่ผู้ใช้ ใช้งานอยู่
history
แสดงคำสั่งที่ผู้ใช้เคยสั่งไป
pwd
(print working directory) แสดง path ที่ใช้งานอยู่ขณะนี้
ls
(list) แสดง file, directory และ link ที่อยู่ใน path
touch foo
สร้างไฟล์ foo เป็นไฟล์ว่างเปล่า หากไม่เคยมีอยู่ หรือ update modify date หากไฟล์มีอยู่แล้ว
cp foo bar
(copy) สร้างไฟล์ bar ให้เหมือนกับ foo
rm foo
(remove) ลบไฟล์ foo ทิ้ง
mkdir myfolder
(make directory) สร้าง directory ชื่อ myfolder
rmdir myfolder
(remove directory) ลบ directory ชื่อ myfolder โดย directory ต้องว่างเปล่า
mv bar qwerty
เปลี่ยนชื่อ bar เป็น qwerty หาก qwerty มีอยู่ก่อนแล้ว และเป็น directory จะเป็นการย้าย bar ไปอยู่ใน directory qwerty
cat qwerty
(catenate) แสดงข้อมูลในไฟล์ qwerty ออกมาทั้งหมด
head /etc/group
แสดงข้อมูลส่วนหัวของไฟล์ /etc/group
tail /etc/group
แสดงข้อมูลส่วนท้ายของไฟล์ /etc/group
more /etc/group
แสดงข้อมูลไฟล์ /etc/group แบบทีละหน้า
Vim Command
Gaining Privileges
ระบบ Linux จะมีการแบ่งสิทธิ์การใช้งานระหว่าง ผู้ใช้ทั่วไป และผู้ใช้ที่มีสิทธิ์ในการดำเนินการทุกอย่างบนระบบ หรือที่เราเรียกว่า superuser
โดยทั่วไป ผู้ใช้งานระบบ Linux จะไม่ได้ใช้ user ในสิทธิ์ superuser แต่จะใช้เพียง user ธรรมดาซึ่งถูกจำกัดสิทธิ์ไว้ เพราะมีการใช้งานร่วมกันกับคนอื่นๆ เช่น หากระบบถูกใช้ร่วมกันระหว่าง user Alice และ Bob นั้น Alice ก็อาจจะมีข้อมูลบางอย่างที่ไม่อยากให้ Bob เข้าถึงได้ และ Bob ก็อาจจะมีข้อมูลที่ไม่อยากให้ Alice เข้าถึงได้เช่นกัน ดังนั้นจึงไม่ควรมีใครเป็น superuser
แต่ในกรณีที่ user ธรรมดานั้นต้องการดำเนินการบางอย่างกับระบบ ซึ่งอาจจะต้องใช้สิทธิ์สูงขึ้น ก็จะต้องมีการกำหนดสิทธิ์ให้ผู้ใช้นั้น สามารถเปลี่ยนมาทำงานเป็น user อื่น หรือ superuser ได้เช่นกัน
superuser ในระบบ Linux มีชื่อว่า root และจะมี user id (uid) เป็น 0 และจะอยู่ใน group ที่มีชื่อว่า root ซึ่งมี group id (gid) เป็น 0
user อื่นๆที่ไม่ใช่ root จะมี uid และ gid ตั้งแต่ 1 เป็นต้นไป ซึ่งจะไม่ซ้ำกันในระบบ
การเพิ่ม user ในระบบจะถูกจัดการโดยแอพพลิเคชั่น Shadow password suite (shadow-utils) ซึ่งมีการกำหนด configuration เกี่ยวกับ user ไวที่ไฟล์ /etc/login.defs โดยภายในนั้น มีการตั้งค่าเกี่ยวกับ max uid และ max gid ไว้เช่นกัน
หากต้องการเพิ่ม uid และ gid มากกว่านี้ ต้องไปแก้ไข configuration
ในส่วนของ uid เริ่มต้นของแต่ละ user ก็จะถูกจัดการโดย configuration ในไฟล์นี้เช่นกัน
ซึ่งบ่งบอกว่า user ธรรมดา จะเริ่มต้นที่ id 1000 เป็นต้นไป ดังนั้นเมื่อมีการสร้าง user แรกสุดที่ไม่ใช่ root จะเริ่มต้นด้วย uid 1000
สาเหตุที่ต้องมีการเริ่มต้นไว้ที่ 1000 เพราะต้องการกันเลข uid และ gid บางส่วนไว้ให้กับ application ทั่วไป ดังนั้นการปรับเลข uid และ gid เริ่มต้นไปต่ำกว่านี้ จึงไม่แนะนำ เพราะอาจจะไปซ้ำกับ 3rd party application อื่นๆ ได้ และจะส่งผลต่อ security และความถูกต้องของระบบ
การเปลี่ยนจาก user ธรรมดาไปยัง user root ทำได้โดยใช้ command su หรีอ sudo
su (substitute user)
เป็นการให้เราเปลี่ยนจาก user ของเราเองเป็น user อื่น โดยจะมี prompt ให้เราทำการ login เป็น user อื่น
การระบุเพียง su โดยไม่ระบุ user จะเป็นการขอเปลี่ยนเข้าสู่ user root
การใส่ option -
ตามหลัง su เพื่อให้เมื่อเปลี่ยน user แล้ว ทำการ load environment ใหม่ของ user นั้นด้วย แทนการใช้ environment ปัจจุบัน ซึ่งจะส่งผลให้ current working directory เปลี่ยนไปเป็น home directory ของ user นั้นแทนด้วย
sudo (substitute user do)
เป็น command ที่เกิดมาภายหลัง su มีความหมายเพื่อให้เรา su ไปเป็น user อื่น และดำเนินการบางอย่าง แล้วกลับสู่ user เดิม
ข้อแตกต่างสำคัญที่ทำให้ sudo เป็นที่นิยมในภายหลังมากกว่า su ก็เพราะ เมื่อสั่งคำสั่งและได้รับ prompt มาให้กรอกรหัสผ่านนั้น จะใช้ password ของ user ตัวเอง แทนที่จะใช้ password ของ user ที่เราจะ login ไป
การใช้ sudo จะแก้ปัญหาการ share password ซึ่งเป็นปัญหา security ได้ เช่น Alice อยากให้ Bob ดำเนินการบางอย่างแทนตัวเองได้ อย่างเช่นการลบไฟล์ใน folder หนึ่ง หาก Bob ได้รหัสผ่านของ Alice มา และ login เป็น Alice ก็อาจจะนำ user Alice ไปทำอย่างอื่นนอกจากที่ Alice ต้องการได้ แต่ configuration ของ sudo จะมีการระบุคำสั่งที่สามารถทำได้ให้กับ user Bob แทน จึงไม่ต้องให้รหัสผ่านของ Alice แก่ Bob และทำให้ปลอดภัยกว่า
การใช้ sudo ทำได้สั่ง sudo ตามด้วยคำสั่งที่ต้องการดำเนินการ เช่น
หากต้องการ sudo ไปยัง user root และได้ shell แทนการรันคำสั่งแล้วกลับออกมา ให้ใส่ option -i แทน command ดังนี้
หากใช้งานใน user นั้นเสร็จ สามารถกลับออกมาได้โดยใช้ command exit
หรือ Ctrl+D
Manage Package
Permission
Manage User and Group
File System
Manage Service and Systemd
Last updated
Was this helpful?