Jump to content

Cannot find files required for Virus fix.


Go to solution Solved by sargenthp,

Recommended Posts

marriedman
Posted

I discovered that my server was not working this afternoon and found the notice pinned in the red banner on the forum homepage. I read the article and I cannot find any of the files that they are saying to find. There is none of the following files on my dedicated bare metal ubuntu server:

Virus files:
  EmbyHelper.dll
  helper.dll
Delete files to restore server:
  ReadyState.xml
  EmbyScripterX.xml (if exists)

None of these files are on my system. I even did a sudo find /opt -name *.dll and they are no where on the machine. 

When I try to launch emby-server, I still get:

paul@embybox:/opt/emby-server/bin$ emby-server
emby-server: command not found

Anyone have any clue as to what I am doing wrong?

sargenthp
Posted

You need to add a "./" to your command.  Linux needs to know the path to the executable if the path is not in your PATH variable.  ./ = current directory.  So the command should be:  ./emby-server

 

You might be able to also execute:  systemctl start emby-server

 

marriedman
Posted

How can I grab a log without starting the server first?

sargenthp
Posted

Did you try ./emby-server ?

marriedman
Posted
1 minute ago, sargenthp said:

Did you try ./emby-server ?

yes, here is the output:

paul@embybox:/opt/emby-server/bin$ ./emby-server
Error GlobalExceptionHandler: UnhandledException
        System.AggregateException: System.AggregateException: One or more errors occurred. (Access to the path '/var/lib/emby/logs' is denied.)
         ---> System.UnauthorizedAccessException: Access to the path '/var/lib/emby/logs' is denied.
         ---> System.IO.IOException: Permission denied
           --- End of inner exception stack trace ---
           at System.IO.FileSystem.CreateDirectory(String fullPath)
           at System.IO.Directory.CreateDirectory(String path)
           at Emby.Server.Implementations.Logging.FileLogger..ctor(String path)
           at Emby.Server.Implementations.Logging.SimpleLogManager.ReloadLogger(LogSeverity severity, CancellationToken cancellationToken)
           --- End of inner exception stack trace ---
           at System.Threading.Tasks.Task.WaitAllCore(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
           at System.Threading.Tasks.Task.WaitAll(Task[] tasks)
           at EmbyServer.Program.Main(String[] args)
        Source: System.Private.CoreLib
        TargetSite: Void ThrowAggregateException(System.Collections.Generic.List`1[System.Exception])
        InnerException: System.UnauthorizedAccessException: Access to the path '/var/lib/emby/logs' is denied.
        Source: System.Private.CoreLib
        TargetSite: Void CreateDirectory(System.String)
           at System.IO.FileSystem.CreateDirectory(String fullPath)
           at System.IO.Directory.CreateDirectory(String path)
           at Emby.Server.Implementations.Logging.FileLogger..ctor(String path)
           at Emby.Server.Implementations.Logging.SimpleLogManager.ReloadLogger(LogSeverity severity, CancellationToken cancellationToken)
        InnerException: System.IO.IOException: Permission denied
        Source: 
        TargetSite: 

UnhandledException
System.AggregateException: System.AggregateException: One or more errors occurred. (Access to the path '/var/lib/emby/logs' is denied.)
 ---> System.UnauthorizedAccessException: Access to the path '/var/lib/emby/logs' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at System.IO.FileSystem.CreateDirectory(String fullPath)
   at System.IO.Directory.CreateDirectory(String path)
   at Emby.Server.Implementations.Logging.FileLogger..ctor(String path)
   at Emby.Server.Implementations.Logging.SimpleLogManager.ReloadLogger(LogSeverity severity, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.WaitAllCore(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks)
   at EmbyServer.Program.Main(String[] args)
Source: System.Private.CoreLib
TargetSite: Void ThrowAggregateException(System.Collections.Generic.List`1[System.Exception])
InnerException: System.UnauthorizedAccessException: Access to the path '/var/lib/emby/logs' is denied.
Source: System.Private.CoreLib
TargetSite: Void CreateDirectory(System.String)
   at System.IO.FileSystem.CreateDirectory(String fullPath)
   at System.IO.Directory.CreateDirectory(String path)
   at Emby.Server.Implementations.Logging.FileLogger..ctor(String path)
   at Emby.Server.Implementations.Logging.SimpleLogManager.ReloadLogger(LogSeverity severity, CancellationToken cancellationToken)
InnerException: System.IO.IOException: Permission denied
Source: 
TargetSite: 

The interesting part to me is InnerException: System.UnauthorizedAccessException: Access to the path '/var/lib/emby/logs' is denied. I cannot get into that folder no matter what

 

marriedman
Posted

OK, I chmod 327 the /var/lib/emby directory and got into the logs. There was a helper.dll file that was deleted. That explains the shutdown. However I can find no mention of the ReadyState.xml file so that I can remove it. I need to add a password to an account and I only know how to do that from the dashboard. What are my next steps?

sargenthp
Posted

Ah...

OK...  Did you try starting Emby with systemctl start emby-server

Otherwise you need to start emby-server with the emby user:   sudo -u emby ./emby-server

 

sargenthp
Posted (edited)

It would be more preferable to start and stop Emby with the service.  That is what systemctl start emby-server does.  If you are using a Linux flavor that is not using systemd you might need to execute:  service emby-server start

Note:  If you are running as your account and not root you will need to add sudo in front of these commands.

Edited by sargenthp
  • Like 1
  • Solution
sargenthp
Posted (edited)

I would NOT recommend setting anything to xx7.  That gives the world full read-write access to that folder.  That folder should have 755 access (Owner Full Rights, Group Read Rights, Other Read Rights).

Edited by sargenthp
  • Like 2
marriedman
Posted

OK, I appear to have it fixed.

First problem that allowed me to get up and running again was correcting the permissions of the /var/lib/emby folder to 755. Then I had access to my logs.

Reading the log led me to the correct folder for the EmbyHelper.dll, ReadyState.xml, &  EmbyScripterX.xml files. Deleted all of those. 

systemctl start emby-server started the server and allowed me to change my admin password.

Rebooted the server and emby started as expected. I marked the permissions as the solution, since that is what allowed me to find the files necessary for removal. Once I did that, my command to find them worked, even though I had run it as sudo. I don't quite understand that though.

Thank you very much @sargenthpfor your help!

 

  • Like 1
  • Thanks 1
sargenthp
Posted
12 minutes ago, marriedman said:

Once I did that, my command to find them worked, even though I had run it as sudo. I don't quite understand that though.

 

I am glad you have it going! 

sudo is a utility to allow an user to execute something as a different user (if they have the permissions to do so).  Linux is very user and security oriented.  The Emby Server needs to run as the service account/user "emby" in order for it to have access its folders and executables.

  • Like 1
marriedman
Posted

To any and all that are interested - As a side note, I found the EmbyHelper and EmbyScripterX.xml in my backups going back to May 15th (I only keep 10 backups). I went ahead and deleted all of the backups since there was nothing in them that a fresh backup wouldn't catch. I could have gone through all of the backups and just deleted the files in each one, but this was faster.

  • Thanks 1
Posted
11 minutes ago, marriedman said:

To any and all that are interested - As a side note, I found the EmbyHelper and EmbyScripterX.xml in my backups going back to May 15th (I only keep 10 backups). I went ahead and deleted all of the backups since there was nothing in them that a fresh backup wouldn't catch. I could have gone through all of the backups and just deleted the files in each one, but this was faster.

Hi, that's helpful. Thanks for the info.

  • Like 1
Q-Droid
Posted

A quick way to find the files on a host based Linux installation (rpm/deb), might need elevated privs with sudo or as root:

$ find ~emby | grep -iE 'helper.dll|embyhelper.dll|readystate.xml|embyscripterx.xml'

If you're running the Emby server as a different user than replace ~emby with ~user. Though if you are then you'd likely already know the location and how to find the files...;-)

When using Docker:

$ find <path to host mapping for /config>  | grep -iE 'helper.dll|embyhelper.dll|readystate.xml|embyscripterx.xml'

Then follow the Actions listed in the Security Advisory.

  • Like 2

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...