sudo는 이미 root의 비밀번호를 입력 한 것을 어떻게 기억합니까?


27

Linux에서 sudo를 사용하는 경우 루트 비밀번호를 요청하지만 처음 실행할 때만 루트 비밀번호를 묻습니다. 다른 sudo 명령을 실행하면 이전에 이미 비밀번호를 입력했으며 요청하지 않은 것을 기억합니다.

thomas@ubuntu:~$ sudo id
[sudo] password for thomas: ******
uid=0(root) gid=0(root) groups=0(root)
thomas@ubuntu:~$ sudo id
uid=0(root) gid=0(root) groups=0(root)

sudo는 어떻게합니까? 이 정보는 어디에 저장됩니까? 내 생각은 터미널 ID (pts / 1과 같은)를 기억하지만 이것이 어디에 저장됩니까? 첫 번째 sudo 프로세스는 명령이 끝나면 끝납니다.

sudo가 setuid 프로그램이라는 것을 알고 있으므로 항상 루트 권한이 있지만 사용자가 이미 암호를 입력했다는 정보를 저장할 수있는 좋은 장소는 생각할 수 없습니다. 데몬 프로세스가 관련되어 있습니까?


1
여기에는 sudo의 작동 방식에 대한 꽤 좋은 개요가 있습니다. aplawrence.com/Basics/sudo.html sudo가 암호를 기억 하는 방법에 대한 구체적인 내용은 다루지 않지만 암호를 기억하는 sudo의 동작 (예 : 기본 시간 제한은 5 분)에 대해 자세히 설명 합니다. . 그래도 여전히 흥미 롭습니다.

12
그냥 작은 보정, sudo는가을 요청 하여 암호가 아닌 루트의 암호

답변:


16

이 정보는 어디에 저장됩니까?

아마도 아래에 /var/db/sudo있거나 /var/run/sudotty 번호로 정렬 된 파일이있는 사용자 이름의 디렉토리를 찾을 수 있습니다.

암호를 다시 입력하기 전에 세션이 지속되는 시간을 포함하여 부여 된 실제 권한은 sudoers 설정 방법에 따라 다릅니다. 많은 다른 것들을 부여 / 제한하는 설정이 있지만 타임 스탬프 만 저장하는 이러한 파일에는 저장되지 않습니다. 세션 지속 시간 또는 sudo에서 비밀번호를 다시 입력하라는 메시지가 표시되는 시간은 현재 시간의 델타와이 디렉토리의 세션 타임 스탬프 및 세션 지속 시간을 허용하도록 sudo를 설정하는 기간에 따라 결정됩니다.


2
시간에서에 관해서는 우분투 문서 : "sudo를 사용하는 경우, 비밀번호는 15 분 동안 기본적으로 저장됩니다."

11

man sudo파일 섹션을보고 보십시오 :

/ var / lib / sudo 타임 스탬프를 포함하는 디렉토리

그리고 SECURITY NOTES

sudo는 타임 스탬프 디렉토리의 소유권을 검사합니다 (기본적으로 / var / lib / sudo) [...]

(데비안 6.0.4의 매뉴얼 페이지)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.