Linux Command Line Tutorial For Beginners 13 - sudo command
สารบัญ:
- การติดตั้ง Sudo (ไม่พบคำสั่ง sudo)
- ติดตั้ง Sudo บน Ubuntu และ Debian
- ติดตั้ง Sudo บน CentOS และ Fedora
- การเพิ่มผู้ใช้ไปยัง Sudoers
- วิธีใช้ Sudo
- รหัสผ่านหมดเวลา
- เรียกใช้คำสั่งในฐานะผู้ใช้อื่นที่ไม่ใช่รูท
- วิธีการเปลี่ยนเส้นทางกับ Sudo
- ข้อสรุป
คำสั่ง sudo อนุญาตให้คุณรันโปรแกรมในฐานะผู้ใช้อื่นโดยค่าเริ่มต้นผู้ใช้รูท หากคุณใช้เวลามากในบรรทัดคำสั่ง sudo เป็นหนึ่งในคำสั่งที่คุณจะใช้ค่อนข้างบ่อย
การใช้ sudo แทนการเข้าสู่ระบบในฐานะ root มีความปลอดภัยมากขึ้นเนื่องจากคุณสามารถให้สิทธิ์ผู้ดูแลระบบแบบ จำกัด แก่ผู้ใช้แต่ละคน
ในบทช่วยสอนนี้เราจะอธิบายวิธีใช้คำสั่ง
sudo
การติดตั้ง Sudo (ไม่พบคำสั่ง sudo)
แพ็คเกจ sudo นั้นได้รับการติดตั้งไว้ล่วงหน้าในลีนุกซ์ส่วนใหญ่
ในการตรวจสอบว่ามีการติดตั้งแพ็คเกจ sudo บนระบบของคุณหรือไม่เปิดคอนโซลของคุณพิมพ์
sudo
แล้วกด
Enter
หากคุณติดตั้ง sudo ระบบจะแสดงข้อความช่วยเหลือสั้น ๆ ไม่เช่นนั้นคุณจะเห็นสิ่งที่ต้องการ
sudo command not found
หากไม่ได้ติดตั้ง sudo คุณสามารถติดตั้งได้ง่าย ๆ โดยใช้ตัวจัดการแพ็คเกจของ distro
ติดตั้ง Sudo บน Ubuntu และ Debian
ติดตั้ง Sudo บน CentOS และ Fedora
การเพิ่มผู้ใช้ไปยัง Sudoers
ตามค่าเริ่มต้นในลีนุกซ์ส่วนใหญ่ที่ให้สิทธิ์การเข้าถึง sudo นั้นง่ายเหมือนการเพิ่มผู้ใช้ไปยังกลุ่ม sudo ที่กำหนดไว้ใน
sudoers
สมาชิกของกลุ่มนี้จะสามารถเรียกใช้คำสั่งใด ๆ ในฐานะรูท ชื่อของกลุ่มอาจแตกต่างจากการแจกจ่ายไปยังการแจกจ่าย
สำหรับ RedHat based distributions เช่น CentOS และ Fedora ชื่อของกลุ่ม sudo คือ
wheel
ในการเพิ่มผู้ใช้ในการรันกลุ่ม:
usermod -aG wheel username
บน Debian, Ubuntu และอนุพันธ์ของพวกเขาสมาชิกของกลุ่ม
sudo
ได้รับสิทธิ์ด้วยการเข้าถึง sudo:
usermod -aG sudo username
บัญชีผู้ใช้รูทในอูบุนตูถูกปิดการใช้งานโดยค่าเริ่มต้นด้วยเหตุผลด้านความปลอดภัยและผู้ใช้ควรปฏิบัติงานบริหารระบบโดยใช้ sudo ผู้ใช้เริ่มต้นที่สร้างขึ้นโดยตัวติดตั้ง Ubuntu นั้นเป็นสมาชิกของกลุ่ม sudo อยู่แล้วดังนั้นหากคุณใช้งาน Ubuntu โอกาสที่ผู้ใช้ที่คุณเข้าสู่ระบบจะได้รับสิทธิ์การใช้งาน sudo แล้ว
ตัวอย่างเช่นเพื่ออนุญาตให้ผู้ใช้
linuxize
รันเฉพาะคำสั่ง
mkdir
เป็น sudo ให้พิมพ์:
sudo visudo
และผนวกบรรทัดต่อไปนี้:
linuxize ALL=/bin/mkdir
บนระบบส่วนใหญ่คำสั่ง
visudo
เปิดไฟล์
/etc/sudoers
ด้วยโปรแกรมแก้ไขข้อความ vim หากคุณไม่มีประสบการณ์ในการใช้ vim ให้อ่านบทความของเราเกี่ยวกับวิธีบันทึกไฟล์และออกจากโปรแกรมแก้ไข vim
คุณสามารถอนุญาตให้ผู้ใช้เรียกใช้คำสั่ง sudo โดยไม่ต้องป้อนรหัสผ่าน:
linuxize ALL=(ALL) NOPASSWD: ALL
วิธีใช้ Sudo
ไวยากรณ์สำหรับคำสั่ง
sudo
เป็นดังนี้:
sudo OPTION.. COMMAND
คำสั่ง
sudo
มีตัวเลือกมากมายที่ควบคุมพฤติกรรม แต่โดยปกติแล้ว
sudo
จะใช้ในรูปแบบพื้นฐานที่สุดโดยไม่มีตัวเลือกใด ๆ
หากต้องการใช้ sudo เพียงเติมคำสั่งด้วย
sudo
:
sudo command
โดยที่
command
เป็นคำสั่งที่คุณต้องการใช้ sudo
Sudo จะอ่านไฟล์
/etc/sudoers
และตรวจสอบว่าผู้ใช้ที่ได้รับการร้องขอนั้นได้รับการประเมิน sudo หรือไม่ ครั้งแรกที่คุณใช้ sudo ในเซสชันคุณจะได้รับแจ้งให้ป้อนรหัสผ่านของผู้ใช้และคำสั่งจะถูกดำเนินการในฐานะรูท
ตัวอย่างเช่นหากต้องการแสดงรายการไฟล์ทั้งหมดใน
/root
คุณจะใช้:
sudo ls /root
password for linuxize:….bashrc.cache.config.local.profile
รหัสผ่านหมดเวลา
ตามค่าเริ่มต้น sudo จะขอให้คุณป้อนรหัสผ่านอีกครั้งหลังจากไม่มีการใช้งาน sudo ห้านาที คุณสามารถเปลี่ยนการหมดเวลาเริ่มต้นได้โดยแก้ไข
sudoers
เปิดไฟล์ด้วย
visudo
:
sudo visudo
ตั้งค่าการหมดเวลาเริ่มต้นโดยเพิ่มบรรทัดด้านล่างโดยที่
10
คือการหมดเวลาที่ระบุในหน่วยนาที:
Defaults timestamp_timeout=10
Defaults:user_name timestamp_timeout=10
เรียกใช้คำสั่งในฐานะผู้ใช้อื่นที่ไม่ใช่รูท
มีการรับรู้ที่ไม่ถูกต้องว่า
sudo
ใช้เพื่อให้สิทธิ์การใช้งานรูทแก่ผู้ใช้ทั่วไปเท่านั้น ที่จริงแล้วคุณสามารถใช้
sudo
เพื่อเรียกใช้คำสั่งเป็นผู้ใช้ใด ๆ
อ็อพชัน
-u
อนุญาตให้คุณรันคำสั่งในฐานะผู้ใช้ที่ระบุ
ในตัวอย่างต่อไปนี้เราใช้
sudo
เพื่อเรียกใช้คำสั่ง
whoami
ในฐานะผู้ใช้“ richard”:
sudo -u richard whoami
คำสั่ง
whoami
จะพิมพ์ชื่อของผู้ใช้ที่รันคำสั่ง:
วิธีการเปลี่ยนเส้นทางกับ Sudo
sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permission denied
สิ่งนี้เกิดขึ้นเนื่องจากการเปลี่ยนเส้นทาง“
>
” ของเอาต์พุตดำเนินการภายใต้ผู้ใช้ที่คุณเข้าสู่ระบบไม่ใช่ผู้ใช้ที่ระบุโดย sudo การเปลี่ยนเส้นทางเกิดขึ้นก่อนที่คำสั่ง
sudo
จะถูกเรียกใช้
ทางออกหนึ่งคือการเรียกเชลล์ใหม่เป็นรูทโดยใช้
sudo sh -c
:
sudo sh -c 'echo "test" > /root/file.txt'
ตัวเลือกอื่นคือการไพพ์เอาต์พุตเป็นผู้ใช้ปกติกับคำสั่ง
tee
ดังแสดงด้านล่าง:
echo "test" | sudo tee /root/file.txt
ข้อสรุป
คุณได้เรียนรู้วิธีใช้คำสั่ง
sudo
และวิธีสร้างผู้ใช้ใหม่ด้วยสิทธิ์ sudo
คำสั่ง linux พื้นฐาน

การรู้วิธีใช้บรรทัดคำสั่งจะมีประโยชน์มาก ในบทความนี้เราจะดำเนินการตามคำสั่ง Linux ที่ใช้บ่อยที่สุดที่ผู้ดูแลระบบ Linux ใช้เป็นประจำทุกวัน
คำสั่ง Chmod ใน linux (การอนุญาตไฟล์)

ใน Linux การเข้าถึงไฟล์นั้นได้รับการจัดการผ่านการอนุญาตไฟล์คุณสมบัติและความเป็นเจ้าของ บทช่วยสอนนี้ครอบคลุมถึงวิธีการใช้คำสั่ง chmod เพื่อเปลี่ยนสิทธิ์การเข้าถึงของไฟล์และไดเรกทอรี
คำสั่ง Chgrp ใน linux (เปลี่ยนกลุ่ม)

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