Run command as not-root

Hi everyone

At work, I have to run a command in an AWS instance. In that particular instance only exists the root user. The command should not be executed with root privileges (it executes mpirun, which is not recommended to run as sudo or the machine might break), so I was wondering if there is a way to block or disable the sudo privileges while the command is running. As mentioned, the only user existing there is root, so I suppose “sudo -u” is not an option.

Does anyone know how to do it? Thanks in advance!

@linux

  • There are no other users at all? Seems like a lot of stuff simply wouldn’t work without a single non-root user, not to mention this is a pretty bad security stance considering the only user is the most powerful one.

    If you do have another user on the instance you can su as that other user, nobody for example, from the root account. Run ‘cat /etc/passwd’ and you will see every available user on the instance.

    • @astraeus yep, completely agree on the security issues, that is a mistake that should be fixed. But for the moment I confirmed that root is the only user, and every file and program in the instance can only be used by root (I just created a new user and tried to run the command with su -c but got a lot of permission denials and command not found)
      If I could hide or disable my own sudo permissions that would save me a lot of work, but I’m starting to think that something like that doesn’t exist 🙁

      • Unfortunately hiding sudo from root would lead to much greater issues. You can remove sudo privileges from a non-root user, but I don’t think there’s a feasible way to do so for root.

        Does your new user have a proper shell setup? If you type bash in the new user’s terminal does it give you anything?