背景:

有时候,安装的Ubuntu系统,会有不满意一开始创建的用户名,但是又因为在该用户下装了一些东西,不希望重新创建新用户进行使用,想要直接修改用户名的需求。

这里提供一个案例:

dev 用户名修改为 test 用户

1.切换到root用户操作

切换到root用户,进行提权,权限足够,避免后续权限不足无法处理

sudo su -

2.修改/etc/shadow文件

/etc/shadow文件中存储与登陆有关的内容格式如下:

username:passwd:lastchg:min:max:warn:inactive:expire:flag
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

编辑/etc/shadow文件,修改用户名

vim /etc/shadow

# 修改前
dev:$6$z2SR.9Uw$q..********************.**********.*****************************************.*********:18373:0:99999:7:::
# 修改后
test:$6$z2SR.9Uw$q..********************.**********.*****************************************.*********:18373:0:99999:7:::

3.修改用户家目录

用户家目录中,包含用户相关配置信息,我们要将二者相匹配

cd /home
sudo mv dev test

4.修改/etc/passwd文件

/etc/passwd文件内容格式如下:

dev:x:1001:1001::/home/dev:/bin/bash
用户名:密码:uid:gid:用户描述:主目录:登陆shell

将用户名,以及家目录改为新的名字

vim /etc/passwd

# 修改前
dev:x:1001:1001::/home/dev:/bin/bash
# 修改后
test:x:1001:1001::/home/test:/bin/bash

5.修改原来用户下文件所属的组

/etc/group文件中的旧用户组,改为新的用户组

vim /etc/group

# 修改前
dev:x:1001:
# 修改后
test:x:1001:

6.检查旧用户是否存在/etc/sudoers文件中

如果旧的用户名在/etc/sudoers文件中,则需要调整用户名称,避免该用户使用sudo失败

vim /etc/sudoers

# 修改前
dev   ALL=(ALL:ALL) NOPASSWD:ALL
# 修改后
test   ALL=(ALL:ALL) NOPASSWD:ALL

7.验证

重启系统,进行登录,用户名已经更改成功

标签: Ubuntu

添加新评论