Cannot take gateway backup - FileNotFound Exception

Using 7.9.9. Tried to make a gateway backup multiple times from the gateway.

I saw in the logs an error come through -
BackupServlet Error creating gateway backup file.

The stack trace

java.io.FileNotFoundException: data\opc\opcua-module.keystore (Access is denied)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.(Unknown Source)
at com.inductiveautomation.ignition.gateway.servlets.BackupServlet.addFile(BackupServlet.java:259)
at com.inductiveautomation.ignition.gateway.servlets.BackupServlet.addFolder(BackupServlet.java:246)
at com.inductiveautomation.ignition.gateway.servlets.BackupServlet.generateBackup(BackupServlet.java:182)
at com.inductiveautomation.ignition.gateway.servlets.BackupServlet.doBackup(BackupServlet.java:137)
at com.inductiveautomation.ignition.gateway.servlets.BackupServlet.doGet(BackupServlet.java:372)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at com.inductiveautomation.ignition.gateway.bootstrap.MapServlet.service(MapServlet.java:85)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:837)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:518)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
at java.lang.Thread.run(Unknown Source)

Any ideas what is going on? I had not had issues with this prior, but recently (2 or 3 weeks ago) we had to to change what user Ignition logged in as to enable SQL Server login via Active Directory. Seems like a file permission issue - but what folder?

It'll be in the home directory Ignition is installed in, so probably Program Files/Inductive Automation/Ignition/data/opc/opcua-module.keystore.

1 Like

The service account does have Full Control/Modify/Read & Execute/List folder contents/Read/Write permission on C:\Program Files\Inductive Automation I see and those permissions I see are inherited on the specific folder you gave me (with greyed out check marks), however, oddly enough that file within the folder did NOT have permissison for the service account. Strange I would have though the inherited permissions would have carried through to all inner files but maybe that's not how it works exactly.

Either way granting permissions on that specific file did resolve the issue. Thanks!