우리 회사는 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
.