55 lines
1.5 KiB
Bash
55 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
#______________________________________
|
|
#
|
|
# PARAMETROS RECIBIDOS DESDE EL CLIENTE
|
|
# $1 modo (admin, user)
|
|
#______________________________________
|
|
|
|
# Error si llamada no se realliza desde OpenGnsys Client.
|
|
PROG=$(basename $0)
|
|
#CALLER=$(ogGetCaller)
|
|
#if ! $(ogCheckStringInGroup "$CALLER" "CrearImagen ConsolaRemota CrearImagenBasica CrearSoftIncremental"); then
|
|
# ogRaiseError $OG_ERR_NOTEXEC "$CALLER -> $PROG"
|
|
# exit $?
|
|
#fi
|
|
|
|
# Salir si el repositorio está bloquedo (tiene ficheros abiertos).
|
|
REPOIP=$(ogGetRepoIp)
|
|
if [ -z "$REPOIP" ]; then
|
|
ogRaiseError $OG_ERR_NOTFOUND "repo no montado"
|
|
exit $?
|
|
fi
|
|
if ogIsRepoLocked; then
|
|
ogRaiseError $OG_ERR_LOCKED "repo $REPOIP"
|
|
exit $?
|
|
fi
|
|
|
|
# Comprobar protocolo y modo de acceso.
|
|
PROTO=${ogprotocol:-"smb"}
|
|
case "$PROTO" in
|
|
nfs|smb) ;;
|
|
*) ogRaiseError $OG_ERR_FORMAT "protocolo desconocido $PROTO"
|
|
exit $? ;;
|
|
esac
|
|
case "$1" in
|
|
admin) MODE="rw" ;;
|
|
user) MODE="ro" ;;
|
|
*) ogRaiseError $OG_ERR_FORMAT "modo desconocido $1"
|
|
exit $? ;;
|
|
esac
|
|
|
|
# Desmontar repositorio y volver a montarlo con el modo adecuado.
|
|
umount $OGIMG
|
|
# Unidad organizativa
|
|
[ "$ogunit" != "" ] && OGUNIT="/$ogunit"
|
|
ogEcho info "$PROG: Montar repositorio $REPO por $PROTO en modo $1"
|
|
case "$PROTO" in
|
|
nfs) mount -t nfs $REPOIP:$OGIMG$OGUNIT $OGIMG -o $MODE ;;
|
|
smb) PASS=$(grep "^[ ]*\(export \)\?OPTIONS=" /scripts/ogfunctions 2>&1 | \
|
|
sed 's/\(.*\)pass=\(\w*\)\(.*\)/\2/')
|
|
PASS=${PASS:-"og"}
|
|
mount.cifs //$REPOIP/ogimages$OGUNIT $OGIMG -o $MODE,serverino,acl,username=opengnsys,password=$PASS
|
|
esac
|
|
|