สิทธิ์ sudo ไม่หมดเวลาอัพเกรด apt-get ซ้ำ ๆ


9

พิจารณาสิ่งนี้: คุณพิมพ์$sudo apt-get upgradeและรับรายการสิ่งต่าง ๆ ที่จำเป็นต้องอัปเกรดด้วยการยืนยัน "Y \ n" ก่อนที่คุณจะสามารถอ่านรายการและพิมพ์ "Y" หรือ "n" เสียงโทรศัพท์ดังขึ้นหรือเจ้านายของคุณเข้ามาหรือคุณทำสิ่งอื่น คุณกลับมาอีกหนึ่งชั่วโมงต่อมาและกด Y เพื่อติดตั้งการอัปเดต

คุณจะไม่ได้รับแจ้งให้ป้อนรหัสผ่านอีกครั้ง สันนิษฐานว่าคำสั่ง sudo ใด ๆ เพิ่มเติมในเชลล์จะดำเนินการเพราะตัวจับเวลาหยุดรอการป้อนข้อมูลของผู้ใช้ หรือผู้ใช้สามารถฆ่ากระบวนการอัปเดตและทำสิ่งที่ชอบsudo -iและเพียงอยู่ในรูทไม่ จำกัด

ฉันใช้อูบุนตูคู่ 14.04

นี่เป็นข้อยกเว้นด้านความปลอดภัยที่สำคัญหรือไม่ ฉันควรลองรายงานสถานที่นั้นหรือไม่ ถ้าเป็นเช่นนั้นอยู่ที่ไหน


5
"สมมุติ" คุณหมายถึงอะไร? คุณเคยลองหรือไม่
luckyrumo

3
ผมไม่ลองนี้เพียงแค่ตอนนี้แม้จะมีDefaults passwd_timeout=3 ใน sudoers ไฟล์ของฉันเมื่อทำงานsudo apt-get upgradeรหัสผ่านไม่ได้ถาม ไม่ดีเลย
Sergiy Kolodyazhnyy

ฉันไม่มีปัญหาด้วยการตั้งค่ามาตรฐานใน Ubuntu 15.04
luckyrumo

1
@TobiasKienzler ไม่ ฉันไม่ได้แก้ไขไฟล์ sudoers ของฉัน แต่อย่างใดยกเว้นการเพิ่มส่วน passwd_timeout นั้น Chech คำตอบของฉัน ปัญหานี้เกิดจากการหมดเวลาบันทึกเวลา เหล่านี้คือตัวเลือกที่แตกต่าง
Sergiy Kolodyazhnyy

1
@Serg ฉันเห็นมีหมดเวลาสองครั้ง วิธีที่ทำให้เกิดความสับสน: / ขอบคุณ :)
Tobias Kienzler

คำตอบ:


22

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

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

ตอนนี้ถ้าคุณต้องเปิดเทอร์มินัลอื่นและลองใช้กระบวนการอื่นภายใต้sudoคุณจะได้รับแจ้งให้ใส่รหัสผ่านของคุณ


5
... หรือในเทอร์มินัลเดียวกันหลังจากคำสั่ง sudo ที่หยุดชั่วคราวเสร็จสิ้นแล้ว
steeldriver

3

sudotimestamp_timeoutตัวแปรเริ่มต้นคือ 15 นาที ซึ่งหมายความว่าหากคุณคลิก n ในsudo apt-get upgradeภายใน 15 sudo -iนาทีคุณสามารถคาดหวังการป้อนเปลือกรากด้วย นั่นคือสิ่งที่เกิดขึ้น อย่างไรก็ตามหากคุณตั้งค่า/etc/sudoersเป็นเป็นDefault timestamp_timeout 0คุณจะได้รับแจ้งทุกครั้ง โดยส่วนตัวฉันได้ตั้งไว้ที่ 3 หาก sudo ของคุณไม่ได้หมดเวลาแม้หลังจาก 15 นาทีก็มีบางอย่างผิดปกติกับsudoไบนารีของคุณ

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

หมายเหตุ : passwd_timeoutตัวเลือกที่ฉันพูดถึงในความคิดเห็นของฉันจริง ๆ แล้วพรอมต์รหัสผ่านเมื่อคุณไม่ได้พิมพ์รหัสผ่านเป็นเวลา x นาที นั่นเป็นหนึ่งในช่วงเวลาที่ดีที่คุณรู้ว่าคุณควรอ่านman sudoersอย่างระมัดระวังมากขึ้น


2
โปรดทราบว่าคุณไม่ควรแก้ไข/etc/sudoersโดยตรงให้ใช้visudoแทนซึ่งจะตรวจสอบข้อผิดพลาดทางไวยากรณ์ก่อนที่จะแทนที่sudoersด้วยไฟล์ที่ผิดพลาดซึ่งอาจล็อคคุณออกจากการเข้าถึงรูททั้งหมด
Tobias Kienzler

0

ผมขอแนะนำให้คุณสามารถพิมพ์sudo apt-get upgrade && exitนี้จะออกจากสถานีหลังจากที่จบการอัพเกรด เมื่อการอัพเกรดถูกยกเลิกเทอร์มินัลจะไม่ปิด แต่ฉันคิดว่าจะไม่เป็นเช่นนั้น

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