如何在Linux操作系统下使用命令行工具更改用户名(重命名用户名)或UID?如何在Linux下更改或重命名用户名?
在Linux操作系统下,你需要使用usermod命令来更改用户名。该命令会修改系统账户文件,以反映在命令行中指定的更改。不要用手或使用vi等文本编辑器编辑/etc/passwd文件。本页介绍了如何在Linux系统中使用usermod命令修改或重命名用户名。
按用户名重命名语法如下:
usermod -l login-name old-name
我们在Linux中使用usermod命令来重命名用户账户。用户的名字将从原来的名字改为login_name。其他的内容都不会改变。特别是,用户的主目录名可能应该被改变以反映新的登录名。
通过UID(用户ID)重命名语法如下:
usermod -u UID username
其中:
用户ID(UID)的数值。这个值必须是唯一的,除非使用-o选项。该值必须是非负数。0到99之间的值通常是为系统账户保留的。任何用户拥有的、位于以用户主目录为根的目录树中的文件都会自动改变文件用户ID。用户主目录之外的文件必须手动更改。
一、列出Linux系统中的所有用户
输入以下cat命令。
cat /etc/passwd
我们可以使用grep命令来过滤掉用户名称。
grep -w '^username' /etc/passwd
grep -w '^jerry' /etc/passwd
另一个选择是使用 cut 命令。
cut -d: -f1 /etc/passwd
二、如何在Linux中更改或重命名用户名和UID?
让我们看看如何重命名用户登录。首先,确保用户名没有登录服务器,并且任何其他进程没有以同一用户名运行。我还建议你在更改用户名之前备份任何数据或服务器文件。
1、查看名为tom的用户的当前用户和组成员信息
首先使用id命令获取用户身份。
id tom
接下来使用grep命令从/etc/passwd文件中抓取名为tom的用户的登录信息。
grep '^tom:' /etc/passwd
使用 groups 命令查看名为tom的用户的组信息。
grep 'tom' /etc/group
groups tom
查找用户tom的主目录权限,运行以下ls命令。
ls -ld /home/tom/
最后,使用ps命令查看名为tom的用户和组拥有的所有Linux进程。
ps aux | grep tom
ps -u tom