sudo를 사용하여 명령을 실행하기 위한 비밀번호는 얼마나 오랫동안 캐시되나요?

sudo를 사용하여 명령을 실행하기 위한 비밀번호는 얼마나 오랫동안 캐시되나요?

루트 권한이 필요한 명령을 실행하면 sudo현재 사용자의 비밀번호를 묻는 메시지가 나타납니다. 잠시 후 를 사용하여 동일한 유형의 명령을 실행하면 sudo비밀번호를 다시 묻는 메시지가 표시되지 않습니다. 그래서 내 추측으로는 비밀번호가 만료될 때까지 어딘가에 캐시되어 있을 것입니다. 이 만료 시간은 얼마나 됩니까? 구성할 수 있나요?

답변1

man 5 sudoers우리에게 알리는 옵션이 있습니다 timestamp_timeout:

timestamp_timeout

sudo가 비밀번호를 다시 요청하기 전까지 경과할 수 있는 시간(분)입니다. 작은 세분성만으로는 충분하지 않은 경우 시간 제한에 2.5와 같은 소수 부분이 포함될 수 있습니다. 기본값은 5입니다. 항상 비밀번호를 묻는 메시지를 표시하려면 0으로 설정하세요. 0보다 작은 값으로 설정하면 사용자의 타임스탬프가 만료되지 않습니다. 이는 사용자가 각각 "sudo -v" 및 "sudo -k"를 통해 자신의 타임스탬프를 생성하거나 삭제할 수 있도록 하는 데 사용할 수 있습니다.

그렇습니다. 구성할 수 /etc/sudoers있으며 기본적으로 5분 후에 만료됩니다.

또한 visudo수정하려면 쌍을 사용하는 것을 잊지 마세요 /etc/sudoers. 편집 내용을 저장할 때 visudosudoers 파일을 실제로 덮어쓰기 전에 유효성 검사가 실행됩니다. 이렇게 하면 액세스할 수 없도록 잠긴 경우 sudo고통스러운 복구 프로세스로부터 사용자를 보호할 수 있습니다 .

답변2

이는 구성에 따라 다릅니다. 대부분의 배포판(및 소스 코드)의 기본값은 5분 timestamp_timeout이지만 /etc/sudoers. 에서 man sudoers:

sudo가 비밀번호를 다시 요청하기 전까지 경과할 수 있는 시간(분)입니다. 작은 세분성만으로는 충분하지 않은 경우 시간 제한에 2.5와 같은 소수 부분이 포함될 수 있습니다. 기본값은 5입니다. 항상 비밀번호를 묻는 메시지를 표시하려면 0으로 설정하세요. 0보다 작은 값으로 설정하면 사용자의 타임스탬프가 만료되지 않습니다. 이는 사용자가 각각 "sudo -v" 및 "sudo -k"를 통해 자신의 타임스탬프를 생성하거나 삭제할 수 있도록 하는 데 사용할 수 있습니다.

예를 들어 사용자의 시간 초과를 20분으로 설정하려면 , 또는의 파일 chris에 다음을 추가합니다 (참고: 이 파일의 규칙 순서/etc/sudoers/etc/sudoers.d그리고이러한 파일의 순서는 중요합니다. 나중에 실행되는 규칙에 의해 실수로 덮어쓰이지 않도록 주의하세요.

Defaults:chris timestamp_timeout=20

관련 정보