visudo
포함된 다른 파일의 컨텍스트에서 파일에 대한 온전성 검사를 수행할 수 있습니까 /etc/sudoers.d
?
상상하다:
/etc/sudoers.d
파일에 새 파일을 추가하고 싶습니다 . 파일 자체가 정확하며 visudo -c
파서를 통과합니다.
그러나 .NET Cmnd_Alias
의 다른 파일과 충돌하는 줄이 포함되어 있습니다 etc/sudoers.d
.
a로 이동하면 오류 로 인해 명령이 중단 /etc/sudoers.d
됩니다 .sudo
Alias '<name>' already defined near line
질문:
sudo
새 파일을 넣은 후에 파일이 손상되지 않는지 확인할 수 있는 방법이 있습니까 sudoers.d
?
sudo
아니면 오류가 발생하면 포함된 파일 처리를 무시/중지할 수 있는 방법이 있습니까?
답변1
/etc/sudoers
제안된 새 파일 연결을 확인해 볼 수 있습니다.
sudo bash -c 'visudo -cf <(cat /etc/sudoers /path/to/to-be-added-file)'
in 이 visudo
구문 분석되므로 in 에 있는 모든 관련 파일도 검사됩니다.#includedir
/etc/sudoers
sudoers.d
$ sudo cat /etc/sudoers.d/foo
Cmnd_Alias FOO = /bin/bar
$ sudo cat /tmp/bar
Cmnd_Alias FOO = /bin/foo
$ sudo bash -c 'visudo -cf <(cat /etc/sudoers /tmp/bar)'
>>> /dev/fd/63: Alias `FOO' already defined near line 31 <<<
parse error in /dev/fd/63 near line 31