เหตุใดการรันในฐานะรูทจึงไม่ดี


9

ฉันมักจะเจอโพสต์ในฟอรั่มหรือเว็บไซต์อื่น ๆ ที่คุณเห็นคนล้อเล่นในลักษณะที่เกี่ยวกับการทำงาน / การเข้าสู่ระบบในฐานะรากราวกับว่ามันเป็นสิ่งที่น่ากลัวและทุกคนควรรู้เกี่ยวกับมัน อย่างไรก็ตามมีไม่มากที่การค้นหาเปิดเผยในเรื่องนี้ มันอาจเป็นที่รู้จักอย่างกว้างขวางสำหรับผู้เชี่ยวชาญ Linux แต่ฉันไม่รู้จริงๆว่าทำไม ฉันจำได้ว่าทำงานเป็นรูทเมื่อฉันลองใช้งานลินุกซ์เมื่อหลายปีก่อน (Redhat และ Mandrake) และจำไม่ได้ว่าพบปัญหาใด ๆ เพราะสิ่งนั้น จริงๆแล้วมี distros บางอย่างที่มีพื้นหลังสีแดงสดพร้อมสัญญาณเตือนทั่วเป็นวอลล์เปเปอร์สำหรับผู้ใช้รูท (Suse?) ฉันยังคงใช้บัญชี "ผู้ดูแลระบบ" สำหรับการใช้งานปกติในการติดตั้ง Windows ของฉันและไม่เคยประสบปัญหาใด ๆ เช่นกัน

คำตอบ:


9

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

เป็นตัวอย่างง่ายๆ

sudo rm -rf *

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

rm -rf $destinationDir/*

# if the variable is undefined and the shell doesn't care, the result is:
rm -rf /*

บางครั้งมันเป็นคำที่พิมพ์ผิดง่ายในสคริปต์ที่ลบครึ่งระบบของคุณ

ดังนั้นคำแนะนำทั่วไปคือการใช้งานโปรแกรมที่มีการยกระดับสิทธิ์หากจำเป็นจริงๆเท่านั้น


3
ดังนั้นในระยะสั้น: มันเสี่ยงอันตราย
digitxp

เพียงแค่ดูที่คำสั่งนั้นทำให้ท้องฉันปั่นป่วน
Paul Lammertsma

4

รูทบน linux นั้นมีประสิทธิภาพมากกว่าบัญชีผู้ดูแลระบบบน Windows มันเปรียบได้กับบัญชีระบบบน windows ซึ่งปกติไม่สามารถเข้าถึงได้


0

มันจะเทียบเท่ากับการปิดการใช้งาน UAC อย่างสมบูรณ์และทำงานเป็นผู้ดูแลระบบสำหรับผู้ใช้ทั้งหมดในกล่องหน้าต่าง มัลแวร์สามารถติดตั้งได้ง่ายขึ้นไดรฟ์โดยการดาวน์โหลดมีประสิทธิภาพมากขึ้นหากมีการเจาะเข้าไปในคอมพิวเตอร์ของคุณ คุณเพียงแค่ลบสิทธิ์ของผู้ใช้อย่างมีประสิทธิภาพ (โดยทั่วไปแล้วการปฏิบัติที่ไม่ดี) imho ถ้าคุณไม่มีปัญหาคุณโชคดีมากมีนิสัยในการท่องเว็บที่ปลอดภัยอย่างไม่น่าเชื่อหรือเป็นไปได้ว่า .... มีปัญหาและไม่รู้ตัว


มีปัญหาอะไรบ้างที่ฉันเคยมี (และตอนนี้ใช้ Windows) และไม่รู้เกี่ยวกับอะไร
Mussnoon

คุณอาจตรวจไม่พบรูทคิทบางประเภทที่ไม่ต้องใช้ตัวประมวลผลมากหรือใช้ดิสก์มาก (เช่นสำรวจเว็บไซต์ที่มีการรับ / โพสต์ทุก ๆ 2 นาทีเพื่อเป็นส่วนหนึ่งของ DDoS) ความเป็นไปได้อื่น ๆ ได้แก่ การค้นหาดิสก์ที่เกี่ยวข้องกับ PCI อย่างช้าๆ (หมายเลขบัตรเครดิต)
RobotHumans

0

ฉันมี (อย่างน้อยสองครั้ง) สคริปต์ที่เขียนซึ่งควรจะเรียกดูโครงสร้างไดเรกทอรีในวิธีเฉพาะและดำเนินการ rm -rf *ในบางไดเรกทอรี มีข้อผิดพลาดบางอย่างและสคริปต์ที่สิ้นสุดขึ้นไป"/"(root) rm -rf *ไดเรกทอรีและดำเนินการ นี่เป็นตัวอย่างของประเภทที่เลวร้ายที่สุด แต่แม้แต่สคริปต์หรือคำสั่งที่ชั่วร้ายน้อยกว่าก็สามารถสร้างความเสียหายอย่างร้ายแรงต่อระบบของคุณหากทำงานเป็นรูท


สำหรับสคริปต์ (โดยเฉพาะที่ต้องทำงานด้วยสิทธิ์พิเศษ) คุณควรใช้อวนที่ปลอดภัยเช่น "rm -rf / full / path / to / target / dir / *" หรือ "cd / some / nonexisting / directoy / | exit 1" .

0

นอกเหนือจากพลังที่มาพร้อมกับมันและด้วยเหตุนี้ผลของความผิดพลาดก็ยังมาโดยไม่มีคำเตือนใด ๆ และมันเป็นคำเตือนที่เตือนคุณถึงสิ่งที่ไม่คาดคิด

เช่นเดียวกับเมื่อรัน GUI เป็นรูท: คุณจะรู้ได้อย่างไรว่ามัลแวร์บางตัวพยายามติดตั้งตัวเอง


0

คุณมีโชคร้ายที่น่าเศร้าของ Microsoft และโปรแกรมป้องกันไวรัสที่เกี่ยวข้องกับปัญหานี้ บัญชีผู้ดูแลระบบ (root) หมายถึงมีการเข้าถึงแบบไม่ จำกัด (ตามที่ทุกคนระบุไว้) ไม่เพียง แต่สามารถแก้ไขไฟล์ระบบที่ทำให้เครื่องไม่สามารถบู๊ตได้ แต่สามารถเข้าถึงข้อมูลผู้ใช้อื่น ๆ ได้ (สิทธิ์ผู้ใช้ไม่เพียงพอที่จะรักษาความปลอดภัยการเข้าถึงข้อมูลและการปรับเปลี่ยนเมื่อมีการเข้าถึงทางกายภาพกับคอมพิวเตอร์) ต่อไปเป็นสิ่งที่คุณไม่ได้ "เห็น"

เป็นการปฏิบัติที่โชคร้ายที่ใช้เครื่อง Windows ในฐานะผู้ดูแลระบบเสมอ มีเหตุผลที่ดีสำหรับสิ่งนี้เช่นความสามารถในการเป็นผู้ใช้อื่นภายในเซสชันที่ถูกดูด (การติดตั้งโปรแกรมจะต้องออกจากระบบและลงชื่อเข้าใช้ในฐานะผู้ดูแลระบบและการติดตั้งแอปพลิเคชันซึ่งอาจต้องใช้ผู้ดูแลระบบด้วย) ผลลัพธ์ก็คือคอมพิวเตอร์ของคุณจะถูกใช้งานในสิ่งที่คุณไม่คาดคิดแม้ว่าคุณจะไม่ได้ติดตั้งแอปพลิเคชันก็ตาม

ผลลัพธ์ไม่ได้ว่าผู้คนกำลังเคลื่อนตัวออกจากการทำงานในฐานะผู้ดูแล แต่ไมโครซอฟท์กำลังควบคุมสิทธิ์การใช้งานกับโครงสร้างที่ขีดเส้นใต้ของ OS UAC สิ่งนี้หมายความว่าคุณจะถูกขอให้อนุญาตแอปพลิเคชันให้ทำงานไม่ว่าคุณจะเป็นใคร Vista นั้นแย่มากเพราะมีสองเลเยอร์สำหรับผู้ใช้งาน Admin "คุณต้องการรันโปรแกรมนี้หรือไม่?", "Ok, ตอนนี้คุณกำลังใช้งานโปรแกรมนี้อยู่คุณต้องการให้โปรแกรมทำงานหรือไม่?"

ใน Linux คุณเห็นปรัชญาที่แตกต่างกันมาก ก่อนอื่นระบบปฏิบัติการทำสิ่งที่คุณบอกไม่มีการตรวจสอบซ้ำสองครั้งว่าคุณตั้งใจจะเรียกใช้แอปพลิเคชันจริงๆ ประการที่สองผู้ใช้ไม่ต้องทำอะไรที่พวกเขาต้องการกับระบบ ซึ่งหมายความว่าระบบนั้นปลอดภัยจากความผิดพลาดของผู้ใช้ แต่ผู้ใช้สามารถเพิ่มระดับสิทธิ์ของตนในระดับที่เหมาะสมได้หากต้องการ Microsoft ได้สร้างเลเยอร์การยกระดับสิทธิ์โดยแยกจากเลเยอร์ผู้ใช้โดยทั่วไปแล้ว Linux / Unix จะมีการออกแบบเพื่อเพิ่มระดับสิทธิ์ที่ทำงานกับผู้ใช้เสมอ


0

ใน linux ส่วนใหญ่จะป้องกันไม่ให้คุณ (หรือแอปพลิเคชันที่ทำหน้าที่แทนคุณ) โดยไม่ตั้งใจทำสิ่งที่เป็นใบ้

ใน Windows คุณไม่สามารถติดตั้งซอฟต์แวร์หลายชนิดโดยไม่ต้องใช้บัญชีในฐานะผู้ดูแลระบบเนื่องจากคุณไม่มีสิทธิ์ในการเขียนไฟล์โปรแกรมหรือโฟลเดอร์ windows มัลแวร์ประเภทที่เลวร้ายที่สุดจะต้องสามารถเขียนไปยังพื้นที่เหล่านี้เพื่อให้เวิร์มเข้าสู่ระบบของคุณ

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

พวกเขาสำคัญที่นี่คือซอฟต์แวร์ป้องกันไวรัสไม่ได้เข้าแม้แต่ ทุกวันนี้ซอฟต์แวร์ป้องกันไวรัสเป็นแนวป้องกันขั้นสุดท้ายไม่ใช่ครั้งแรกของคุณ ลำดับความสำคัญที่ฉันใช้ในการประเมินอัตราความปลอดภัยมีดังนี้:

  1. ปรับปรุงระบบของคุณ (รวมถึงซอฟต์แวร์แอปพลิเคชัน)
  2. อย่าเรียกใช้ในฐานะผู้ดูแลระบบ
  3. ใช้นิสัยอินเทอร์เน็ตที่ปลอดภัยอื่น ๆ
  4. เรียกใช้ไฟร์วอลล์
  5. มีการสำรองข้อมูลออฟไลน์ที่ดี (ในกรณีนี้ออฟไลน์หมายถึง "ไม่สามารถเข้าถึงระบบไฟล์ปกติของคุณ" ซึ่งอาจหมายถึงการใช้บริการออนไลน์)
  6. เรียกใช้ซอฟต์แวร์ป้องกันไวรัส

ในความเป็นจริงหากคุณทำสิ่งอื่น ๆ อย่างถูกต้องเพียงพอซอฟต์แวร์ป้องกันไวรัสไม่จำเป็นเลย แต่สิ่งสำคัญที่นี่คือการทำงานในฐานะผู้ดูแลระบบคือไม่ต้องห้าม

โชคดีที่ตอนนี้เป็นสถานะเริ่มต้นใน Windows 7 แม้ว่าบัญชีของคุณจะมีสิทธิ์ผู้ดูแลระบบ แต่ก็ยังคงทำงาน "แซนด์บ็อกซ์" และให้สิทธิ์ในการยกระดับแอปพลิเคชันเฉพาะตามต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.