다음을 사용하여 시간이 많이 걸리는 명령을 sudo
실행 하는 경우 sudo
제가 입력한 비밀번호는 이전 명령이 실행되는 동안 캐시되었고, 이전 명령 실행이 완료된 후에도 한동안 캐시된 것 같습니다.
비밀번호 캐싱에 대한 시간 제한은 언제부터 시작됩니까 sudo
?
감사해요.
고쳐 쓰다:
$ sudo sleep 14m ; sudo ls;
[sudo] password for t:
file file1 file2
$ sudo sleep 15m; sudo ls;
[sudo] password for t:
[sudo] password for t:
위 명령은 비밀번호를 입력하면 비밀번호 캐싱 시간 제한이 시작된다는 뜻인가요?
답변1
오직하나사용자당 시간 초과입니다. 시간 초과의 시작 타임스탬프가 파일에 저장됩니다. 파일 위치는 운영 체제에 따라 다릅니다. sudo를 사용하는 대부분의 유효한 작업은 타임스탬프를 재설정합니다. 이와 같은 작업은 sudo -n
타임스탬프를 재설정하지 않습니다. 이와 같은 작업을 수행 sudo -k
하면 타임스탬프가 제거됩니다.
파일을 검사하려면 언제든지 파일을 나열할 수 있도록 루트로 실행되는 콘솔과 타임스탬프 파일을 시작, 삭제 및 테스트하기 위한 또 다른 콘솔이 필요합니다.
콘솔을 열고 루트로 로그인하여 타임스탬프 파일을 나열합니다.
$ sudo su - [sudo] password for thisuser: ****** # ls -la /var/lib/sudo/ts/thisuser -rw------- 1 root thisuser 240 Jul 24 07:20 thisuser
내부에두번째콘솔, 타임스탬프 재설정(대문자 K):
$ sudo -K
첫 번째 콘솔을 사용하여 파일이 삭제되었는지 확인하세요.
새로운 sudo 세션 시작
$ sudo su - [sudo] password for thisuser: ****** # ls -la /var/lib/sudo/ts/thisuser -rw------- 1 root thisuser 240 Jul 24 07:25 thisuser
이 파일의 시간은 마지막 업데이트 시간이며 아마도 기본 타임스탬프 시간 초과가 시작되는 지점일 것입니다. 실제로는 파일에 포함된 타임스탬프이지만 대부분의 경우 둘은 동일합니다.
문서
man sudoers에서(기본 시간 초과(분 15
)). (강조는 내 것)
timestamp_timeout
sudo가 비밀번호를 다시 요청하기 전까지 경과할 수 있는 시간(분)입니다. 작은 세분성만으로는 충분하지 않은 경우 시간 제한에 2.5와 같은 소수 부분이 포함될 수 있습니다.기본값은 15입니다.. 항상 비밀번호를 묻는 메시지를 표시하려면 0으로 설정하세요. 0보다 작은 값으로 설정하면 시스템이 다시 시작될 때까지 사용자의 타임스탬프가 만료되지 않습니다. 이는 사용자가-v
각각 sudo 및 sudo를 통해 자신의 타임스탬프를 생성하거나 삭제할 수 있도록 하는 데 사용할 수 있습니다 .-k
또한 man sudoers
(타임스탬프 디렉터리(/var/lib/sudo/ts리눅스에서/var/run/sudo/tsFreeBSD 및 기타)) (강조):
타임스탬프 디렉터리
sudo가 타임스탬프 파일을 저장하는 디렉터리입니다. 이 디렉터리는 시스템이 다시 시작되면 지워져야 합니다. 기본값은/var/lib/sudo/ts.
답변2
이는 운영 체제에 따라 다를 수 있지만 Ubuntu에서는 기본적으로 관리 권한이 15분 동안 지속됩니다. 여기에 설명된 대로 이 시간 초과 값을 수정할 수 있습니다.https://www.maketecheasier.com/change-the-sudo-password-timeout-in-ubuntu/,예를 들어