Nagios는 IT 인프라 모니터링 시스템입니다. 나는 그것을위한 간단한 플러그인 스크립트를 작성 중이다. 특수한 계정 인 nagios가 생성되어 스크립트가 Nagios에 의해 실행됩니다. 디버깅 목적을 위해~ (사용자의 집 주소)과 로그인 한 사용자가 일치하지 않습니다.
이 스크립트는 매우 간단하다 :
#!/bin/bash
echo "OK - Running okay" ~ `id`
그것은 ~
의 값, 즉 홈 디렉토리 및 id
명령의 결과를 에코.
은 내가 Nagios의 계정 (su -l nagios
)에 로그인하고, 명령 줄에서 테스트 :
OK - Running okay /home/nagios uid=1005(nagios) gid=1007(nagios) groups=1007(nagios),1008(nagcmd)
을 내가 예상 정확히 즉. 나는 Nagios는 시스템 내에서 실행
는보고 된 결과는 다음과 같습니다, /home/julian
는 내 계정의 홈 디렉토리는
OK - Running okay /home/julian uid=1005(nagios) gid=1007(nagios) groups=1007(nagios),1008(nagcmd)
기다립니다이다
; 하지만 그것은 nagios 계정에 로그인되어 있습니다. 그 모순은 나에게 의미가 없다. 나는 이것이 분명히 어떻게 작동하는지 이해하지 못합니다.어떻게 이런 일이 벌어 질 수 있을지 제안 해주세요.
내가 서버에 원격 @ ssh를 줄리안 통해 연결하고있다 :
, 사용자의 환경을 사용하는 방법이 있습니다. Nagios가 서버에서 실행 중입니다. (잘하면 Nagios로) 로컬 스크립트를 호출하고 있습니다. 로컬 스크립트를 실행할 때,'id'는 그것이 nagios로 실행 중임을보고합니다./home/julian을보고하는 것은'~'입니다. – Oddthinkingsudo
의 경우