usermod命令可用于修改linux用户信息,需要注意的是,运行该命令需要先取得root权限。
假设修改前的用户名是user0、修改后的用户名是user1。
一、 切换到root权限
有两种常见的切换至root权限的方法。
1. 使用root身份登录linux系统(推荐)
在操作系统的用户登陆界面,直接采用root身份登录linux系统。
2. 在user0权限下使用su命令切换至root权限(不推荐)
在user0权限下可以使用“su -”命令切换至root权限。之所以不推荐,是因为这种方法可能会使系统存在较多的占用user0的进程,在执行usermod命令时需要手动kill掉更多的进程。
二、 执行usermod命令
usermod -l user1(新用户名) -m user0(旧用户名) -d /home/user1(新家目录)
选项说明:
-l:新的登录名
-m:把家目录的内容移动到新的位置
-d:新的家目录
至此,linux用户名的修改已搞定~~
三、可能遇到的问题:user user0 is currently used by process xxx
切换到root权限之后、执行上述usermod命令时,可能会出现名为“user user0 is currently used by process xxxx”的错误,这是因为某些process(进程)占用了user0用户,解决方法是查询占用user0用户的进程,并手动kill掉这些进程,再重新执行usermod命令。
1. 查询与user0相关的进程
ps -ef | grep user0
2. 根据进程号kill掉相关进程
kill process_number1 process_number2 ...
注意:kill之前需要先确认这些进程的功能,从而避免丢失关键的工程、实验数据!!