在刚刚接触linux系统时都会安装ubuntu系统(或者centos)的虚拟机,在安装时可能没有想好给机型取什么名字、用户名是什么等等,或者是用是默认的名字,等慢慢熟悉系统后就会觉得很别扭,这个时候就想修改用户名、主机名,很多人可能就是想着重新安装一个系统,但是安装需要时间,而且有些资料需要迁移多麻烦呢。对于linux这么好的系统当然有方法解决这种问题,本文将详细介绍在ubuntun下修改主机名、用户名以及用户名密码的过程,彻底解决你的烦恼。

注:为了保证修改顺利完成,或者出错了也可以修改,请多开几个Terminal终端,并都切换到root账户下。

sudo su

切记切换到root用户下在进行操作。

切记切换到root用户下进行操作。

切记切换到root用户下进行操作。

1 修改主机名

修改主机名,也就是修改Terminal上,提示文字的@后面的对应的名字,如图所示的主机名是master,可以通过“hostname”命令查看主机名。

1)修改 hostname文件

使用vim编辑器打开hostname文件,也可以使用gedit文本编辑器打开。

sudo vi /etc/hostname

sudo gedit /etc/hostname

  也可以通过hostnamectl 来修改主机名:

hostnamectl set-hostname master

2)修改hosts文件

修改hosts文件

sudo vi /etc/hosts

sudo gedit /etc/hosts

完成上面两个步骤后重启机器可以看到主机名已经为修改后的主机名 

2 修改用户名

切记切换到root用户下进行修改,普通用户下修改用户名后,执行sudo命令会提示密码错误。

切记切换到root用户下进行修改,普通用户下修改用户名后,执行sudo命令会提示密码错误。

切记切换到root用户下进行修改,普通用户下修改用户名后,执行sudo命令会提示密码错误。

第4)步中建议使用方法一:即修改用户组的方式,两种都执行也可以。

可以使用sed命令进行批量修改:(在被修改的str两边加上“\b”来限定字符界限,表示全部匹配才修改,以免修改错误。)

sed -i "s/\b<srcStr>\b/<desStr>/g" `grep <srcStr> -rl <filename>`

1)修改passwd文件

将passwd中原用户名修改成新用户名:

vi /etc/passwd

或者使用如下命令修改: 

sed -i "s/\bmaster\b/andy/g" `grep master -rl /etc/passwd` 

 2)修改shadow文件

将shadow中原用户名修改成新用户名:

vi /etc/shadow

或者用如下命令修改:

sed -i "s/\bmaster\b/andy/g" `grep master -rl /etc/shadow`

3)修改home目录下文件夹名

将home目录下用户文件夹名修改为新用户的名:

mv /home/master/ /home/andy

4)修改sudo权限

建议使用方法1,即修改用户组,想两种都执行也可以。

方法1:修改group用户组

修改group文件,将原来的用户名替换成新用户名。

vi /etc/group

或者用如下命令修改:

sed -i "s/\bmaster\b/andy/g" `grep master -rl /etc/group`
 

方法2:修改sudoers文件

将sudoers文件中原用户名替换成新用户名。如果没有,则可以直接添加新用户名。

Andy      ALL=(ALL:ALL) ALL             #用户andy需要输入密码执行sudo命令
%andy     ALL=(ALL) AL                  #用户组andy里的用户输入密码执行sudo命令


andy ALL=(ALL) NOPASSWD: ALL            #用户andy免密执行sudo命令
%andy ALL=(ALL) NOPASSWD: ALL           #用户组里的用户andy免密执行sudo命令
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

5)重启机器

执行完上述步骤后重启机器,即可以新用户名登录。这里没有修改密码,密码是原用户的密码。

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

3 修改用户密码

sudo passwd username          #修改用户密码

sudo passwd root              #修改root密码
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

 

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐