临时起意想给把我的用户名更改一下,上网查了一些资料,在此记录一下。
使用usermod命令
使用usermod命令的前提是需要你有sudo权限,或者你直接登录root账号。
1.第一步
你需要登出你要改名的账号,例如你的账号是ubuntu-001,我们需要将用户名更改为ubuntu-002, 此时你需要登出ubuntu-001账号,可以切换到其他账户或者直接到root账户,然后kill掉该用户(ubuntu-001)的所有进程可以执行下面命令
$ sudo pkill -u ubuntu-001
$ sudo pkill -9 -u ubuntu-001
2.第二步:
使用usermod命令更改用户名,执行以下命令:
note:更改用户名之前你得有一个sudo权限的账户,后面需要用到
usermod -l ubuntu-002 ubuntu-001
-l : 用于指定新的用户名.
此种方法有可能出现如下问题:
usermod: user ubuntu-001 is currently used by process 19
遇到这个问题我上网查了下,最后没有也没解决,直接give up!!!
直接更改配置文件(亲测可以)
此情况下仍然需要sudo权限,更改的地方如下:
sudo vi /etc/passwd
找到ubuntu-001(所有的名字都要改),改为ubuntu-002(新名字)sudo vi /etc/shadow
找到ubuntu-001(所有的名字都要改),改为ubuntu-002- 将home目录下的用户目录改为自己的用户名:例如原先目录名为ubuntu-001, 现要改为用户 ubuntu-002。用命令mv /home/ubuntu-001 /home/ubuntu-002 即可。
重启之后,直接登录新账户ubuntu-002, success, 完活!!!
如果你的账户有sudo权限,修改之后,你需要去/etc/sudoers下将新用户加进去。
-------------------------------------------------------------------------------------------------
啊,家人们,更改配置文件的方法有一丢丢小问题,就是可能出现文件所有权的问题,执行id命令是,会发现uid和gid,groups 用户名不一样,此时需要改一下gid和groups,执行如下命令:
- sudo vim /etc/group更改用户名,unbuntu-001->ubuntu-002
- sudo vim /etc/gshadow 更改用户名,unbuntu-001->ubuntu-002
此时,执行如下命令更改文件所有者即可:
sudo chown -R ubuntu-002:ubuntu-002 ./*