修改 Linux 用户名、主机名和密码

最近租了两台服务器,想修改默认的用户名、主机名和密码。

修改密码

新装的 Ubuntu 操作系统未设置 root 账号的密码,所以要先给它设置密码。

sudo passwd root
# 输入当前用户的密码
# 输入想要给 root 设置的新密码
# 再次输入新密码

修改当前用户的密码:

sudo passwd
# 输入当前用户的密码
# 输入新密码
# 再次输入新密码

修改当前主机名

sudo vi /etc/hostname
# 找到当前主机名,修改为新的主机名,保存
sudo vi /etc/hosts 
# 将里面旧的主机名改为新的主机名,保存
# 重启后生效 sudo reboot

修改用户名

先说一下我犯了一个错误是,还没有初始化 root 密码,就把当前用户名修改了,结果不能执行 sudo,只好重装系统。所以一定要考虑执行的命令可能带来的后果,三思后行。

方法1

sudo  vi /etc/passwd
# 找到当前用户名,修改为新的用户名,但"/home/当前用户名" 不要修改,保存

sudo  vi /etc/shadow
# 找到当前用户名,修改为新的用户名,保存
# 重启后生效 sudo reboot

mv ~/旧用户名 ~/新用户名

方法2

实际上如果用 root 登录,可以直接修改用户名。但是默认是不允许 root 登录的,可以先配置允许 root 远程登录

sudo vi /etc/ssh/sshd_config
# 把 PermitRootLogin 的参数值改为 yes,保存
# 重启后生效 sudo reboot

现在用 root 登录上去就可以修改用户名了。

usermod -l 新用户名 旧用户名

添加用户

在我重装系统后,我尝试了添加用户,并为它添加 sudo 权限,来达到自己想要的效果。

adduser flipped

添加 sudo 权限

一种方式是通过 visudo 命令(或 vi /etc/sudoers),添加一条 用户名 ALL=(ALL) ALL 记录。也可以直接为用户添加用户组来实现:

usermod -g sudo 用户名

附上一些用户、用户组命令

  • useraddadduser:添加用户
  • passwd [username]:为用户设置密码,username 为空则修改 root 用户的密码
  • usermod:修改用户命令
  • su [username]:切换到另一个用户,username 为空则切换到 root 用户
  • sudo:sudo 是以另一个用户来执行命令,当前用户或用户组需要在 /etc/sudoers 中
  • visudo:编辑 /etc/sudoers 的命令,也可以 vi /etc/sudoers
  • groupadd:添加用户组
  • groupdel:删除用户组
  • groupmod:修改用户组信息
  • groups username:显示用户所属的用户组

Previous Post Next Post