How to create extra root user? [closed]
You can't. root
is a special user with uid 0. Use sudo
instead.
Premise: using sudo
(as suggested by the accepted answer) probably is the correct solution at your problem.
That said, if you really need something resembling a second root
account, you can create an alias to the system root
account.
To do that, follow these steps:
- open
/etc/passwd
- locate the
root
account line (often the very first line). It will be something similar toroot:x:0:0:root:/root:/bin/bash
- copy/paste it changing the first
root
occurence inroot2
(ie: changing it inroot2:x:0:0:root:/root:/bin/bash
) - save your changes and exit the text editor
- issue
passwd root2
and enter the new password
Note: if you whish, you can avoid direct editing the /etc/passwd
file by replacing steps 1-3 with the following command: useradd -o -u 0 -g 0 -N -d /root/ -M root2
(see useradd --help
for more information about the required options)
At this point, you can login using not only the original root
account (with its original password), but also using the new root2
account (with its new password).
Anyway, remember that it is an alias of an existing user, rather than a completely new user. This means that any files created while logged as root2
have the very same numerical oid/gid of the original system root
account (which has 0
as both uid and gid).
This used to be somewhat common (before sudo
alleviated the need).
The toor user (yes, that's "root" spelled backwards) is the most common alternate root user, sharing the special UID of zero with root. See also this Super User question: Does the root account always have UID/GID 0?
This is the purpose of useradd --non-unique
(useradd -o
). I believe you want something like:
useradd --non-unique --uid 0 root2
You should be able to give the account any that doesn't already exist on your system.
I do not recommend this. You're far better off with one true root user, reserved for emergency console access. Admins should all instead use sudo. Especially remote admins (it is wise to prohibit root from connecting via ssh or other remote services, especially w.r.t. password logins).