docs
docs copied to clipboard
importer: File with 0640 permission causes new document on every poll, but no files
I just put a PDF file into the imoprter directory (which has permissions 1777), but the file itself only had 0640. Since both the importer as well as Jetty run as root (ugh!), I didn't think this was going to be a problem. But that is the issue, changing permissions to 0644 makes it all work.
However, here is what happened while permissions were at 0640:
- Every 40 seconds, a new document would be created (presumably just based on the filename), but without any files (as they weren't readable, despite running as root?)
- The file in the import directory would not get removed, hence goto 1.
Here are the logs from the server:
Sep 07 13:04:19 paperless docker-compose[54300]: teedy-server_1 | 07 Sep 2023 13:04:19,788 INFO com.sismics.docs.core.listener.async.DocumentCreatedAsyncListener.on(DocumentCreatedAsyncListener.java:35) Document created event: DocumentCreatedAsyncEvent{documentId=3b4cea2c-0d13-4844-a07c-c3c67493a091}
Sep 07 13:04:49 paperless docker-compose[54300]: teedy-server_1 | 07 Sep 2023 13:04:49,369 INFO com.sismics.docs.core.listener.async.DocumentCreatedAsyncListener.on(DocumentCreatedAsyncListener.java:35) Document created event: DocumentCreatedAsyncEvent{documentId=d1ac2767-e23d-4ad8-a3f3-691690e085e2}
Sep 07 13:05:19 paperless docker-compose[54300]: teedy-server_1 | 07 Sep 2023 13:05:19,477 INFO com.sismics.docs.core.listener.async.DocumentCreatedAsyncListener.on(DocumentCreatedAsyncListener.java:35) Document created event: DocumentCreatedAsyncEvent{documentId=178de1ae-27af-4d67-9dcc-8eb90030e4e8}
The importer did not log anything.
And here is what the result looks like after 2 minutes (3 polls):
Your file is probably unreadable by Teedy. I will need a reproducer if possible (other people use the importer with no issue).
It's readable, assuming the importer is actually running as root and doesn't drop privileges, which I can't see the code doing:
~ # ps aux
PID USER TIME COMMAND
1 root 0:10 /teedy-importer -d
43 root 0:00 ash
75 root 0:00 ps aux
~ # ls -ld /proc/1
dr-xr-xr-x 9 root root 0 Sep 7 07:12 /proc/1
As root myself, I can read the file and manipulate the directory just fine:
~ # cd /import/
/import # ls -l
total 412
-rw-r----- 1 1000 root 420317 Sep 7 16:16 2023.07.25 Saturn 143054.pdf
/import # id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
/import # md5sum 2023.07.25\ Saturn\ 143054.pdf
592df2ef2c2fa9f21e6744714469a531 2023.07.25 Saturn 143054.pdf
/import # rm 2023.07.25\ Saturn\ 143054.pdf
/import # ls -l
total 0