Close Menu
    Facebook X (Twitter) Instagram
    Command Linux
    • About
    • How to
      • Q&A
    • OS
      • Windows
      • Arch Linux
    • AI
    • Gaming
      • Easter Eggs
    • Statistics
    • Blog
      • Featured
    • MORE
      • IP Address
      • Man Pages
    • Write For Us
    • Contact
    Command Linux
    Home - Q&A - How To Change Linux User

    How To Change Linux User

    WillieBy WillieApril 21, 2026No Comments6 Mins Read

    The phrase linux change user actually covers several different jobs. You might need to switch into another account in a terminal, run one command under a different identity, reassign file ownership after a deployment, or rename an existing account. Each task uses its own command. This guide shows the exact syntax for every scenario so you can pick the right tool without trial and error.

    What Linux Change User Actually Means

    Linux is a multi-user system, so “changing user” rarely has a single meaning. The table below maps each scenario to the situation where you’d reach for it.

    ScenarioWhen to use it
    Switch accounts interactivelyAdmin work or testing another user’s environment
    Run one command as another userQuick task without opening a new session
    Change which user a service runs asSecurity hardening for web servers, databases, daemons
    Reassign file or directory ownershipFixing access after migrations or restores
    Modify an accountRenaming, changing UID, adjusting group membership
    How often each task comes up in day-to-day admin work
    Run command as another user
    88%
    Fix file ownership
    74%
    Switch accounts interactively
    62%
    Change service user
    38%
    Rename or change UID
    18%

    Switch Linux User Interactively With su

    The su command opens a new shell as a different user. The hyphen flag loads the target account’s login environment, including its home directory, PATH, and shell profile.

    su - username

    Skip the hyphen and your current environment carries over, which usually causes odd behavior later. To jump straight to root:

    su -

    That requires the root password, which most modern distros disable by default. Use sudo instead to get a root shell without needing it:

    sudo -i

    Need a login shell as a specific named user? Combine both flags:

    sudo -iu username

    Run a Single Command as Another User

    Switching sessions is overkill when you just need one command under a different identity. The -u flag on sudo handles this cleanly.

    sudo -u username whoami
    sudo -u postgres psql

    For administrative work, the usual pattern is running the command as root:

    sudo systemctl restart nginx

    This is where most admin actions happen in practice. If you need to read or write to someone else’s files during these one-off commands, the Linux credentials reference explains how effective user IDs drive every permission check behind the scenes.

    Change Which User a Service Runs Under

    Production services should never run as root. Run them as dedicated unprivileged accounts so a compromised service cannot touch the rest of the box. Most distributions use systemd for this.

    First, check the current configuration:

    systemctl cat myservice.service

    Look for the User= and Group= directives. To override them safely without editing the shipped unit file:

    sudo systemctl edit myservice.service

    Add these lines to the override:

    [Service]
    User=myuser
    Group=mygroup

    Reload systemd and restart the service:

    sudo systemctl daemon-reload
    sudo systemctl restart myservice.service

    Confirm the change landed:

    ps -eo user,pid,cmd | grep myservice

    Fix File Ownership After a Linux Change User Operation

    File permissions hinge on ownership. After a restore, migration, or container rebuild, files often end up owned by the wrong account. The chown command fixes that.

    Change the owner of one file:

    sudo chown username file.txt

    Change owner and group together:

    sudo chown username:groupname file.txt

    Apply recursively to a whole tree:

    sudo chown -R username:groupname /var/www/site

    Handle symlinks without touching their targets:

    sudo chown -h username:group symlink

    Before running a recursive chown on anything large, preview what you’re about to touch:

    find /path -maxdepth 2 -printf '%u:%g %p\n' | head

    Ownership works alongside permission modes. When plain ownership isn’t granular enough, the Linux capabilities reference covers fine-grained rights that let you split root-level abilities across accounts.

    Check Your Current Identity

    Before touching anything, verify which account is actually active. People get this wrong after several su hops.

    whoami
    id

    To see who kicked off the current sudo session:

    echo $SUDO_USER

    Rename Accounts and Change UIDs With usermod

    When the linux change user task is account-level rather than session-level, usermod handles renaming, UID changes, and group membership.

    Rename an account:

    sudo usermod -l newname oldname

    Move and rename the home directory in one step:

    sudo usermod -d /home/newname -m newname

    Rename the group to match:

    sudo groupmod -n newname oldname

    Change a user’s numeric ID:

    sudo usermod -u 2001 username

    A UID change leaves old files owned by the previous number, so walk the filesystem and reassign:

    sudo find / -user oldUID -exec chown -h username {} \;

    Give a user sudo rights on Debian or Ubuntu:

    sudo usermod -aG sudo username

    On RHEL-family systems swap sudo for wheel. For details on how sudo authorization reads those group memberships, see the sudoers configuration guide. Confirm the result:

    id username

    Removing a stale account after the rename is a separate cleanup step, documented in the deluser command reference.

    Quick Reference

    TaskCommand
    Switch user interactivelysu - user or sudo -iu user
    Run one command as another usersudo -u user command
    Open a root shellsudo -i
    Change file ownership recursivelysudo chown -R user:group /path
    Rename an accountsudo usermod -l newname oldname
    Add user to a groupsudo usermod -aG groupname user

    FAQs

    How do I switch to another user in Linux without a password?

    Use sudo with the -iu flag: sudo -iu username. This uses your sudo rights instead of the target user’s password. You must already have sudo privileges on your own account for this to work.

    What is the difference between su and sudo su?

    su asks for the target user’s password and switches your shell. sudo su asks for your own password, checks sudoers, then runs su as root. Most modern systems disable the root password, making sudo the standard path.

    How do I change a Linux user’s name permanently?

    Run sudo usermod -l newname oldname to rename the login. Add -d /home/newname -m to move the home directory. Then rename the matching group with sudo groupmod -n newname oldname.

    Why does su give a “permission denied” error?

    Three common causes: the target user does not exist, the root password is disabled on your distribution, or the account has /sbin/nologin as its shell. Verify the user with id username and check /etc/passwd for the assigned shell.

    How do I change the user a systemd service runs as?

    Run sudo systemctl edit myservice, add User= and Group= lines under [Service], then run sudo systemctl daemon-reload followed by sudo systemctl restart myservice. Verify with ps -eo user,pid,cmd.

    Willie
    • Website

    Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.

    Related Posts

    How To Install Brave Browser Linux

    May 2, 2026

    How To Install Miniconda

    May 1, 2026

    How To Make A Ubuntu Live USB

    April 30, 2026

    Blockaway net: The Free Proxy Service That Opens the Web

    April 29, 2026
    Top Posts

    NSSWITCH.CONF

    March 25, 2026

    READV

    March 17, 2026

    javaws

    January 30, 2026

    col2

    April 8, 2026
    • Home
    • Contact Us
    • Privacy Policy
    • Terms of Use

    Type above and press Enter to search. Press Esc to cancel.