echo 명령에서 필요한 출력을 얻지 못함

echo 명령에서 필요한 출력을 얻지 못함

아래는 내 스크립트입니다.

#!/bin/bash
SERVERS="sl20rht00-t"
#SERVERS="shcbrht01-t"
USR="adm-dt-c"
for host in $SERVERS
do
ssh -tt $USR@$host 'sudo cp /etc/sudoers /Backups/sudoers_11thmarch2015; sudo cp /etc/ssh/sshd_config /Backups/sshd_11thmarch2015; sudo cat /home/adm-dt-c/denyuser >>  sudo /etc/ssh/sshd_config; sudo /etc/init.d/sshd restart;'
done
exit 0

/etc/ssh/sshd_config문제는 스크립트를 성공적으로 실행한 후에도 줄을 추가할 수 없다는 것입니다.

답변1

sudo리디렉션에서는 작동하지 않습니다. 아마도 이미 ~$USR/sudo파일이 있을 것입니다. 리디렉션하지 말고 sudo tee.

이것을 변경하십시오:

ssh -tt $USR@$host 'sudo cp /etc/sudoers /Backups/sudoers_11thmarch2015; sudo cp /etc/ssh/sshd_config /Backups/sshd_11thmarch2015; sudo cat /home/adm-dt-c/denyuser >>  sudo /etc/ssh/sshd_config; sudo /etc/init.d/sshd restart;'

다음과 같은 경우:

ssh -tt $USR@$host 'sudo cp /etc/sudoers /Backups/sudoers_11thmarch2015; sudo cp /etc/ssh/sshd_config /Backups/sshd_11thmarch2015; sudo cat /home/adm-dt-c/denyuser | sudo tee -a /etc/ssh/sshd_config > /dev/null; sudo /etc/init.d/sshd restart;'

관련 정보