Script que permite acceso SSH usuarios ubuntu
Publicado por Jair Bonilla (3 intervenciones) el 04/07/2018 17:24:05
Tengo Ubuntu conectado mediante NFS tanto servidor como cliente, donde los usuarios se conectan en cualquier computador y tienen acceso a todos sus archivos, todos los usarios están compartiendo UANDES, que es la carpeta raiz, lo que quiero que haga el script es que todos los usuarios existentes y/o logueados a los computadores puedan tener acceso mediante SSH; el codigo es el siguiente, pero me arroja error de sintaxis: me puden ayudar por favor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
#
#Script que permite el acceso SSH de los usuarios existentes o que se han logeado en el equipo.
#
#Debe verificar /home /home/UANDES -> donde se guardan las carpetas de usuario
#Si desean agregar un usuario mas deben modificar usuariosNuevos y agregarlo al final.
#
listaUsuariosUANDES=""
if [ -e /home/UANDES ]; then
listaUsuariosUANDES=`ls -S /home/UANDES --ignore=postgres`
fi
listaUsuariosHOME=`ls -S /home --ignore=UANDES | tr '\n' ' '`
echo $listaUsuariosHOME $listaUsuariosUANDES
## if [ -z cadena vacia
## if [ -n cadena no es vacia
if [ -e /etc/ssh/sshd_config ]; then
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bk
usuariosActuales=`grep AllowUsers /etc/ssh/sshd_config`
usuariosNuevos="AllowUsers $listaUsuariosHOME $listaUsuariosUANDES"
if [ -z $usuariosActuales ]; then
echo "$usuariosNuevos" >> /etc/ssh/sshd_config
else
sed -i "s/$usuariosActuales/$usuariosNuevos/g" /etc/ssh/sshd_config
fi
fi
if [ -e /etc/init.d/sshd ]; then
/etc/init.d/sshd restart
fi
servicioSSH=`whereis -b systemctl | awk '{ print $2 }'`
if [ $servicioSSH <> NULL ]; then
systemctl restart sshd.service
fi
Valora esta pregunta


0