คำสั่ง sudo ใช้เพื่อยกระดับสิทธิ์ของคุณสำหรับคำสั่ง Linux เดียว
คุณสามารถใช้คำสั่ง sudo เพื่อเรียกใช้คำสั่งเหมือนกับผู้ใช้คนอื่น ๆ แม้ว่าจะมีการใช้คำสั่งทั่วไปในการใช้ root
01 จาก 08
Sudo คืออะไรและรายการ Sudoers คืออะไร?
หากคุณมีผู้ใช้หลายคนในคอมพิวเตอร์ของคุณคุณอาจไม่ต้องการให้ผู้ใช้ทั้งหมดเป็นผู้ดูแลระบบเนื่องจากผู้ดูแลระบบสามารถทำสิ่งต่างๆได้เช่นติดตั้งและ ถอนการติดตั้งซอฟต์แวร์ และเปลี่ยนการตั้งค่าระบบคีย์
เพื่อแสดงตัวอย่างของคำสั่ง sudo ในการใช้ เปิดหน้าต่างเทอร์มินัล และเรียกใช้คำสั่งต่อไปนี้:
apt-get install cowsay
ข้อความที่คลุมเครือจะถูกส่งกลับ:
E: ไม่สามารถเปิดไฟล์ล็อค / var / lib / dpkg / lock - เปิด (13: ปฏิเสธการอนุญาต)
E: ไม่สามารถล็อกไดเร็กทอรีการดูแลระบบ (/ var / lib / dpkg /) ได้หรือไม่?
ประเด็นสำคัญที่ต้องสังเกตคือคำว่า "Permission denied" และ "Are you root?"
ตอนนี้ลองคำสั่งเดียวกันอีกครั้ง แต่คราวนี้ใส่คำว่า sudo ลงในหน้าดังนี้:
sudo apt-get ติดตั้ง cowsay
ระบบจะขอให้คุณป้อนรหัสผ่าน
ขณะนี้คุณสามารถติดตั้งแอพพลิเคชัน cowsay ได้
หมายเหตุ: Cowsay เป็นแอ็พพลิเคชันที่แปลกใหม่ซึ่งจะช่วยให้คุณสามารถป้อนข้อความซึ่งเป็นคำพูดของฟ้อนต์คำพูดโดยใช้วลี ASCII
เมื่อคุณติดตั้ง Ubuntu ครั้งแรกคุณจะถูกตั้งค่าโดยอัตโนมัติในฐานะผู้ดูแลระบบและโดยอัตโนมัติจะเพิ่มสิ่งที่เรียกว่ารายการ sudoers
รายการ sudoers มีชื่อของบัญชีทั้งหมดที่มีสิทธิ์ใช้คำสั่ง sudo
ความฉลาดของ sudo คือถ้าคุณเดินออกไปจากคอมพิวเตอร์ของคุณโดยไม่ต้องล็อกก่อนและอีกคนหนึ่งเดินมายังเครื่องของคุณพวกเขาจะไม่สามารถเรียกใช้คำสั่งของผู้ดูแลระบบในเครื่องคอมพิวเตอร์ได้เนื่องจากจำเป็นต้องใช้รหัสผ่านเพื่อเรียกใช้คำสั่งนั้น
ทุกครั้งที่คุณเรียกใช้คำสั่งที่ต้องการสิทธิ์ของผู้ดูแลระบบระบบจะขอให้คุณป้อนรหัสผ่าน นี่เป็นสิ่งที่ยอดเยี่ยมสำหรับการรักษาความปลอดภัย
02 จาก 08
จะเกิดอะไรขึ้นถ้าคุณไม่มีสิทธิ์ Sudo?
ไม่ใช่ผู้ใช้ทุกคนในคอมพิวเตอร์ของคุณจะมีสิทธิ์ของผู้ดูแลระบบและจะไม่เป็นส่วนหนึ่งของรายการ sudoers
เมื่อใครบางคนที่ไม่ได้อยู่ในรายการ sudoers พยายามเรียกใช้คำสั่งด้วย sudo พวกเขาจะได้รับข้อความต่อไปนี้:
ผู้ใช้ไม่ได้อยู่ในไฟล์ sudoers เหตุการณ์นี้จะมีการรายงาน
นี้สดใสอีกครั้ง ถ้าผู้ใช้ไม่มีสิทธิ์ในการติดตั้งซอฟต์แวร์หรือดำเนินการคำสั่งอื่นใดที่จำเป็นต้องมีสิทธิ์ผู้ดูแลระบบระบบจะไม่สามารถดำเนินการได้และความจริงที่ว่าพวกเขาพยายามเข้าระบบ
03 จาก 08
สิทธิ์ Sudo มีผลต่อบรรทัดคำสั่งเท่านั้นหรือไม่?
สิทธิ์ sudo ไม่เพียงส่งผลต่อการกระทำของบรรทัดคำสั่งเท่านั้น ทุกอย่างใน Ubuntu ถูกควบคุมโดยโปรโตคอลการรักษาความปลอดภัยเดียวกัน
ตัวอย่างเช่นในภาพคุณจะเห็นว่าผู้ใช้ปัจจุบันคือ Tom ซึ่งเป็นผู้ใช้มาตรฐาน Tom ได้โหลดเครื่องมือ Ubuntu Software และกำลังพยายามติดตั้งชุดระบายสี
หน้าต่างรหัสผ่านจะปรากฏขึ้นและ Tom ต้องป้อนรหัสผ่านของผู้ดูแลระบบ ผู้ใช้ผู้ดูแลระบบคนเดียวคือ Gary
เมื่อมาถึงจุดนี้ทอมอาจลองคาดเดารหัสผ่านของ Gary แต่โดยพื้นฐานแล้วเขาจะไม่มีทางไปไหนและไม่สามารถทำในสิ่งที่เขาไม่ควรจะทำได้
04 จาก 08
วิธีการสร้างผู้ใช้งานผู้ดูแลระบบ
คำแนะนำอื่น ๆ บนอินเทอร์เน็ตแสดงวิธีการใช้บรรทัดคำสั่งเพื่อเพิ่มผู้ใช้ลงในไฟล์ sudoers แต่เป็น Ubuntu และมีแอปพลิเคชันที่ดีอย่างสมบูรณ์สำหรับการดูแลผู้ใช้ที่มีอยู่ภายใน
ในการจัดการผู้ใช้ใน Ubuntu ให้กดไอคอนด้านบน Unity Launcher หรือกดปุ่ม Super บนแป้นพิมพ์
หมายเหตุ: คีย์ซูเปอร์คือคีย์พิเศษบนแป้นพิมพ์ของคุณ ในแล็ปท็อปและเดสก์ท็อปส่วนใหญ่นี่เป็นคีย์ที่มีโลโก้ Windows อยู่ข้างคีย์ Alt
เมื่อ Unity Dash ปรากฏขึ้นให้พิมพ์ "Users"
ไอคอนจะปรากฏพร้อมกับรูปของ 2 คนและจะมีข้อความว่า "บัญชีผู้ใช้" คลิกที่ไอคอนนี้
โดยค่าเริ่มต้นคุณจะสามารถดูผู้ใช้ในระบบเท่านั้นและไม่เปลี่ยนแปลงอะไร นี่เป็นอีกหนึ่งคุณลักษณะด้านความปลอดภัยที่ยอดเยี่ยม
นึกว่าคุณเป็นผู้ดูแลระบบได้เดินออกจากคอมพิวเตอร์ของคุณและมีคนเดินขึ้นและตัดสินใจที่จะเพิ่มตัวเองเป็นผู้ใช้ พวกเขาไม่สามารถทำได้โดยไม่มีรหัสผ่านของคุณ
ในการแก้ไขรายละเอียดใด ๆ ของผู้ใช้คุณจำเป็นต้องปลดล็อกอินเทอร์เฟซ คลิกที่ไอคอน "ปลดล็อก" ที่ด้านบนขวาของหน้าต่างซึ่งแสดงด้วยกุญแจเลื่อนและป้อนรหัสผ่านของคุณ
มีผู้ใช้สองประเภทภายใน Ubuntu:
- ผู้ดูแลระบบ
- ผู้ใช้มาตรฐาน
ผู้ใช้ที่ได้รับการตั้งค่าเป็นผู้ดูแลระบบจะถูกเพิ่มลงในไฟล์ sudoers และผู้ใช้มาตรฐานจะไม่ถูกเพิ่ม
ดังนั้นเมื่อต้องการเพิ่มผู้ใช้ลงใน sudoers ให้คลิกคำว่า "standard user" ถัดจากคำว่า "account type" และเมื่อ dropdown list ปรากฏขึ้นให้เลือกผู้ดูแลระบบ
ผู้ใช้ควรออกจาก Ubuntu แล้วลงชื่อเข้าใช้อีกครั้งและตอนนี้จะสามารถใช้คำสั่ง sudo รวมทั้งเปลี่ยนการตั้งค่าระบบและติดตั้งซอฟต์แวร์โดยใช้เครื่องมือ Ubuntu Software
สำคัญ: หลังจากเปลี่ยนอะไรในกล่องโต้ตอบบัญชีผู้ใช้คลิกที่ไอคอนรูปกุญแจอีกครั้งเพื่อล็อกหน้าจอ
05 จาก 08
วิธีลบสิทธิพิเศษของผู้ดูแลระบบสำหรับผู้ใช้
หากต้องการลบสิทธิ์ผู้ดูแลระบบสำหรับผู้ใช้คุณสามารถเปลี่ยนประเภทบัญชีจากผู้ดูแลระบบเป็นมาตรฐานได้
การดำเนินการนี้จะทำงานได้ทันทีและผู้ใช้จะไม่สามารถดำเนินการที่ยกระดับได้ทันทีที่คุณเปลี่ยนประเภทบัญชีของตนกลับเป็นมาตรฐาน
06 จาก 08
วิธีการเพิ่มผู้ใช้ลงในไฟล์ Sudoers โดยใช้ Command Line
แน่นอนคุณสามารถใช้บรรทัดคำสั่งเพื่อเพิ่มผู้ใช้ลงในไฟล์ sudoers และโดยการเรียนรู้คำสั่งต่อไปนี้คุณจะเข้าใจวิธีทำในการเผยแพร่ Linux อื่น ๆ ที่มีการเปิดใช้งาน sudo
ผู้ใช้ที่อยู่ในกลุ่ม "sudo" จะมีสิทธิ์เรียกใช้คำสั่ง sudo ดังนั้นสิ่งที่คุณต้องทำคือตรวจสอบว่าผู้ใช้อยู่ในกลุ่มนั้น
แล้วคุณจะไปทำแบบนั้นได้อย่างไร? เพียงทำตามขั้นตอนต่อไปนี้:
- เปิดหน้าต่างเทอร์มินัล โดยกด ALT และ T
- พิมพ์ กลุ่ม
(แทนที่ ด้วยชื่อผู้ใช้ที่คุณต้องการเพิ่มลงใน sudoers เช่น กลุ่ม tom ) - ควรส่งรายการกลุ่ม ถ้าผู้ใช้มีสิทธิ์ sudo แล้วกลุ่ม sudo จะปรากฏขึ้นถ้าไม่ใช่คุณจะต้องเพิ่มมัน
- เมื่อต้องการเพิ่มผู้ใช้ใน sudoers sudo gpasswd -a
sudo (แทนที่อีกครั้งกับผู้ใช้ที่คุณต้องการเพิ่มลงใน sudoers,
เช่น sudo gpasswd - ทอม )
หากผู้ใช้ล็อกอินอยู่ในปัจจุบันแล้วควรออกจากระบบและเข้าสู่ระบบอีกครั้งเพื่อให้แน่ใจว่ามีสิทธิ์ในการใช้งาน sudo และผู้ดูแลระบบเต็มรูปแบบ
หมายเหตุ: สามารถใช้ คำสั่ง gpasswd เพื่อจัดการกลุ่มภายใน Linux
07 จาก 08
วิธีการเอาผู้ใช้ออกจากแฟ้ม Sudoers โดยใช้บรรทัดคำสั่ง
เมื่อต้องการเอาผู้ใช้ออกจากแฟ้ม sudoers โดยใช้บรรทัดคำสั่งให้ทำตามขั้นตอนต่อไปนี้:
- เปิดหน้าต่างเทอร์มินัล
- พิมพ์ กลุ่ม
(แทนที่ กับผู้ใช้ที่คุณต้องการเอาออกจากไฟล์ sudoers) - ถ้ารายการที่ส่งคืนไม่ได้แสดง "sudo" เป็นกลุ่มคุณไม่จำเป็นต้องทำอย่างอื่นใดให้ดำเนินการต่อในขั้นตอนที่ 4
- พิมพ์ sudo gpasswd -d
sudo (แทนที่กับผู้ใช้ที่คุณต้องการเอาออกจากไฟล์ sudoers)
ผู้ใช้จะไม่สามารถเรียกใช้คำสั่งใด ๆ ที่มีสิทธิ์ยกระดับได้
08 ใน 08
วิธีการหาผู้ที่พยายามจะใช้ Sudo โดยไม่ได้รับอนุญาต
เมื่อผู้ใช้พยายามที่จะรันคำสั่ง sudo โดยไม่มีสิทธิ์ sudo ข้อความแสดงข้อผิดพลาดระบุว่าพยายามจะถูกบันทึกไว้
ที่ว่ามีข้อผิดพลาดเข้าแม้ว่า? ภายใน Ubuntu (และระบบที่ใช้ Debian อื่น ๆ ) ข้อผิดพลาดจะถูกส่งไปยังไฟล์ที่เรียกว่า /var/log/auth.log
ในระบบอื่น ๆ เช่น Fedora และ CentOS ข้อผิดพลาดจะถูกบันทึกลงใน / var / log / secure
ในอูบุนตูคุณสามารถดูล็อกข้อผิดพลาดได้โดยการพิมพ์คำสั่งต่อไปนี้:
cat /var/log/auth.log | มากกว่า
tail /var/log/auth.log | มากกว่า
คำสั่ง cat จะแสดงไฟล์ทั้งหมดไปยังหน้าจอและคำสั่งเพิ่มเติมจะแสดงเอาต์พุตหน้าเว็บทีละหน้า
คำสั่งหาง จะแสดงบรรทัดสุดท้ายของไฟล์และอีกครั้งคำสั่งจะแสดงผลลัพธ์ในแต่ละครั้ง
ภายในอูบุนตูแม้ว่าจะมีวิธีง่ายๆในการดูไฟล์:
- คลิกที่ไอคอนด้านบนของตัวเรียกใช้งานหรือกดปุ่มซูเปอร์
- พิมพ์ "ล็อก" ลงในแถบค้นหา
- เมื่อไอคอน system.log ปรากฏขึ้นให้คลิกที่ไอคอน
- คลิกที่ตัวเลือก "auto.log"
- เลื่อนลงไปด้านล่างเพื่อดูความล้มเหลวล่าสุดหรือเพื่อดูความล้มเหลวของวันนี้เพียงอย่างเดียวขยายตัวเลือก auto.log โดยการคลิกที่ไอคอนและคลิก "วันนี้"