원격 sudo 명령이 작동하지 않습니다

원격 sudo 명령이 작동하지 않습니다

우리 회사는 Puppet을 통해 AD 통합을 자동화했습니다. 간단히 말해서, 서버가 잘못된 도메인에 가입했습니다. 현재 도메인에서 제거하기 위해 bash 스크립트를 작성했지만 원격 sudo명령이 작동하지 않습니다. 또한 /etc에서 AD_joined 파일을 삭제하려고 합니다. 스크립트에는 파일이 아직 남아 있다고 표시되지만 SSH를 통해 상자에 연결하면 파일이 실제로 삭제되고 "sudo adleave" 명령이 제대로 작동합니다. 내가 뭘 잘못했나요? 참고로 루트 로그인이 비활성화되어 있어서 sudo.

스크립트:

#!/bin/bash

IP=`cat prod_ips.txt`
check=`ls /etc | grep ^AD`
for i in $IP;
do
echo '------------------------------------------------------------';
echo "Connecting to $i";
echo ""
ssh -t -o StrictHostKeyChecking=no -o ConnectTimeout=3 -o            PasswordAuthentication=no $i "sudo rm -f /etc/AD_joined; sudo adleave --force;"

echo $check
if [ -z $check ]; then
  echo "AD_joined file removed. Server should join correct domain after next   puppet run!";
else
  echo "File still present, something went wrong";
fi

echo '------------------------------------------------------------';
echo "";
done;

예제 출력:

------------------------------------------------------------
Connecting to <IP>

Authorized uses only. All activity may be  monitored and reported.
sudo: adleave: command not found
Connection to <IP> closed.
AD_joined
File still present, something went wrong
------------------------------------------------------------

답변1

첫 번째 게시물의 댓글 읽기: /usr/sbin/adleave스크립트에서 adleave.

관련 정보