SSHスクリプトを介してユーザーを追加する問題は、オペレーティングシステムの展開によって異なります。

SSHスクリプトを介してユーザーを追加する問題は、オペレーティングシステムの展開によって異なります。

こんにちは、このスクリプトに問題があります:

bash: -c: line 0: syntax error near unexpected token `then'
bash: -c: line 0: `sudo -i if sudo cat /etc/*-release | grep Ubuntu; then echo "Ubuntu Server";'

しかし、構文にどのような問題があるのか​​わかりません。

#!/bin/bash -x




echo Enter server IP:
read server

scp /home/Zenoss/.ssh/authorized_keys ******@$server:/home/******

sshpass -p ********  ssh -t ******@$server sudo -i 'if sudo cat /etc/*-release | grep Ubuntu; then echo "Ubuntu Server";
sudo groupadd --gid 7000 zenoss;
sudo adduser --uid 7000 --gid 7000 --disabled-password --gecos "" zenoss;
sudo mkdir /home/zenoss/.ssh;
sudo mv /home/******/authorized_keys /home/zenoss/.ssh/;
sudo chmod 700 /home/zenoss/.ssh;
sudo chmod 600 /home/zenoss/.ssh/authorized_keys;
sudo chown -R zenoss /home/zenoss/.ssh;
sudo chgrp -R zenoss /home/zenoss/.ssh;
fi;

if sudo cat /etc/*-release | grep CENTOS; then echo "Centos Server";
sudo groupadd --gid 7000 zenoss;
sudo useradd -u 7000 -g 7000 zenoss;
sudo mkdir /home/zenoss/.ssh;
sudo mv /home/******/authorized_keys /home/zenoss/.ssh/;
sudo chmod 700 /home/zenoss/.ssh;
sudo chmod 600 /home/zenoss/.ssh/authorized_keys;
sudo chown -R zenoss /home/zenoss/.ssh;
sudo chgrp -R zenoss /home/zenoss/.ssh;
fi;

if sudo getenforce | grep Enforcing; then echo "SElinux is enforcing"; else echo "Selinux is not enforcing"; fi;
if sudo getenforce | grep Enforcing; then sudo restorecon -R -v /home/zenoss/.ssh; fi;
exit'

どんな助けでも大変感謝します。

ベストアンサー1

スクリプトを「sudo -i;」に変更して動作させました。スクリプトの残りの部分 'sudo -iの代わりにスクリプトの残りの部分'

おすすめ記事