summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradv <adv@uma.es>2011-04-24 17:16:07 +0000
committeradv <adv@uma.es>2011-04-24 17:16:07 +0000
commit73d288a145782cc7eb0a5cceffa7fe2b14493795 (patch)
tree494ef3ffb26fbb7df7aa3b41cbb4a3dfe1aea69d
parentb5cc24cbc33cdaa240d5280d4506891cc7a8da7f (diff)
trunk #381 control error: interfaz CambiarAcceso
git-svn-id: https://opengnsys.es/svn/trunk@1883 a21b9725-9963-47de-94b9-378ad31fedc9
-rwxr-xr-xadmin/Interface/CambiarAcceso33
1 files changed, 32 insertions, 1 deletions
diff --git a/admin/Interface/CambiarAcceso b/admin/Interface/CambiarAcceso
index ddd67666..38cc5ab1 100755
--- a/admin/Interface/CambiarAcceso
+++ b/admin/Interface/CambiarAcceso
@@ -5,6 +5,12 @@
# PARAMETROS RECIBIDOS DESDE EL CLIENTE
# $1 modo (admin, user)
#_______________________________________________________________________________________________________________________________
+### codigos de error
+#$OG_ERR_NOTEXEC = 7 La llamada no se ha realizado desde OGclient.
+#$OG_ERR_NOTFOUND = 2 Repositorio no montado.
+#$OG_ERR_LOCKED = 4 Repositorio bloqueado.
+#$OG_ERR_NOTWRITE = 14 No Se ha realizado el montaje RW correctamente.
+
# Error si llamada no se realliza desde OpenGnSys Client.
PROG=$(basename $0)
@@ -14,7 +20,7 @@ if [ "$CALLER" != "CrearImagen" -a "$CALLER" != "ConsolaRemota" ]; then
exit $?
fi
-# Salir si el repositorio está bloquedo (tiene ficheros abiertos).
+# Salir si el repositorio est� bloquedo (tiene ficheros abiertos).
REPOIP=$(ogGetRepoIp)
if [ -z "$REPOIP" ]; then
ogRaiseError $OG_ERR_NOTFOUND "repo no montado"
@@ -47,3 +53,28 @@ case "$PROTO" in
smb) mount -t cifs //$REPOIP/ogimages $OGIMG -o $MODE,serverino,acl,username=opengnsys,password=og ;;
esac
+#Comprobamos que el tipo de acceso (escritura/lectura) se ha realizado correctamente.
+FILETEST="${OGIMG}/testWrite.txt"
+touch $FILETEST
+VALUE=$?
+
+case "$1" in
+ admin)
+ if [ "$VALUE" == 0 ]
+ then
+ rm $FILETEST
+ else
+ ogRaiseError $OG_ERR_NOTWRITE "sin acceso de escritura en modo admin"
+ exit $?
+ fi
+ ;;
+ user)
+ if [ "$VALUE" == 0 ]
+ then
+ rm $FILETEST
+ ogRaiseError $OG_ERR_NOTWRITE "Warning: con acceso de escritura en modo user"
+ exit $?
+ fi
+ ;;
+esac
+