Linux 修改用户名(同时修改用户组名和家目录)

 

有时候,由于某些原因,我们可能会需要重命名用户名。我们可以很容易地修改用户名以及对应的家目录和 UID

1.修改用户名

我们使用 usermod 来修改用户名,语法为:

usermod -l new_username old_username

该命令相当于做了两件事:

  1. 将/etc/passwd下的用户名栏从kevin修改为xuenixiang,其他部分不变

  2. 将/etc/shadow下的用户名栏从kevin修改为xuenixiang,其他部分不变

举个例子,假设我们有一个名叫kevin的用户想要重命名为xuenixiang,那么在终端下执行下面命令:

usermod -l xuenixiang kevin

 

注意:

usermod不允许你改变正在线上的使用者帐号名称。当usermod用来改变userID,必须确认这名user没在电脑上执行任何程序,否则会报“usermod: user xxx is currently logged in”错误。因此必须root用户登录或者其他用户登录然后切换到root身份,而不能在当前用户下切换至root进行修改。

如果你已经在这个用户下登录了,你需要从要改名的帐号中登出并杀掉该用户的所有进程,要杀掉该用户的所有进程可以执行下面命令:

pkill -u kevin 杀掉kevin的所有进程

pkill -9 -u kevin 强制杀死

 

2.更新/etc/passwd中的注解栏

语法:usermod -c xuenixiang xuenixiang

相当于将/etc/passwd下的注解栏修改为xuenixiang,其他部分不变,如果要修改UID (例如:把UID改成2000)则使用usermod -u 2000 kevin

3.修改用户组名

语法:groupmod -n xuenixiang kevin

将原来的用户组kevin修改为xuenixiang,只修改组名,组标识号不变,相当于修改了文件/etc/group和/etc/gshadow

4.修改家目录

usermod -md /home/xuenixiang xuenixiang

相当于做了两件事:

  1. 将/etc/passwd下的登入目录栏修改为/home/xuenixiang,其他部分不变

  2. 将原来的用户目录/home/kevin修改为新的用户目录/home/xuenixiang

5. 做完修改后,可以使用 id 命令来检查

语法:id xuenixiang

所有的过程流程参考上图即可

 

猜你喜欢

转载自blog.csdn.net/qq_41917908/article/details/89001252