sudo 명령을 실행할 때 비밀번호를 묻는 메시지를 표시하지 않음

sudo 명령을 실행할 때 비밀번호를 묻는 메시지를 표시하지 않음

무슨 이유에서인지 출판할 때 갑자기 비밀번호를 입력할 필요가 없어졌습니다 sudo some_cmd.

내가 입력한 명령은 루트로 로그인하지 않은 경우에도 비밀번호를 묻지 않고 실행됩니다. 그러나 여전히 루트 권한이 필요한 명령을 호출해야 합니다 sudo. 우분투 10.04를 사용하고 있습니다.

원인이 무엇인지 아시나요?

답변1

sudo -K테스트를 말하고 다시 시도하세요. 다시 묻기 시작하면 sudo잠시 동안 비밀번호를 기억하도록 구성한 것입니다.

무엇보다도 Ubuntu는 sudo기본적으로 자격 증명을 기억하도록 구성되어 있습니다 tty. ssh발견한 바와 같이 각각의 새로운 ssh연결은 하위 수준 운영 체제 코드에 대한 새로운 터미널처럼 보이기 때문에 이는 세션에 영향을 미칩니다.

이는 그래픽 터미널 애플리케이션과 같은 것에도 영향을 미칩니다. Ctrl-Shift-T를 사용하여 인증한 후 새 탭을 생성하면 해당 탭에 비밀번호를 다시 입력할 sudo필요가 없으며 새 탭 을 닫을 수도 있습니다. 일반 비밀번호 제한 시간 내에 다시 시작하면 비밀번호를 다시 입력하지 않고도 터미널이 완전히 실행됩니다. 이 동작은 이 기능을 활성화된 상태로 유지하기로 결정하기에 충분할 수 있습니다.sudottysudo

오늘날 Mac OS X도 이런 방식으로 작동합니다.

모든 *ix가 이렇게 하는 것은 아닙니다. Red Hat Enterprise Linux(및 CentOS와 같은 파생 제품)는 모든 새로운 tty.

다음과 같이 Defaults줄을 변경 하여 두 동작을 모두 비활성화할 수 있습니다 ./etc/sudoers

Defaults=env_reset,timestamp_timeout=0,tty_tickets
  • env_reset비트는 이미 거기에 있어야 하며 여기서는 관련이 없습니다.

  • timestamp_timeout지시문은 각 세션이 즉시 시간 초과되도록 지시합니다 sudo. 이는 sudo -K모든 일반 명령 sudo후에 이를 말하는 것과 같습니다 .

  • 이 지시어는 사용자 이름뿐만 아니라 자격 증명이 사용되는 개체와 연결 tty_tickets되도록 합니다 . tty이것이 기본값이어야 하며 Ubuntu에서 이와 같이 문서화되어 있지만 sudo위에 제공된 편의상의 이유로 이 옵션을 비활성화하려면 배포판을 구축해야 합니다.

관련 정보