El script como actualizador (SAU) es necesario si un archivo script tiene que realizar cambios en el sistema solidificado. Es necesario modificar el archivo solidificado y ejecutar los archivos sin solidificar. Cualquier script configurado como actualizador, no obtiene el privilegio de actualizador
en algunos casos.
Ejemplo y explicación:
Los archivos de script no se ejecutan como otros ejecutables o binarios. Se ejecutan a través del proceso del intérprete (archivo binario) que comprende los comandos o secuencias de comandos del archivo. Por ejemplo,
cmd.exe y
explorer.exe son procesos del intérprete para
.bat y
.cmd archivos y
cscript.exe es un proceso de intérprete para archivos. vbs.
Es posible que los usuarios no vean esta diferencia directamente porque Windows se encarga de ello asignando el script al intérprete necesario.
Por ejemplo, supongamos que si hay tres archivos bat
test1.bat, test2.bat y
test3.bat se crean con el contenido que se muestra a continuación:
prueba1. bat:
echo "11111"
test2. bat:
echo "22222"
test3. bat:
Copie/y prueba1. bat test2. bat
Solidificar todos los archivos y realizar
test3.bat como actualizador. Si
test3.bat se ejecuta con doble clic o
cmd /c test3.bat, la copia se ha realizado correctamente. Si se ejecuta desde el símbolo del sistema como
> test3. bat, error de copia.
Si examina los registros generados estrechamente en los dos casos:
Cuando el script se ejecuta en el mismo proceso:
En el ejemplo, el script se ejecuta directamente desde el símbolo del sistema como
script_name de >.
Se muestra el siguiente evento en los registros de Solidcore:
Cuando el script se ejecuta desde el mismo proceso
MACC no permite que el proceso modifique el archivo solidificado
test2.batporque, después de que haya una entrada de usuario en un proceso, el permiso de actualizador no debe permitirse a ese proceso. No se puede determinar si se está ejecutando un script o si el usuario está directamente asignando un comando. Por lo tanto, este tipo de ejecución se bloquea debido a problemas de seguridad.
Cuando el script se ejecuta en un nuevo proceso:
En el ejemplo, haga doble clic o ejecutar
CMD/c script_name desde el símbolo del sistema para ejecutar el script.
Se muestra el siguiente evento en los registros de Solidcore (s3diag. log):
Cuando se ejecuta el script un nuevo proceso:
MACC permite al proceso modificar el archivo solidificado solo en ese ciclo de vida de proceso específico. Haga doble clic y "
cmd /c script_name"generan un nuevo proceso para ejecutar el script. Y, a este proceso, se le concede permiso de actualizador hasta su finalización. Estos permisos no se pasan a los procesos secundarios, a diferencia de los procesos de actualizador habituales. Obtenemos un archivo de registro modificado, tal y como se muestra en el registro anterior, que contiene el ID de flujo de trabajo utilizado para modificar el archivo solidificado.