2017-01-12 7 views
0

나는 내고스 머신을위한 커스텀 쉘 스크립트를 만들었다. 나는 그 (것)들이 잘 달릴 수 있었다 그러나 어떤 이유 때문에 원본에있는 몇몇 명령은 일하고있는 것을 보이지 않는다.사용자 정의 스크립트에서 일부 명령을 실행하는 권한을 Nagios에 부여하는 방법은 무엇입니까?

예를 들어, echo, cut, ps, grep과 같은 명령은 잘 작동하지만 touch, useradd는 sudo를 사용해도 작동하지 않습니다. 터미널에서 스크립트를 실행하면 스크립트의 모든 명령이 작동합니다.

어떻게 이러한 명령을 실행할 수있는 권한을 부여 할 수 있습니까?

나는 14.04.5 LTS 우분투에

편집을 nagios3 실행 해요 : 추가에 sudo를 같이 스크립트를 실행하려면 실행을

sudo useradd -m $USERNAME 
(echo $PASSWORD; echo $PASSWORD) | sudo smbpasswd -s -a $USERNAME 
+0

귀하의 질문은 [Super User] (http://superuser.com/tour)에 더 적합합니다. [Stack Overflow는 전문가 및 열성적 프로그래머를위한 질문 및 답변 사이트입니다] (http://stackoverflow.com/tour). – Cyrus

+0

/etc/sudoers에 nagios 사용자를 추가 했습니까? –

답변

1

표준 방법은 감시 대상 서버의 Nagios 사용자 (예 : NRPE)에 대한 설정 사용 권한을 /etc/sudoers 파일에 지정하는 것입니다.

1. 방법

당신의 sudoers 파일에 이런 식으로 뭔가를 추가하려고합니다.

Defaults:nrpe !requiretty 
nrpe ALL= NOPASSWD: useradd -m 
nrpe ALL= NOPASSWD: smbpasswd -s -a 

PS : 쉽게 편집의 sudoers는 visudo 명령을 ;-) 사용할 수있는 파일에 대한

2. 방법

또는 당신은 sudo usermod -aG sudo <username>

를 통해 sudo 그룹의 Nagios 사용자를 추가 시도 할 수 있습니다

-a 약자

G은 그룹 용

+0

둘 다 답변이었고, sudoers 파일에 NOPASSWD를 추가하고 cfg 파일에 sudo를 추가 한 것 같습니다. – Pretos

1

에게 Nagios는 인되지 않은 몇 줄의 코드를 당신의 .cfg 파일 ...

권한 문제가 있다고 가정합니다.

+0

이미 시도해 보았습니다. 경고와 함께 상태 정보 (null)가 나타납니다. .cfg 파일에서 command_line을 터미널에서 실행하면 정상적으로 작동합니다. – Pretos

+0

그걸 루트에서 실행하고 있기 때문에 su - nagios를 실행 한 다음 실행하면 알 수 있습니다 ... 권한 문제라면 sudo를 적절히 추가해야합니다. –

+0

당신이 여전히 문제가 있다면 check + config와 마찬가지로 스크립트의 허가 정보를 추가하십시오 ... 그러나 문제는 거의 확실합니다 ... –