How do I run a command not as root?
How to use sudo to allow a non-root user run a particular command
- open the /etc/sudoers file. It is recommende to open this file using the visudo command. # visudo.
- Add the following lines at the end. ( though can be added anywhere in the file)
- Now login with the user john and execute the command :
How do I run as root user?
To get root access, you can use one of a variety of methods:
- Run sudo and type in your login password, if prompted, to run only that instance of the command as root.
- Run sudo -i .
- Use the su (substitute user) command to get a root shell.
- Run sudo -s .
How to run commands as a non-root user in Bash?
If you start your script with root permissions but need to run certain commands as a specific non-root user you can use sudo with the -u option to either run a single command with e.g. sudo -u USERNAME whoami # outputs USERNAME’s user name or start a subshell and run your commands in it, e.g.:
How to run script as a different user from root?
The idea is to run the script like sudo -u user1 /root/script.sh I must say I never liked sudo (especially its configurations). Plain old su: Executed from root, it won’t prompt for password. It may be a good idea to leave /root untouched and create (or use) a different directory for this purpose (e.g. /usr/local/bin ).
Can you run a setuid executable as root?
For somewhat less of a security nightmare than putting the root password in a script, you can use a setuid executable. setuid executables are run as root, no matter which user executes them. The main advantage of this is that if someone steals your laptop, they can run smartctl -a /dev/sda as root, but otherwise only has your user privileges.
Is there a command to run Pam as root user?
The runuser command run a shell with substitute user and group IDs. This command is useful only when run as the root user: Only session PAM hooks are run, and there is no password prompt.