มีความกังวลเกี่ยวกับการเข้าสู่ระบบในฐานะที่รูทมากเกินไป?


16

สำหรับลินุกซ์ส่วนบุคคลในสมุดบันทึกส่วนตัวของฉันฉันมักจะตั้งค่าสภาพแวดล้อมของฉันเป็นออโตโลจินในฐานะรูทแม้ใน X หรือต่ำกว่าระดับ runlevels ฉันพบว่าเวิร์กโฟลว์ของฉันเป็นที่พอใจและรวดเร็วโดยไม่ต้องพิมพ์suหรือsudoหรือขอให้พิมพ์รหัสหรือรับรองความถูกต้อง

จนถึงตอนนี้ฉันไม่เคยมีปัญหากับมันเลยทำไมคนส่วนใหญ่ถึงคลั่งไคล้ ความกังวลเกินจริงหรือเปล่า? แน่นอนว่าผู้ใช้รู้ว่ากำลังทำอะไรอยู่และไม่สนใจเรื่องความน่าเชื่อถือของระบบและปัญหาด้านความปลอดภัย


4
ทำงานเป็นรูททำไม ถ้าคุณจริงๆก็ไม่ต้องการที่จะพิมพ์sudoผมขอแนะนำการแก้ไข/etc/sudoersและการเพิ่มคำสั่งบางอย่างเป็น NOPASSWD (ไม่ทั้งหมดของพวกเขา) แล้วในของคุณ~/.bashrc(หรือไฟล์นามแฝง) เพิ่มaliasES sudo commandไป นี่อาจยังไม่ใช่ความคิดที่ดี แต่จะจำกัดความเสียหายที่คุณสามารถทำได้หรือกระทำกับคุณ
xenoterracide

11
ระดับความเป็นปรปักษ์ในหัวข้อนี้ค่อนข้างน่าเป็นห่วง มันเป็นคำถามที่ถูกกฎหมาย ใช่การทำงานในฐานะรูทตลอดเวลาเป็นความคิดที่ไม่ดี แต่ไม่จำเป็นต้องพูดถึงมัน
Michael Mrozek

5
@Mrozek: เห็นด้วย ตอนนี้ฉันจะไม่ให้รหัสผ่านรูทของ OP แก่ระบบใด ๆ ที่ฉันควบคุม แต่การกำจัดระบบด้วยการพิมพ์สิ่งที่ผิดสามารถให้ความรู้ได้มาก บางทีการเขียน OP "จนถึงตอนนี้ฉันไม่เคยมีปัญหาอะไรเลย" จะได้เรียนรู้สิ่งที่มีประโยชน์เช่นความจริงที่ว่าสิ่งต่าง ๆ สามารถเกิดขึ้นได้เป็นครั้งแรก
David Thornley

2
ฉันคิดว่านี่สรุปได้ว่าทำไมไม่: unix.stackexchange.com/questions/502/ …
อเล็กซ์ B

3
วิธีนำรถมาเปรียบเทียบ: เหมือนกับการขับขี่ที่ไม่มีเข็มขัดนิรภัย เป็นไปได้ แต่อาจเป็นอันตรายถึงตายได้
สลับกลับใน

คำตอบ:


33

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

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

ในทางกลับกันการเขียนรูทคิทระดับผู้ใช้นั้นยากมาก มีการแทนที่โปรแกรมที่แตกต่างกัน (เช่นps) ภายใน/homeซึ่งสามารถเพิ่มความสงสัยเนื่องจากการใช้พื้นที่ดิสก์เพิ่มเติม มันอาจไม่ทราบว่าการกำหนดค่าที่แน่นอนและลืมที่จะรวมเช่นgnome-system-monitorจึงเปิดเผยตัวเอง มันจะต้องมีฝาปิดbash, tcshและเปลือกใด ๆ ที่เกิดขึ้นที่จะใช้ (ที่จะเริ่มต้นเอง) มันจะต้องทำงานกับการกำหนดค่าที่แตกต่างกันแทน 'เพียงแค่' แทนที่การเรียกกลับจำนวนมาก

พิจารณาว่าเมื่อไม่นานมานี้มีการใช้รหัสโดยอำเภอใจใน ... Adobe Reader

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

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

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

เหตุผลที่ห้าคือ/rootไม่ควรอยู่ในพาร์ติชันแยกต่างหากในขณะที่/homeสามารถ (และควร) มีความ/homeช่วยเหลือแยกต่างหากด้วยเหตุผลต่าง ๆ

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


3
ความจริงที่ว่าในฐานะที่เป็น root ddสามารถทำทุกอย่างกับอุปกรณ์บล็อกใด ๆ ในระบบรวมกับความจริงที่เป็นไปได้ที่ root จะทำการแทรกแซงหลายอย่างโดยเจตนาและไม่ตั้งใจโดยมีเคอร์เนลและระบบใน / dev และ / proc เพียงพอที่จะโน้มน้าวใจให้ทุกคนไม่ให้ทำงานในฐานะรูทเว้นแต่จำเป็น
LawrenceC

29

นอกจากนี้คุณยังสามารถขี่มอเตอร์ไซค์ในภาพเปลือยและไม่มีอะไรเกิดขึ้น แต่ฉันเดิมพันคุณจะรู้สึกดีขึ้นถ้าคุณมีเมื่อคุณชนจักรยาน ...


7
บางที แต่ลองนึกถึงความรู้สึกที่คุณได้รับเวลาที่เหลือ!
Sirex

12

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

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


+1 เพื่อเตือนฉันถึงประสบการณ์เก่า ๆ หรือว่าควรเป็น -1 เมื่อนำกลับขึ้นมา?
David Thornley

5
ฉันไม่เคยเข้าใจว่าทำไมผู้คนเชื่อว่าการใช้ sudo ป้องกันคำสั่งที่พิมพ์ผิด ระบบล่าสุดที่ฉันปิดไม่กี่ปีหลังคือ sudo rm -rf / dir / job
Sirex

4

ไม่มันไม่ได้ถูกใส่เกินขนาด ในทางปฏิบัติมันเป็นที่นิยมมากที่สุด :-)

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

คนที่อยากรู้อยากเห็นจริง ๆ อาจต้องการทำตามหลักการของสิทธิพิเศษน้อยที่สุดและอ่านกระดาษของ"เคนนี ธ อมป์สัน" Reflections On Trusting Trust " ("คุณธรรมนั้นชัดเจนคุณไม่สามารถเชื่อถือรหัสที่คุณไม่ได้สร้างขึ้นมาเองโดยสิ้นเชิง")


3

รับความคิดเห็นของคุณกับคำตอบอื่น

แต่ลินุกซ์นั้นเกี่ยวกับอิสรภาพรวมถึงอิสระในการทำลายข้อมูลส่วนตัวของคุณและความปลอดภัย

แม้แต่การบังคับผู้คนให้ผ่านsudoLinux ยังเสนออิสรภาพนี้ อาร์กิวเมนต์ด้านความปลอดภัยทั้งหมดที่คุณต้องการหลีกเลี่ยงอยู่ที่นั่นเพื่อปกป้องคุณจากสิ่งที่ไม่ใช่คุณ (อ่าน: โปรแกรมที่เป็นอันตรายหรือโปรแกรมที่ควบคุมโดยคนที่เป็นอันตราย)

คิดว่ามันเป็นเข็มขัดนิรภัย ใช้เวลาไม่กี่วินาทีในการใช้งาน สามารถช่วยชีวิตคุณจากคนโง่คนอื่น ๆ ได้ (เช่นเดียวกับตัวคุณเอง)

หากคุณไม่ต้องการพิมพ์รหัสผ่านของคุณตลอดเวลาsudoedit /etc/sudoersแต่หากคุณยังคงทำงานเป็น root คุณจะต้องรันบางสิ่งที่ทำให้ระบบของคุณและข้อมูลทั้งหมดของคุณไม่ทำงาน

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


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

2

ทำไมไม่เรียกใช้Damn Vulnerable Linuxเป็นระบบหลักของคุณในขณะที่คุณอยู่ในนั้น หากคุณไม่สนใจความปลอดภัยของระบบคุณก็อาจเพิกเฉยต่อความปลอดภัยทั้งหมด ...


ในทางเทคนิคแล้วคอมพิวเตอร์ที่มีรูทในฐานะผู้ใช้หลักสามารถรักษาความปลอดภัยในทางทฤษฎีได้ ...
Maciej Piechotka

3
@Maciej คอมพิวเตอร์ที่ปลอดภัยเท่านั้นที่ไม่ได้เสียบปลั๊กอยู่ในคอนกรีตที่ด้านล่างของทะเลสาบ
xenoterracide

เมื่อ Mitnick ชี้ให้เห็นว่าใครบางคนสามารถเอามันออกไปนอกทะเลสาบได้ให้ทำลายคอนกรีตและเสียบปลั๊ก (โอ้เขาบอกแค่ว่ามีใครบางคนสามารถเสียบปลั๊กคอมพิวเตอร์โดยใช้โซเชียลแวร์ แต่หลักการก็เหมือนกัน) ฉันพยายามระวังการใช้ 'ทางเทคนิค' และ 'ตามหลักวิชา' - การล็อคที่ไม่ดีจะดีกว่าถ้าไม่มีการล็อค ตัวอย่างเช่นฉันถือว่าระบบปัจจุบันของฉันมีความปลอดภัยเพียงพอแม้จะไม่มี SELinux อยู่ก็ตาม)
Maciej Piechotka

@Marciej ความปลอดภัยเป็นเรื่องเกี่ยวกับการวิเคราะห์ต้นทุน / ความเสี่ยง คุณไม่เคยให้ความปลอดภัยกับสิ่งใดมากกว่าสิ่งที่มีค่า
xenoterracide

1
@ Marciej และถ้ามันไม่มีค่าอะไรเลยมีจุดในการรักษาความปลอดภัยใด ๆ ที่จุดนั้นไม่มีจุดอ่อน
xenoterracide

1

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

ดังที่ได้กล่าวไว้ก่อนหน้านี้คุณจะประหลาดใจว่าสิ่งเล็ก ๆ น้อย ๆ สามารถทำลาย HD ทั้งหมดของคุณได้อย่างไร ในปีแรกของฉันฉันพยายามใช้งานรูทมากเพราะในสมัยของ Fedora-core 3 นั้นมีวิธีการที่ไม่น่าแปลกใจเลยที่จะจัดการระบบของคุณจากผู้ใช้

ในเวลานั้นฉันทำการแก้ไข xorg เล็ก ๆ โดยไม่สำรองข้อมูลเพราะฉันไม่คิดว่ามันจะเจ็บ เดสก์ท็อปหายไป จากนั้นฉันพยายามที่จะแก้ไขด้วยตนเอง แต่ไม่สามารถเข้าใจสิ่งที่ฉันทำ ต่อมาฉันคิดว่าบางทีฉันสามารถติดตั้งไดรเวอร์และเดสก์ท็อปของฉันใหม่ได้ แต่ก็ตัดการเชื่อมต่ออีเทอร์เน็ตของฉันโดยไม่ได้ตั้งใจเพราะมันเป็น nvidia

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

ตั้งแต่ที่ฉันรูตการแก้ไขปัญหาเหล่านี้ก็ยิ่งแย่กว่าที่พวกเขาต้องการ

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

แก้ไข: โอ้ ... และบางโปรแกรมเช่น WINE ไม่ควรที่จะทำงานในสภาพแวดล้อมราก http://wiki.winehq.org/FAQ#head-96bebfa287b4288974de0df23351f278b0d41014


1

เหตุผลด้านความปลอดภัย - daemon หรือสคริปต์ช่องโหว่การกำหนดเป้าหมาย Linux จะมีอำนาจดูแลระบบของคุณ

ทำงานเป็นผู้ใช้ที่เรียบง่ายและใช้ sudo แตกต่างกันมากในแง่ของความปลอดภัย Firefox ของฉันทำงานในฐานะผู้ใช้ของฉันดังนั้นช่องโหว่ของ Firefox จะเข้าสู่บัญชีของฉันเท่านั้น ไม่มีอะไรอีกแล้ว.


0

ฉันเห็นด้วยกับ Maciej สำหรับความกังวลเรื่องความปลอดภัย & ควบคุมอำนาจบางอย่าง นอกจากนี้เนื่องจากคุณเป็นเจ้าของระบบของคุณคุณสามารถปิดใช้งานฟังก์ชันนี้ได้หากต้องการ;) เป็นตัวเลือกของคุณ


-4

ฉันไม่เห็นปัญหาที่ยอดเยี่ยมในการเข้าสู่ระบบในช่วงเวลาปกติตราบใดที่คุณไม่ทำอะไรโง่ ๆ

ฉันไม่ได้ทำเองเพราะบางครั้งฉันทำอะไรที่โง่ ฉันไม่เคยสังเกตเห็นว่าอะไรโง่ ๆ ที่ฉันเคยทำอาจเป็นปัญหาใหญ่ แต่ฉันก็ไม่หยิ่งพอที่จะคิดว่าฉันจะไม่ทำอะไรโง่ๆ เลย


8
การใช้เว็บเบราว์เซอร์ถือเป็นการทำสิ่งที่โง่?
xenoterracide

4
@xenoterracide: มันถือว่าเป็นการทำสิ่งที่โง่ถ้าคุณเข้าสู่ระบบในฐานะ root ฉันจะบอกว่า
David Thornley

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