현재 적용된 나머지 sudo 시간 초과를 취소하는 방법은 무엇입니까?


37

방금 실행 한 sudo후 정상적인 시간 초과 기간 동안 활성 상태로 유지하지 않으려면 나머지 활성 시간 초과를 어떻게 취소 할 수 있습니까?

sudo -k 현재 터미널 세션에서 프로세스를 종료하지만 프로세스가 현재 해당 세션에서 실행 중이므로 실행할 수없는 경우 sudo -k다른 터미널 세션에서 프로세스 를 취소 할 수 있습니까?

그리고 현재 적용되는 모든 sudo시간 (모든 터미널 세션 및 모든 gksudo 실행 앱 등) 을 취소하는 방법이 있습니까?

그것을 생각 올 있지만, 실행중인 GUI는 단순히 종료해야하지만 난 그냥 것을 확인할 수 있습니다 Alt+가 F2이후의 호출에 대한 gksu 활성 유지합니다.

답변:


37

시간 초과가 발생하지 않거나 즉시 시간이 초과되지 않도록 sudo 시간 초과를 종료 해야하는지 확실하지 않지만 나머지 타임 스탬프를 제거하려면 사용할 수 있습니다 sudo -k

그렇지 않으면 시간 초과를 취소하려고 시도하여 sudo가 시간 초과되지 않으면 현재 세션에서 할 수 있다고 생각하지 않습니다. 내가 아는 유일한 방법 timestamp_timeoutsudoers파일 을 변경 하고 세션을 다시 시작하는 것입니다.


oops .. 나는 세부 사항에 조금 느렸다 : 나는 단지 내 질문에 조금 더 추가했다. "-k"에 대해 ... 그리고, 일회성 상황을 언급하고 있지만, 지금은 가져옵니다. 시스템 전체의 "일회성"문제를 해결합니다. ... 내 oringinaL (부족한 세부 사항) 질문에 완벽한 asnwer에 감사 (+1) ..
Peter.O

1
나는 -K실제로 -k(-k가 itseld에 의해 사용될 때 )와 실제로 어떻게 다른지 이해하지 못하지만 -k이중 사용이 있습니다 : 1. 자체적으로 (타임 스탬프를 무효화합니다) ... 2. 명령과 함께 사용될 때, 그것은 이전 sudo 시간 초과가 만료되었는지 여부에 관계없이 암호를 묻는 메시지가 표시됩니다 ..... 그런데 sudo -k는 Alt + F2에서 작동하여 이전 sudo / gksu 호출의 타임 스탬프를 종료합니다.
Peter.O

예, 언제 다른 것을 사용할지 모르겠습니다.
wajiw

이외에도 "기존의 모든 타임 스탬프를 죽일"문제에서 .... 근본적인 변화없이 의 sudoers 설정을, 유일한 방법은 내가 실행 볼 수있는 "guaranteed` 한 시간 만 sudo는 것입니다 sudo -k; sudo -k appname.... 때문에 비록 sudo -k appname힘에 사용자 암호를 입력하면 기존 타임 스탬프가 변경되지 않은 채로 남습니다 ... ( "밀링 투 밀"이라고 언급) 어쩌면 모든 기존 타임 스탬프를 "킬"하는 가장 간단한 방법은 단순히 문제를 피하는 것입니다 화면을 잠 그려면 Ctrl + Alt + L을 완전히 누르십시오. :)
Peter.O

하하하 당신이 능력이 있다면, 그 옵션으로 갈 것입니다
wajiw

8

당신의 요점 중 하나에 :

그러나 프로세스가 현재 해당 세션에서 실행 중이고 sudo -k를 실행할 수없는 경우

이것은 명령 행에만 해당되며, 다른 프로세스가 실행되는 동안 아무 작업을하려면 Ctrl+ Z를 눌러 프로세스를 일시 중지 할 수 있습니다 . 그런 다음 현재 터미널에 다시 액세스하여 원하는 작업을 수행하십시오. 완료되면 jobs옆에 숫자가있는 프로세스 목록을 얻기 위해 입력 할 수 있습니다. 입력 fg 1(예 : - 단순히 fg하나의 작업 만이 있다면) 전경에 올리는 과정을 다시 시작합니다. 마찬가지로 bg동일한 작업을 수행하지만 백그라운드에서 프로세스를 실행 상태로 둡니다.

세션 예

$ sudo apt-get install hello
<CTRL+Z>
[1]+  Stopped    sudo apt-get install hello
$ sudo -k
$ jobs
[1]+  Stopped    sudo apt-get install hello
$ fg 1
Loading database...
....

1
스테파노 : 고마워 ... 정말 좋다 ... 리눅스가 계속 나에게 "네, 물론 할 수 있습니다":) ... 그리고 생각해 보니, 나는 그 Ctrl에 대해 반을 알고있었습니다. + Z, 반은 충분하지 않습니다!) ... 이제 화면의 텍스트가 아닌 "실제"상황을 말 했으므로 절대 잊지 않을 것입니다 ... ..해야 할 Cntrl + Z-ing이 있습니다.
Peter.O November

2

해결책을 찾았습니다. 검색 결과에 아무것도 표시되지 않았으므로 자주 묻는 질문입니다. sudo는 파일 시스템의 어딘가에 저장합니다 (예 : / var / run / sudo). 사용자 이름 당 하나의 디렉토리, 타임 스탬프로 작동하는 여러 파일 , 각 터미널 당 하나의 파일. 해당 파일을 삭제하면 시스템이 다시 안전 해집니다. 이러한 파일은 루트에만 표시됩니다 (그렇지 않으면 침입자가 타임 스탬프를 읽고 시계 시간을 여전히 유효한 지점으로 되돌릴 수 있음-root-ls를 다른 사람에게 부여하는 것은 위험합니다). 따라서 내 / etc / pm / sleep / 및 아마도 스크린 세이버에서도 실행됩니다.

rm -f /var/db/sudo/*/*

물론 ...

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