sudo ขอรหัสผ่านของฉันไว้ในตู้ปลา


19

sudo ใน Ubuntu ขอรหัสผ่านของฉันทุกคำสั่ง ก่อนหน้านี้ฉันต้องป้อนรหัสผ่านเพียงครั้งเดียวเท่านั้นจากนั้นจะถูกจดจำเป็นระยะเวลาหนึ่ง สิ่งนี้เพิ่งเปลี่ยนไปอาจเป็นหลังจาก "อัปเกรด" เป็น Natty

ฉันทำsudo visudoและตั้งค่าDefaults env_reset, timestamp_timeout = 60แล้วพยายามรีบูตเครื่อง แต่ก็ยังไม่ทำงาน ฉันจะแก้ไขได้อย่างไร

หลังจากคำแนะนำด้านล่าง/etc/sudoersหน้าตาของฉันแบบนี้:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults:endolith timestamp_timeout=60

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

#includedir /etc/sudoers.d

ปรับปรุง:

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

ปรับปรุง:

ฉันอัพเกรดเป็น 13.05 และสิ่งนี้เริ่มทำงานได้อย่างน่าอัศจรรย์อีกครั้ง ตอนนี้มันถามรหัสผ่านของฉันอีกครั้งหยุดถามสักครู่แล้วถามอีกครั้งหลังจากผ่านไประยะหนึ่ง


เป็นไปได้ซ้ำ: superuser.com/questions/148665/…
warren

3
@warren: นั่นไม่ซ้ำกัน ฉันควรจะต้องป้อนรหัสผ่าน แต่หลังจากที่ฉันป้อนครั้งเดียวฉันไม่จำเป็นต้องใช้เวลาตามที่กำหนด ฉันเปลี่ยนจำนวนครั้งนี้ด้วย visudo ในอดีต แต่มันไม่ทำงานอีกต่อไป
endolith

ฉันคิดว่าคุณต้องใช้คำสั่งเริ่มต้นหลายรายการมากกว่าหนึ่งคำสั่งแยกกัน
สเตฟานี

@Stephanie ฉันมั่นใจว่ามีคำสั่งค่าเริ่มต้นเดียวที่มีค่าที่คั่นด้วยเครื่องหมายจุลภาคทำงานได้ดี
Zoredache

ฉันเห็นว่าคุณได้เพิ่มบรรทัดที่ชอบDefaults:endolith timestamp_timeout=60แต่คุณไม่ได้อยู่ในกลุ่มใด ๆ ที่เรียกว่า endolith และสอดคล้องกับความคิดเห็นอื่นที่นี่ คุณใช้ชื่อผู้ใช้อะไร ตรวจสอบกับwhoamiและเพิ่มชื่อผู้ใช้ที่อยู่ในสถานที่ของendolithในDefaults:endolith timestamp_timeout=60หรือendolith ALL=(ALL) NOPASSWD: ALL
Wim

คำตอบ:


15

@endolith: ใช่ดูเหมือนว่าจะส่งผลกระทบต่อปลาเท่านั้น ฉันมีปัญหาเดียวกันปัญหาเกิดจากตัวเลือก sudo "tty_tickets" การปิดใช้งานสิ่งนี้ในไฟล์ / etc / sudoers ของคุณจะช่วยแก้ปัญหาได้

ต่อไปนี้จะปิดใช้งาน tty_tickets:

Defaults        env_reset,!tty_tickets

สิ่งนี้มีผลกระทบเชิงลบหรือไม่?
endolith

1
"ระวังหากคุณให้การเข้าถึง SSH แก่ผู้ใช้ระยะไกลเนื่องจากคุณอาจอนุญาตให้ผู้ใช้เหล่านั้นแบ่งปันสิทธิ์ยกระดับให้กับคุณโดยไม่ได้ตั้งใจหากคุณปิดใช้งาน tty_tickets" จากask.debian.net/questions/…
endolith

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

5

หากไม่มีอะไรอื่นให้ลองsudo -i(ด้วยตัวเอง) นั่นจะให้รูทเชลล์แก่คุณหลังจากใช้รหัสผ่านเดียว


6
จุดที่ดี แต่มีความเสี่ยงกว่าคำขอเล็กน้อย
mbb

เมื่อพิจารณาว่านี่เป็น "วิธีอูบุนตู" สำหรับการรูทเชลล์ฉันคิดว่ามันเป็นการทำงานที่เป็นปัญหา ทุกคำสั่งยังคงถูกบันทึกไว้
Broam

1
มันไม่ได้แก้ปัญหาจริงๆ แต่โดยทั่วไปแล้วเป็นเพียงวิธีที่จะเพิกเฉย
Zoredache

นี่เป็นวิธีแก้ปัญหาแทนที่จะเป็นวิธีแก้ปัญหา แต่ก็ดีและฉันก็ไม่คิดว่ามันจะช่วยให้คุณได้ครึ่งหนึ่งโดยอัตโนมัติ :)
endolith

1

ฉันต้องป้อนรหัสผ่านเพียงครั้งเดียวจากนั้นจะถูกจดจำเป็นระยะเวลาหนึ่ง

หากฉันจะเดาได้ว่าฉันจะพนันอะไรบางอย่างเกี่ยวกับ/var/run/sudoสารบบของคุณ ไดเร็กทอรีนี้เป็นตำแหน่งที่จัดเก็บไฟล์ประทับเวลา อาจ / var / run เต็มอาจจะทำให้สิทธิ์ผิดพลาด อย่างไรก็ตามดูที่ไดเรกทอรีนั้นฉันสงสัยว่าปัญหาของคุณอาจจะอยู่ที่นั่น

สิทธิ์ในโฟลเดอร์ของฉันมีลักษณะเช่นนี้

# find /var/run/sudo/ -ls
1164242    4 drwx------   6 root     root         4096 Jan  1  1985 /var/run/sudo/
1179694    4 drwx------   2 root     www-data     4096 Jan  1  1985 /var/run/sudo/www-data
1164286    4 drwx------   2 root     myuser      4096 Jul 21 23:03 /var/run/sudo/myuser
1163399    0 -rw-------   1 root     myuser         0 Jul 13 22:42 /var/run/sudo/myuser/0
1163453    0 -rw-------   1 root     myuser         0 Jul 21 22:59 /var/run/sudo/myuser/2
1164309    0 -rw-------   1 root     myuser         0 Jul 21 23:03 /var/run/sudo/myuser/6
1163303    0 -rw-------   1 root     myuser         0 Jul 13 22:31 /var/run/sudo/myuser/5

สำหรับการวัดที่ดีคุณอาจต้องลองเรียกใช้sudo -Kเพื่อฆ่าไฟล์การประทับเวลาปัจจุบันของคุณ


find: '/var/run/sudo': No such file or directory
endolith

นั่นเป็นสัญญาณที่ไม่ดีทำไมไม่ลองสร้างมันและตั้งค่าความเป็นเจ้าของ / การอนุญาตเหมือนด้านบน
Zoredache

หรือคุณสามารถติดตั้งแพ็คเกจใหม่ได้
Zoredache

ติดตั้ง sudo ใหม่ด้วย synaptic และยังบอกด้วยว่า
endolith

ฉันได้สิ่งเดียวกันบน VirtualBox ที่ใช้ Ubuntu 10.10 ไม่มีโฟลเดอร์sudo /var/runในเครื่องเสมือนนี้จะจดจำรหัสผ่านของฉันตามที่คาดไว้ดังนั้นดูเหมือนจะไม่เกี่ยวข้องกัน เพียงสิ่งเดียวใน visudo Defaults env_resetบนเครื่องเสมือนนี้คือ นอกจากนี้ยังกล่าวแทน%sudo ALL=(ALL) ALL %sudo ALL=(ALL:ALL) ALL
endolith

0

ฉันจะตรวจสอบไดเรกทอรี /etc/sudoers.d/

คุณสามารถลองปรับลดรุ่นแพ็คเกจ sudo เป็นรุ่นก่อนหน้า

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