What? "user processor executable not available: File permissions: Should be owned by NAME, not nobody" #146
-
|
I searched for any mention of "nobody", but found nothing on here. Local user: "NAME", and trying to create a nextPYP user for them:
NAME can run the command via terminal without issue. When I add (or edit) a user in the nextPYP web interface, clicking Check gives the error. "user processor executable not available: File permissions: Should be owned by NAME, not nobody" Same thing in xxx/local/logs/micromon: nextPYP: 0.7.1 Nothing is set to nobody uid (65534). The file ownership is set to NAME. What else should I be checking? |
Beta Was this translation helpful? Give feedback.
Replies: 17 comments 3 replies
This comment was marked as spam.
This comment was marked as spam.
-
|
1: nextPYP service is ran under the "nextpyp" service account. The directory it is trying to access, 2: The user-processor file is owned by NAME, is executable, and is not group or world-writable. 3: SUID is set for the user-processor file. 4: I tried running nextpyp from /usr/bin/nextpyp, but same issue. The rest of nextPYP seems to work fine. I can add users, log in as them, create & delete projects, (etc.) all without errors. It's just trying to connect to operating system users that isn't working. What method does nextPYP use to determine ownership of the user-processor file? Is there a way to enable more verbose logging?
I just meant if I alter the file, the web interface give a different message, which means it can "see" the file. I can Not just "NAME", but any local user account. Edit: creating a |
Beta Was this translation helpful? Give feedback.
-
|
Hi there! NextPYP dev here. I'm super excited people are trying out the new OS user features, but I'm sorry it's not working for you. Understandably, there are a ton of safety checks in place to make sure the setuid executables are set up correctly, since getting those details wrong could cause security vulnerabilities. For reference, the full list of checks is in the source code here: I'm sure the above poster is trying to be helpful with all of those suggestions, but honestly, none of the stuff there makes any sense to me. It looks it's discussing related ideas, but none of the details there look helpful. 🤷 At first glance, it seems there's some kind of mismatch in how nextpyp is getting usernames and uids, but I'm not sure what it is. To complicate matters even more, the web server process itself runs inside of a container, so it can't access the host user system directly. It has to relay requests through another process we call the "host processor" that runs outside of any containers, directly on the host OS. The error seems to be happening because there's a mismatch between (what nextpyp thinks) is the UID of the OS username (the one you typed into the form) and the UID of the setuid executable on the filesystem (see the linked line of code above). More specifically, nextpyp is reading the filesystem UID from inside the container by calling So the next step to debugging this issue would be to look at the two UIDs and see what they are. Since filesystem access should hopefully be the same inside the container and out, we can check the filesystem UID with a command like Hopefully the two numbers you get there are different from each other? Also, the EDIT: oh and in case there's a networked filesystem in there somewhere, you'll wan to run those diagnostic commands while logged into the web server machine, in case that makes a difference. |
Beta Was this translation helpful? Give feedback.
-
|
If anyone is still interested in this issue, we've finally found the cause and fixed it. You should see the fix in the next release. =) |
Beta Was this translation helpful? Give feedback.
-
|
Hi. I'm having exactly the same problem, and there's no new release. How do I fix it on my system? |
Beta Was this translation helpful? Give feedback.
-
|
@abartesaghi thanks! I was also trying to find the code changes on github without much luck. Are they available somewhere? |
Beta Was this translation helpful? Give feedback.
-
|
After upgrading to 0.7.3, when I try to check the user processor, I now get a red exclamation mark and "Internal server error". |
Beta Was this translation helpful? Give feedback.
-
|
Looking at |
Beta Was this translation helpful? Give feedback.
-
|
These error messages could be due to a number of reasons, but I just realized that for the changes to take effect, you may need to upgrade any existing user processors using: Let us know if that fixes the problem. |
Beta Was this translation helpful? Give feedback.
-
|
I tried that, but it did not change the error. |
Beta Was this translation helpful? Give feedback.
-
|
Hi Filipe, If we can't find anything else in the log, maybe we can try a zoom call or something to look into the issue a bit more. |
Beta Was this translation helpful? Give feedback.
-
|
Here's some more of the micromon log file in case it helps: If there other log files you would like me to post just let me know. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks, that's helpful. It looks like there's some kind of mixup with the username. The user processor is trying to start for the user Just to double-check, can you share the file system properties of your user processor executable? in |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
I just realized that the shared filesystem is mounted with the |
Beta Was this translation helpful? Give feedback.
-
|
Hmm... those look like the right filesystem properties to me. Is there some reason setuid executables wouldn't work on your system? We can test it with something like this: sudo -u nextpyp user-processor-filipeIf the setuid stuff is working correctly, you should get an output that looks something like: But if instead, you get this: that means the setuid part didn't work. That's controlled by the operating system, so maybe there's something different about your OS that's disabling this kind of technique. EDIT: Yes, mounting with |
Beta Was this translation helpful? Give feedback.
-
|
Apparent success when remounting the shared filesystem without the |
Beta Was this translation helpful? Give feedback.
If anyone is still interested in this issue, we've finally found the cause and fixed it. You should see the fix in the next release. =)