visudo -f
일부 답변에서 언급 한 바와 같이 사용 하면 얻을 수있는 또 다른 이점은 해당 옵션이 -c
있거나 --check
sudoers.d 파일 또는 sudoers.d에 넣을 다른 파일에 잘못된 정보가 없는지 확인한다는 것입니다. 예를 들어 다음과 같이 실행할 수 있기 때문에 자동화 도구로 언급 된 경우에 매우 편리합니다.
sudo visudo -c -q -f /home/myuser/mysudoers && \
sudo chmod 600 /home/myuser/mysudoers && \
sudo cp /home/myuser/mysudoers /etc/sudoers.d/mysudoers
이것은 자동으로 파일을 확인하고 (-q로 인한 출력 없음) 오류를 반환하지 않는 경우에만 (1은 잘못된 sudoers 파일을 의미합니다) 파일을 sudoers.d에 복사하여 파일을 만들 수 있습니다. 처음에는 제대로 만들 필요없이 작업하십시오 (사용 sudo visudo -f /etc/sudoers.d/myfile
하지 않으면 내용을 삭제하거나 사용 하지 않아야 함).
또한, 다른 답변들로부터 이러한 진술들에 관한 주의 의 단어 .
이 디렉토리의 파일에 대한 규칙이 / etc / sudoers보다 느슨하다는 것이 제 경험이었습니다. 여기에는 다음이 포함됩니다.
파일의 실수로 sudo가 실패하지 않았습니다. 그러나 파일은 무시되었습니다. 권한 규칙이 덜 엄격 해 보입니다. 해당 그룹이 파일을 읽을 수 있도록 허용합니다. 나는 그것이 / etc / sudo로 가능하다고 생각하지 않습니다.
/etc/sudoers.d의 파일은 / etc / sudoers와 동일한 구문을 준수해야합니다. 덮개 아래에서 시스템은 동일한 항목에 대해 여러 개의 항목이있는 경우 "winning"의 마지막 파일과 모든 파일을 함께 연결하기 때문입니다. 단일 설정.
/etc/sudoers.d/의 파일에 대한 사용 권한이 끔찍한 (세계 쓰기 가능) 권한 인 경우 무시됩니다. 이는 유효하지 않은 파일을 간과하는 원인 일 수 있습니다. 그렇지 않으면 sudo
유효하지 않은 sudoers를 사용 하여 명령을 심각하게 중단 할 수 있습니다 . 올바른 권한을 가진 d 파일.
실수로 다른 사용자 또는 sudo로 루트 권한을 부여해야하는 '기타'쓰기 권한을 허용하는 경우 sudoers 파일을 세계에서 읽을 수 있도록 허용 할 수 있습니다. root : root 이외의 다른 사람이 파일을 소유 한 경우에도 중단 될 수 있습니다.
sudo chmod 644 /etc/sudoers.d/mysudoers
sudo chown root:root /etc/sudoers.d/mysudoers
방금 실행 chmod o+w /etc/sudoers.d/vagrant
하면 더 이상 방랑자 사용자로 sudo를 할 수 없다는 것을 확인한 후 암호를 묻는 메시지가 표시되고 실패합니다.
sudo -l
다른 유효한 sudo 사용자로 적용된 명령 권한을 보려고 실행했을 때 파일 권한에 대한 경고도 받았습니다. 이것은 사용자에게 sudo o+w
권한을 부여하는 파일 에 권한을 적용 할 때 'vagrant'사용자가 sudo를 잃어 버렸음을 확인하는 데 사용한 명령과 동일 합니다.