👤
Novice Handbook
  • Novice Handbook
  • Guide
  • Internet และ Web
    • HTML
  • Computer Language
    • Basic Computer Language (LV.1)
    • C Language (LV.1)
    • Python3 (LV.1)
  • Operating System
    • Linux
      • Basic Linux (LV.1)
  • TOOLS
    • Text Editor
      • Vim Editor
    • Source Control
      • GitLab
        • GitLab for small site (LV.1)
    • Container
      • Docker
        • Docker (LV.1)
        • Docker (LV.2)
      • Kubernetes
        • Kubernetes Intro (LV.0)
        • Kubernetes Basic (LV.1)
        • Kubernetes Intermediate (LV.2)
        • Helm (LV.2)
        • RKE2 (LV.3)
        • K3S (LV.3)
        • K3D (LV.3)
    • Repository
      • Harbor
        • Harbor for small site (LV.1)
        • Harbor for enterprise (LV.2)
    • Database
      • Redis
        • Redis on Docker Compose (LV.1)
        • Redis on Kubernetes (LV.2)
      • Elastic Stack
        • Elasticsearch & Kibana for small site (LV.1)
    • Observability
      • Prometheus
        • Prometheus for small site (LV.1)
        • Prometheus Operator (LV.2)
    • Security
      • Certbot (LV.1)
      • Falco
      • Hashicorp Vault
    • Collaboration
      • Nextcloud
Powered by GitBook
On this page
  • Linux Basic Command
  • Vim Command
  • Gaining Privileges
  • su (substitute user)
  • sudo (substitute user do)
  • Manage Package
  • Permission
  • Manage User and Group
  • File System
  • Manage Service and Systemd

Was this helpful?

  1. Operating System
  2. Linux

Basic Linux (LV.1)

Linux Basic Command

Command
Effect

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 เป็นต้นไป ซึ่งจะไม่ซ้ำกันในระบบ

ณ วันที่เขียนเอกสารฉบับนี้ ระบบ uid และ gid ถูกเก็บในรูป unsigned ขนาด 32-bit ดังนั้นจึงสามารถมีเลข id ได้ถึง 4,294,967,295 (2^32 - 1)

อย่างไรก็ตาม ในระบบ Linux จะมีการ reserved id บางส่วนไว้ ดังนั้นแท้จริงแล้ว จึงสามาถใช้ได้เพียง 4,294,967,293 (2^32 - 3)

การเพิ่ม user ในระบบจะถูกจัดการโดยแอพพลิเคชั่น Shadow password suite (shadow-utils) ซึ่งมีการกำหนด configuration เกี่ยวกับ user ไวที่ไฟล์ /etc/login.defs โดยภายในนั้น มีการตั้งค่าเกี่ยวกับ max uid และ max gid ไว้เช่นกัน

UID_MAX            60000
GID_MAX            60000

หากต้องการเพิ่ม uid และ gid มากกว่านี้ ต้องไปแก้ไข configuration

ในส่วนของ uid เริ่มต้นของแต่ละ user ก็จะถูกจัดการโดย configuration ในไฟล์นี้เช่นกัน

UID_MIN             1000
GID_MIN             1000

ซึ่งบ่งบอกว่า 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

การระบุเพียง su โดยไม่ระบุ user จะเป็นการขอเปลี่ยนเข้าสู่ user root

su -

การใส่ 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 whoami

หากต้องการ sudo ไปยัง user root และได้ shell แทนการรันคำสั่งแล้วกลับออกมา ให้ใส่ option -i แทน command ดังนี้

sudo -i

หากใช้งานใน user นั้นเสร็จ สามารถกลับออกมาได้โดยใช้ command exit หรือ Ctrl+D

Manage Package

Permission

Manage User and Group

File System

Manage Service and Systemd

PreviousLinuxNextText Editor

Last updated 3 years ago

Was this helpful?

Vim Editor