visudo를 사용하여 프로그래밍 방식으로 sudoer를 편집하시겠습니까?

visudo를 사용하여 프로그래밍 방식으로 sudoer를 편집하시겠습니까?

svn 저장소에 sudoers 파일이 저장되어 있습니다. 원 svn export하지만 /etc/sudoerssudo가 visudo에 의해 편집되지 않았음을 감지하고 구문 오류가 발생하기 때문에 수행할 수 없습니다. 정확히 어떤 visudo -f역할을 하나요? 다음을 수행할 수 있나요?

cd /tmp && svn export <URL>/sudoers &&  visudo < /tmp/sudoers

수동 개입이 필요하지 않습니까?

답변1

이는 visudo를 편집하지 않았기 때문이 아니라 구문 오류가 있기 때문일 수 있습니다. 또한 권한을 확인하십시오. /etc/sudoers사용하지 않고 편집해도 전혀 괜찮습니다 visudo. visudo실제 파일을 커밋하기 전에 단독 액세스를 보장하고 구문을 확인하는 데에만 사용됩니다. 귀하의 질문에 대답하려면 다음을 수행하십시오.

VISUAL="cp /tmp/sudoers" visudo

visudo/etc/sudoers.tmp반환 시 파일의 새 내용에 대한 구문을 확인하고 /etc/sudoers만족스러우면 커밋하는 기본 편집기 호출을 사용합니다 . 선호하는 편집기를 로 설정하면 cp /tmp/sudoers기본적으로 이 작업을 수행하도록 지시하는 것입니다 cp /tmp/sudoers /etc/sudoers.tmp.

( sudoers임시 파일을 누구나 쓸 수 있는 디렉토리에 저장하는 것은 /tmp위험할 것 같습니다)

답변2

sudoers편집하고 배포해왔습니다. 다음을 수행하십시오.

  • visudo -c -f <filename>svn에 체크인하기 전에 구문을 확인하는 데 사용됩니다 .
  • 배포할 때 권한이 (또는 BSD 파생물) 소유인지 확인하세요 0440.root:rootroot:wheel

체크인하려는 호스트가 배포하려는 운영 체제와 다른 운영 체제를 실행하는 경우 visudo -c -f <filename>해당 위치에 복사하기 전에 대상 시스템에서도 실행해야 합니다.

관련 정보