LuaTex no abre los paquetes instalados con las opciones openin_any=p

LuaTex no abre los paquetes instalados con las opciones openin_any=p

Planeo lanzar el servicio de compilación LuaTeX en línea.

Instalé LuaTeX usando TexLive 2015 en CentOS 7. Por motivos de seguridad, quiero restringir la apertura de archivos. Por lo tanto, puse openin_any=p. Pero también restringe la apertura de archivos de plantilla instalados en formato texmf-dist. Otros compiladores pueden leer archivos de plantilla.

Intenté compilar este archivo:

\documentclass{ltjsarticle}
\usepackage{graphicx}



\title{title}


\author{auth}
\date{\today}
\begin{document}
\maketitle
\section{section}

This is sample.

\end{document}

Compilé este archivo lualatex sample.texy recibí el siguiente mensaje:

This is LuaTeX, Version beta-0.80.0 (TeX Live 2015) (rev 5238) 
 restricted \write18 enabled.
(./sample.tex
LaTeX2e <2016/02/01>
Babel <3.9o> and hyphenation patterns for 1 language(s) loaded.

lualatex: Not reading from /usr/local/texlive/2015/texmf-dist/tex/luatex/luatexja/ltjsarticle.cls (openin_any = p).

! LaTeX Error: File `ltjsarticle.cls' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: cls)

¿Cómo puedo arreglarlo?

Respuesta1

Acerca de TeX como servicio en línea: [http://cseweb.ucsd.edu/~hovav/dist/texhack.pdf

Acerca de Lua: los formatos pueden redefinir lua como quieran, así que

local myopen = function(...) print("ERROR: open is not permitted") return false end
local _std = {}
_std.oldopen = io.open
io.open = myopen 
for k,v in pairs(_std) do print(k,v) end
assert(io.open("foo"), 'Error on io.open' )

io.open es seguro (hasta que _std esté oculto)

Si a uno no le importa io.open:

local myopen = function(...) print("ERROR: open is not permitted") return false end
io.open = myopen 
assert(io.open("foo"), 'Error on io.open' )

información relacionada