可能系统安装时的默认用户名我们不喜欢,但已经在该用户上已经配置了很多东西,所以我们只能修改用户名、而非新建一个。

修改主机名

假设此处我们要修改的新主机名为 hello

  • 修改 hostname 文件

    sudo vim /etc/hostname
    

    将内容改为 hello/etc/hostname 文件修改了需要重启才会生效。

  • 用 hostname 修改当前会话的主机名

    hostname hello
    
  • 修改 hosts 文件

    sudo vim /etc/hosts
    

    将内容修改为类似如下:

    127.0.0.1 localhost
    127.0.0.1 hello
    

修改用户名

假设此处我们要修改的新用户名为 world,原用户名为 ubuntu

  • 修改 sudoer 文件

    sudo vim /etc/sudoers
    

    复制一行权限规则:

    ubuntu ALL=(ALL:ALL) NOPASSWD: ALL
    world ALL=(ALL:ALL) NOPASSWD: ALL
    
  • 修改 shadow 文件

    这个文件存储与登录相关的内容,格式如下:

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

    我们只需改登录名即可:

    world:$1$kBqSArRh$hagacMELRkFZEcrV/iqWZ0:17851:0:99999:7:::
    
  • 修改用户目录

    用户的主目录包含用户的相关配置信息,需要移植,将目录改个名称即可。

    cd /home/
    sudo mv ubuntu world
    
  • 修改 passwd 文件

    sudo vim /etc/passwd
    

    将用户名和主目录路径改了:

    world:x:500:500::/home/world:/bin/bash
    
  • 修改 group 文件

    /etc/group 文件存储用户组相关信息,格式如下:

    组名:口令:组标识号:组内用户列表
    

    需要将文件内的 ubuntu 替换成 world:

    sudo vim /etc/group
    
    world:x:500:
    lpadmin:x:115:world
    sambashare:x:116:world
    ...
    
  • 修改 sudoers 文件

    再次修改 /etc/sudoers 文件,删除原来 ubuntu 的权限分配:

    sudo vim /etc/sudoers
    
    # ubuntu ALL=(ALL:ALL) NOPASSWD: ALL # 最后把这行给删了
    world ALL=(ALL:ALL) NOPASSWD: ALL
    

最后,我们重启服务器,再拿新用户名重新登录,发现用户名和主机名都修改成功。