Linux系统更改用户名

使用linux系统以后我遇到的第一个问题就是修改用户名。在follow老师教程的时候,我很不小心地把用户名和密码设置成了老师给出的示例,后来才意识到这里自己定义就ok……于是怎么看怎么别扭。

搜索了一下各路大神给出的解决方案,稍稍爬坑后简单总结一下。

一是更改用户名的条件。这里更改的用户不能是当前正在进行的进程,也就是说如果只创建了一个用户,并不能用下述代码解决。要更改的用户设置,必须是不在运行进程中的用户信息。

二是更改用户信息的方式。在更改时需要同时把根目录的信息更改掉,否则更改的只是系统表面展示的名字,真正底层存储的依然是旧的用户名。

更改用户名称步骤如下:

[username@username ~]$ su - #获得root权限,或者后面使用sudo也可以
[root@username ~]$ usermod -l NewUsername -d NewUsername/home/NewUsername -d OldUsername

在我第一次尝试的时候还出现了报错,显示当前用户正在进程中,报错信息如下:

usermod: user OldUsername is currently used by process 14080

需要做的是:

[root@username ~]$ ps u #找到OldUsername用户的进程信息,注意要使用root权限查看。
[root@username ~]$ kill [OldUsername PID] #终止该用户进程。不可以是当前!否则就重启了!

之后继续进行“更改用户名称”中的步骤就可以啦。

然而由于我只设置了一个管理员账户,这种方法并不适用……最后我只好暂时通过RedHat提供的GUI界面更改了以下显式的账户名称……感到烦恼。

相关推荐