A saída não é a que eu pedi originalmente, mas funciona, então é assim que eu fiz:
users=""
/bin/cp -f "$CURRENTDIR"/sshd_config /etc/ssh/sshd_config
sed -i "s/Port 22/Port $PORT/" /etc/ssh/sshd_config
for user in 'awk -F: '$3 >= 1000 { print $1 }' /etc/passwd'
do
users+="${user} "
done
if grep "AllowUsers" /etc/ssh/sshd_config
then
sed -i "/AllowUsers/c\AllowUsers $users" /etc/ssh/sshd_config
else
sed -i "6 a \
AllowUsers $users" /etc/ssh/sshd_config
fi
Esta linha encontra a linha com o padrão AllowUsers
e substitui a linha inteira pelo novo AllowUsers $users
sed -i "/AllowUsers/c\AllowUsers $users" /etc/ssh/sshd_config
Esta linha acrescenta o texto AllowUsers $users
após o 6th line
, se o arquivo ainda não contiver AllowUsers
, observe que está escrito em duas linhas:
sed -i "6 a \
AllowUsers $users" /etc/ssh/sshd_config
Agora o programa escreve sshd_config
desta forma, AllowUsers
é usado uma vez com uma lista de usuários separados por space
:
1 # Package generated configuration file
2 # See the sshd_config(5) manpage for details
3
4 # What ports, IPs and protocols we listen for
5 Port 22300
6
7 AllowUsers user something78 something79 something7
8