sudoers 파일이 변경되어 더 이상 열 수 없습니다. 루트를 사용하여 파일을 열 수 없습니다


8

사용하여 sudoers 파일의 설정을 변경했습니다.

스도 비스도 

그것을 엉망으로 만들었습니다. 이제 다시 시도하거나 sudo를 사용하여 파일을 열 때 더 이상 열 수 없으며이 오류 메시지가 나타납니다.

>>> sudoers 파일 : 구문 오류, 7 행 

지금 무엇?

이 문제에서 벗어날 수있는 방법이 있습니까 (설정을 되돌리려면), 아니면 새로운 Linux 복사본을 설치해야합니까?

내가이 모든 것을 얻은 이유는 "Q"를 눌렀을 때 약간의 오류가 있다고 말하면서 매우 어리 석었습니다.

감사.

편집하다

내 sudoers 파일은 일반 sudoers 파일과 다르지 않습니다. 방금 해당 파일에 timestamp_timeout = 0 행을 추가했으며 이러한 모든 문제가 발생했습니다. 나는 제임스가 제안한 것을하고 심지어 그 줄을 제거했다 (timestamp_timeout = 0). 파일 권한을 요청한 0440으로 변경 한 다음 정상적으로 부팅합니다. 그런 다음 동일한 오류 메시지가 나타납니다.

sudoers file: syntax error, line 7 
sudo: parse error in /etc/sudoers near line 7
위와 같이.

이제 어떻게해야합니까 ??

편집 2 해결

이것이 내가 한 일입니다.

  1. livecd를 사용하여 부팅
  2. 오래된 sudoers 파일을 제거하십시오
  3. 새로운 sudoers 파일을 만들고 모든 파일을 해당 파일에 복사했습니다. 예를 들어 다른 파일에 운 좋게 저장 한 최소 구성 설정
  4. 파일 권한을 0440으로 변경
  5. 하드 드라이브에서 정상적으로 재부팅

만세!


sudoers 파일의 내용을 www.pastebin.com에 붙여넣고 가장 빠른 방법으로 살펴볼 수 있습니다.
Andrioid

주석에서 누락 된 #, 누락 된 콜론, 등호, 줄 연속 백 슬래시 등을 찾습니다.
추후 공지가있을 때까지 일시 중지되었습니다.

답변:


8

루트 사용자에게 암호를 제공하지 않았다고 가정하면이 문제를 해결하는 가장 쉬운 방법은 Knoppix 와 같은 라이브 CD를 사용하는 것 입니다. CD 부팅. 로컬 디스크를 마운트하고 파일을 편집하고 디스크를 마운트 해제 한 후 재부팅하십시오.


6

다음 단계를 수행하여 간단하게 컴퓨터를 ' 단일 사용자 모드 '로 부팅 하십시오.

  1. 재부팅
  2. Grub이 시작되면 Esc 키를 누르십시오.
  3. 현재 줄을 편집하려면 'e'를 누르십시오
  4. 'linux'를 포함하는 줄 끝에 'single'을 추가하십시오.
  5. 부팅 (b를 누름)

이렇게하면 루트 사용자 한 명만으로 컴퓨터가 시작됩니다. 거기에서 다음 단계를 따르십시오.

  1. 문제를 해결하기 위해 / usr / bin / vim / etc / sudoers (또는 nano를 사용하는 것이 더 쉬울 수 있음)
  2. 문제가 확실하지 않은 경우 포함 된 sudoers 예제를 "/ usr / share / doc / sudo / examples"(다양)에서 복사하고 사용자를 추가하십시오.
  3. 파일을 저장하고 Vim을 종료하십시오.
  4. 재부팅, 즐기십시오!

단일 사용자 셸을 제공하기 전에 암호를 묻는 시점이 궁금합니다.
James

이 방법은 모든 배포판에서 작동하지 않습니다. 잘 알려진 백도어이기 때문에 일부 배포판은 루트 프롬프트에 도달하기 전에 강제로 로그인합니다. 제임스의 경우가 그렇습니다.
Telemachus

배포판이 그 일을 시작했는지 몰랐지만, 항상 좋은 슬랙웨어 시절에 나를 위해 일했습니다
Andrioid

vim보다 visudo를 사용하는 것이 좋습니다. en.wikipedia.org/wiki/Visudo

3

라이브 CD를 사용하려는 James의 아이디어 (루트 계정이 활성화되어 있지 않다고 가정)는 좋은 것입니다. 몇 가지 요점을 추가하겠습니다.

  • 먼저 운이 좋을 수 있으며 / etc / sudoers 파일 의 백업은 파일을 편집 할 때 자동으로 저장되었습니다. / etc 에서 다음과 같은 파일을 확인하십시오 sudoers~ ( 일반 사용자로 파일을 읽거나 편집 할 수없는 경우에도 cd해당 디렉토리로 루트 권한 ls -A 없이 실행할 수 있습니다). 가능하면 명시 적으로 만들지 않은 것일 수도 있습니다.
  • 둘째, 파일을 편집하는 방법 을 모르는 경우 여기 또는 다른 곳에 파일 (또는 7 행 주위 영역)을 게시하는 것을 고려할 수 있습니다. 파일 자체는 보안과 관련이 있지만 암호가 없으므로 파일을 게시해도 즉각적인 피해는 없습니다.
  • 마지막으로, 본 것과 같은 오류 메시지가 문제 자체가 문자 그대로 7 번 라인에 있다는 것을 의미하지는 않습니다. 오류가 4 번 라인에있을 수 있지만 7 번 라인에서만 트립되었습니다.

0

편집하려면 e를 누르십시오. 파일을 편집하고 오류를 정정 할 수 있어야합니다.


편집을 마친 후에 오류가 표시 될 때 'e'를 누르면 오류가 해결 될 수 있도록 다시 떨어집니다. 불행히도 그것은 당신에게 이것을 분명히 언급하지 않습니다.

0

서버에 콘솔 또는 로컬 액세스 권한이 없어 실행 레벨 1로 부팅하거나 루트 세트 (또는 사용 가능한 자격 증명 / 인증서)가있는 사용자는 pkexec visudo 또는 pkexec vi / etc / sudoers를 사용하십시오. visudo가 더 좋습니다. 파일을 검사하는 동안 오류가 발생합니다.


그러나 pkexec루트 비밀번호를 모른다면 어떻게 입찰을 할 수 있습니까?
스콧
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.