Problem:
I need to add a new user to a Linux server
Step-by-step guide
Centos
$ sudo -s $ NEWUSER=<netid of person you would like to add> #Variable that is used in future commands $ adduser $NEWUSER $ gpasswd -a $NEWUSER wheel #If you would like to give them root access $ mkdir -m 700 /home/$NEWUSER/.ssh $ echo "User's PUBLIC key" > /home/$NEWUSER/.ssh/authorized_keys $ chmod 600 /home/$NEWUSER/.ssh/authorized_keys $ chown -R $NEWUSER:$NEWUSER /home/$NEWUSER/.ssh $ restorecon -FRvv /home/$NEWUSER/.ssh #Required if Selinux is running on the server
Ubuntu
$ sudo -s $ NEWUSER=<netid of person you would like to add> #Variable that is used in future commands $ adduser $NEWUSER $ usermod -aG sudo $NEWUSER #If you would like to give them root access $ mkdir -m 700 /home/$NEWUSER/.ssh $ echo "User's PUBLIC key" > /home/$NEWUSER/.ssh/authorized_keys $ chmod 600 /home/$NEWUSER/.ssh/authorized_keys $ chown -R $NEWUSER:$NEWUSER /home/$NEWUSER/.ssh $ restorecon -FRvv /home/$NEWUSER/.ssh #Required if Selinux is running on the server
Best Practices
- Utilize SSH keys instead of passwords for authentication
- Create new user accounts instead of utilizing the root account
- Do not elevate to root unless it is truly needed
Related articles