sudo 비밀번호 기억 시간 초과를 늘리려면 어떻게해야합니까?


61

나는 이미 / etc / sudoers 파일을 조정해야한다는 것을 알고 있지만 전체 정보와 vi편집기 를 사용할 필요가없는 솔루션을보고 싶습니다 .

업데이트 : 절대 다른 파일로 파일을 편집하려고 시도하지 마십시오 visudo.


1
visudo :: sudo env EDITOR = nano visudo
Good Person

답변:


86

sudo visudo이 줄을 실행 하고 추가하십시오.

Defaults    timestamp_timeout=-1

참조하십시오 man 5 sudoers. -1암호가 시간 초과되지 않도록합니다. 몇 분 안에 원하는대로 숫자를 변경할 수 있습니다.

에 대한 매뉴얼 페이지 sudosudo -v"추가 5 분 동안 sudo 제한 시간을 연장합니다" 라고 말합니다 .

파일을 편집하는 대신 'sudo visudo'를 실행하면 변경 사항을 커밋하기 전에 시스템이 sudoers 파일을 직접 검증합니다. 예를 들어, 길 잃은 문자를 다른 곳에두면 저장하고 종료 할 때 "sudoers 파일에 오류가 있는데 무엇을하겠습니까?"라고 표시합니다. ... 다시 들어가서 편집 할 수있는 기회를 제공합니다. 이것은 실제로 10 분 전에 나에게 일어났다.


20
예, 그러나 visudo저장하기 전에 sudoers 파일에 대한 기본 상태 검사를 실행합니다. vi직접 사용하여 파일을 엉망으로 만들면 sudo를 사용 하지 못하게되어 변경을 취소하기가 매우 어려울 수 있습니다.
nohillside

4
권한은 다른 시스템에서와 동일하므로 Apple과 관련이 없습니다. visudo시스템 기본 편집기를 둘러 쌉니다 (루트가 기본값을 재정의 한 경우 루트 사용자 기본값을 추측합니다). vi bar 이름과 관련이 없습니다. 내 시스템 (애플 btw 아님)에서 나노를 얻습니다. 시도 export EDITOR='/bin/nano'또는 어떤 편집기는 다음 visudo를를 사용 좋아.
Chris

4
음 .. sudo 파일을 채웠기 때문에 root에 접근 할 수 없기 때문에 root를 사용할 수 없습니다. 그게 요점입니다.
daviewales

1
전문적인 역할에서는 sudo에 액세스 할 수 있지만 루트 암호는 없습니다. 서버가 전국의 데이터 센터에있어 단일 사용자 모드에 액세스하기 어렵습니다. 그러나 만약 당신이 전문가라고한다면 아마 그런 경고를받지 않았을 것입니다. 요점은 전문가로부터 배워야한다는 것입니다. 좋은 습관을 피하는 방법을 찾지 마십시오. 그런 다음 Stack Exchange 및 IRC에 대한 당신의 열광적 인 울음 소리를 들어야합니다.
Bruno Bronosky

1
(아마도 모두에게 분명하지만 추가 할 수 있습니다) : timestamp_timeout은 분 단위이며 분수 구성 요소를 포함 할 수 있습니다.
사용자

3

직접 수정하는 데 실제로 주의 하십시오 /etc/sudoers!

예를 들어 위의 제안을 직접 시도했습니다.

sudo sh -c 'echo "\nDefaults timestamp_timeout=-1">>/etc/sudoers'

/etc/sudoers파일 을 엉망으로 만들었습니다 (CentOS Virtualbox VM에서). 되어야했다 :

sudo sh -c 'echo -e "\nDefaults timestamp_timeout=-1">>/etc/sudoers'

다행히도 루트 계정에 액세스하여 루트로 로그인 visudo하여 문제를 사용 하고 수리했습니다! 따라서 위의 의견을 visudo대신 사용 하는 데 동의 합니다.


1

sudoers에 대한 모든 정보는 다음 명령을 사용하여 터미널에서 찾을 수 있습니다

man sudoers

간단한 텍스트를 사용하여 파일을 편집 할 수도 있지만 개인은이를 어렵게 만듭니다. sudoers는-r--r----- (Octal 0440)

이것은 Apple이 실제로 파일을 망칠 필요가 없다는 것을 나타냅니다. 이것이 실제로 OS의 핵심 보안입니다.

편집 옵션은 vi, emacs 또는 내가 좋아하는 BBEdit입니다.


5
이러한 권한이 설정되는 이유가 있습니다. visudo파일을 직접 편집하지 않고 강제로 사용하도록 설정되어 있습니다. 또한 이것은 OS X와 ​​관련이 없습니다. 표준 * nix입니다. 또한 기본이 아닌 편집기를 사용하려면 $EDITOR을 호출하기 전에 환경 변수를 설정하십시오 visudo. 예 EDITOR=nano sudo visudo.
daviewales

1

이 명령으로 sudo 시간 초과를 비활성화하십시오.

sudo sh -c 'echo "\nDefaults timestamp_timeout=-1">>/etc/sudoers'

이 방법으로 sudo 시간 초과를 다시 활성화하려면 :

sudo sed -i "/Defaults timestamp_timeout=-1/d" /etc/sudoers

8
sudoers 매뉴얼 페이지에서 : sudoers 파일은 항상 파일을 잠그고 문법 검사를 수행하는 visudo 명령으로 편집해야합니다. sudo가 구문 상 잘못된 sudoers 파일과 함께 실행되지 않으므로 sudoers에 구문 오류가 없어야합니다.
Matteo

@Matteo 당신은 결과를 알고 있다면 당신은 당신의 자신의 재산에 원하는 것을 할 수 있습니다. 예를 들어 자동화 스크립트의 일부로 중요한 데이터가없는 새로운 맥 빌드에서 사용하는 경우가 있습니다. 경고를 제공하기 위해이 답변의 수정을 제안했습니다. 이상적으로 sudo파일을 편집하지 않고도 이것을 변경할 수있는 한 줄짜리 방법이 있어야합니다!
samthebest

1
이것은 위험한 조언입니다. 대신 visudo를 사용하십시오.
윌 셰퍼드
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.