อะไรคือความแตกต่างระหว่างsudo
, su
, visudo
, chroot
และgksu
?
อะไรคือความแตกต่างระหว่างsudo
, su
, visudo
, chroot
และgksu
?
คำตอบ:
chroot
เป็นวิธีการเข้าสู่โฟลเดอร์และ 'แกล้ง' โฟลเดอร์ที่เป็น/
สิ่งที่ดำเนินการภายใน สิ่งนี้ช่วยให้คุณสามารถรันไฟล์ปฏิบัติการบนการติดตั้ง Ubuntu แบบไม่บู๊ตด้วยการติดตั้งที่อื่นนอกเหนือจากการ/
ใช้/bin/bash
(อันที่อยู่ภายในการติดตั้ง) เพื่อรับพรอมต์เทอร์มินัล
sudo
- อนุญาตให้บัญชีบางอย่างรับรองความถูกต้องเพื่อเรียกใช้โปรแกรมในฐานะรูทหรือผู้ใช้อื่น บางโปรแกรมอาจไม่ต้องการรหัสผ่านตามที่กำหนดไว้ในsudoers
ไฟล์ ไม่ว่าจะเป็นคำขอที่ได้รับอนุญาตหรือไม่ขึ้นอยู่กับผู้ใช้ (และกลุ่ม) ที่ทำงานและคำสั่งที่จะทำงานตามที่กำหนดในsudo
sudoers
su
- นอกจากนี้ยังเป็นวิธีการยกระดับ แต่มีความแตกต่างในขณะที่ดำเนินการเข้าสู่ระบบแบบโต้ตอบเต็มรูปแบบเป็นราก (หรือผู้ใช้อื่น) และให้พรอมต์ทุบตีเว้นแต่ระบุไว้เป็นอย่างอื่นที่มีข้อโต้แย้ง มันใช้ข้อมูลประจำตัวของผู้ใช้เป้าหมายเป็นการตรวจสอบ
visudo
- แก้ไขsudoers
ไฟล์ สิ่งนี้ใช้ไฟล์ปฏิบัติการพิเศษที่ตรวจสอบไวยากรณ์ของไฟล์เพื่อให้แน่ใจว่าคุณไม่ได้ถูกล็อคsudo
เนื่องจากsudoers
ไฟล์เสียหาย หากคุณพยายามบันทึกการกำหนดค่าที่ไม่ถูกต้องมันจะหยุดคุณและนำคุณกลับสู่เครื่องมือแก้ไขเพื่อแก้ไข
gksudo
หรือgksu
เป็นเช่นเดียวกับ sudo ~/.Xauthority
ยกเว้นว่ามันจะเป็นกราฟิกและปรับเปลี่ยนเส้นทางเพื่อให้โปรแกรมกราฟิกไม่ก่อให้เกิดปัญหาเกี่ยวกับสิทธิ์ในโปรไฟล์ของผู้ใช้โดยเฉพาะอย่างยิ่งกับ
su
และsudo
อนุญาตให้ดำเนินการกระบวนการในฐานะผู้ใช้รายอื่นไม่จำเป็นต้องเป็นรูท su
สามารถใช้เพื่อสลับไปยังผู้ใช้คนอื่น ๆ ได้ตลอดเวลา (รับรองความถูกต้องด้วยข้อมูลรับรองผู้ใช้นี้) ในขณะที่sudo
สามารถกำหนดค่าโดยเฉพาะอย่างยิ่งเพื่อให้การดำเนินการของโปรแกรมเฉพาะในบริบทของผู้ใช้โดยผู้ใช้ที่เฉพาะเจาะจง ส่วนใหญ่มักจะใช้เพื่อให้ได้รับสิทธิ์รูท
sudo:
Sudo (superuser do) อนุญาตให้ผู้ดูแลระบบให้ผู้ใช้บางคน (หรือกลุ่มผู้ใช้) สามารถเรียกใช้คำสั่ง (หรือทั้งหมด) เป็นรูตขณะที่บันทึกคำสั่งและอาร์กิวเมนต์ทั้งหมด Sudo ดำเนินการตามคำสั่งพื้นฐาน
มันไม่ได้มาแทนที่เชลล์
คุณสมบัติรวมถึง: ความสามารถในการ จำกัด คำสั่งที่ผู้ใช้อาจเรียกใช้บนพื้นฐานของโฮสต์ต่อการบันทึกจำนวนมากของแต่ละคำสั่ง (ให้หลักฐานการตรวจสอบที่ชัดเจนว่าใครทำอะไร) การหมดเวลาที่กำหนดของคำสั่ง sudo และความสามารถในการใช้ ไฟล์การกำหนดค่าเดียวกัน (sudoers) บนเครื่องที่แตกต่างกัน
visudo
visudo เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่อนุญาตให้แก้ไข/etc/sudoers
ไฟล์ในแบบที่ปลอดภัย มันเปิดขึ้น/etc/sudoers
โดยใช้อินเตอร์เฟสของตัวแก้ไข vi ตามค่าเริ่มต้น (แม้ว่าสิ่งนี้สามารถเปลี่ยนแปลงได้โดยการตั้งค่าตัวแปรสภาพแวดล้อม EDITOR ของเชลล์เป็นตัวแก้ไขข้อความที่แตกต่างกัน) ป้องกันการแก้ไขพร้อมกันหลายครั้งพร้อมล็อคทำการตรวจสอบสติ
SU
คำสั่ง su หรือที่เรียกว่าผู้ใช้สำรองผู้ใช้ขั้นสูงหรือผู้ใช้สวิตช์อนุญาตให้ผู้ให้บริการคอมพิวเตอร์เปลี่ยนบัญชีผู้ใช้ปัจจุบันที่เชื่อมโยงกับคอนโซลเสมือนที่กำลังทำงานอยู่
โดยค่าเริ่มต้นและไม่มีอาร์กิวเมนต์บรรทัดคำสั่งอื่น ๆ สิ่งนี้จะยกระดับผู้ใช้ปัจจุบันไปยัง superuser ของระบบโลคัล
เมื่อเรียกใช้จากบรรทัดคำสั่ง su จะถามรหัสผ่านของผู้ใช้เป้าหมายและหากได้รับการรับรองความถูกต้องจะให้สิทธิ์การเข้าถึงแก่โอเปอเรเตอร์นั้นและไฟล์และไดเรกทอรีที่บัญชีได้รับอนุญาตให้เข้าถึงได้
นอกจากนี้หนึ่งสามารถสลับไปยังผู้ใช้อื่นที่ไม่ใช่ superuser
ราก
root คือชื่อผู้ใช้หรือบัญชีที่โดยค่าเริ่มต้นจะสามารถเข้าถึงคำสั่งและไฟล์ทั้งหมดบน Linux หรือระบบปฏิบัติการ Unix-like อื่น ๆ นอกจากนี้ยังเรียกว่าบัญชีรูทผู้ใช้รูทและ superuser
คำว่ารูทยังมีความหมายเพิ่มเติมที่เกี่ยวข้องอีกหลายรายการเมื่อใช้เป็นส่วนหนึ่งของคำศัพท์อื่น ๆ
หนึ่งในนั้นคือรูตไดเร็กทอรีซึ่งเป็นไดเร็กทอรีระดับบนสุดของระบบ นั่นคือมันเป็นไดเรกทอรีที่ไดเรกทอรีอื่น ๆ ทั้งหมดรวมถึงไดเรกทอรีย่อยและไฟล์ที่อยู่ ไดเรกทอรีรากถูกกำหนดโดยเครื่องหมายทับ ( /
)
อีกอย่างคือ/root
(รากเครื่องหมายทับ) ซึ่งเป็นโฮมไดเร็กตอรี่ของผู้ใช้รูท.
นอกจากนี้ยังอาจหมายถึงผู้ใช้รูทซึ่งเป็นผู้ดูแลระบบของระบบที่มีสิทธิ์เต็มรูปแบบ
chroot
chroot คือการดำเนินการที่เปลี่ยนไดเรกทอรีรากที่ชัดเจนสำหรับกระบวนการทำงานปัจจุบันและลูก ๆ ของมัน ตัวอย่างเช่นถ้าคุณ chroot /mnt/chroot-test
แล้วไดเรกทอรีจะเป็นรากเสมือนของคุณที่คุณอาจจะหมายถึงโดย/mnt/chroot-test
/
การใช้ chroots
ต่อไปนี้เป็นการใช้ chroots ที่เป็นไปได้:
การแยกแอปพลิเคชันที่ไม่ปลอดภัยและไม่เสถียร
การรันแอปพลิเคชัน 32 บิตบนระบบ 64 บิต
การทดสอบแพ็กเกจใหม่ก่อนการติดตั้งบนระบบการผลิต
ใช้งานแอพพลิเคชั่นเวอร์ชั่นเก่ากว่าบน Ubuntu ที่ทันสมัยกว่า
การสร้างแพ็คเกจใหม่ช่วยให้สามารถควบคุมแพ็คเกจการพึ่งพาที่ติดตั้งไว้อย่างระมัดระวัง
su
mneumonic ไปsudo
คือจะบอกว่าsudo
หมายถึง "ผู้ใช้ Switched DO" (กล่าวคือทำตามที่ผู้ใช้เปลี่ยน) หรือ "SuperUser DO" (กล่าวคือทำตามที่ superuser) สิ่งนี้จะทำให้การsudoers
เชื่อมโยงที่สวยงาม (เช่น "ผู้ใช้สลับผู้ใช้" มากกว่า "(ผู้ใช้สลับผู้ใช้และผู้ดำเนินการ)") เหตุผลที่ตัวแปรเหล่านี้มีความแม่นยำมากกว่าคือsudo
ทำให้ผู้ใช้สามารถดำเนินการในฐานะผู้ใช้สำรอง แต่ไม่จำเป็นต้องให้ผู้ใช้เหล่านั้นเป็นผู้ใช้สำรองทั่วไป (ขึ้นอยู่กับเนื้อหาของ/etc/sudoers
)
SU เชื่อมต่อคุณเป็นรูต
เทอร์มินัลจะยังคงอยู่ในฐานะรูทสำหรับเซสชัน
ด้วย sudo (superuser do) คุณสามารถดำเนินการตามรูทได้ในขณะที่เชื่อมต่อในฐานะผู้ใช้ทั่วไป