- 用 root 用户登录,首先创建一个 bunian 用户。
useradd -m bunian
-m
用于创建用户主目录,默认是不创建的。此外用 -d
参数可以自定义主目录(感觉很少用)。
- 创建 bunian 用户的密码,该命令也可以用于修改密码。回车后可输入密码。
passwd bunian
- 在 Linux 中,当创建了一个用户,系统会自动为其新建一个与用户名相同的主用户组名。可用下列命令查询 bunian 用户所属组(包括主组和辅助组):
groups bunian
# bunian : bunian
本次将 bunian 用户改到自己所需要的用户组中。
# 新增以下组
usermod -aG adm,cdrom,sudo,dip,plugdev,lxd bunian
查询 bunian 用户和主用户组的信息。
id bunian
# uid=1001(bunian) gid=1001(bunian) groups=1001(bunian),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),117(lxd)
❝uid 和 gid 是由 Linux 系统分配给每个用户和主用户组的数字,从而允许系统识别用户和用户组。
默认情况下系统会自动为新的用户按照数字顺序从 1000 开始分配 uid 和 gid。前 1000 个账户号码通常被保留给系统账户、服务和其他特殊账户。uid 和 gid 分别存储在
/etc/passwd
和/etc/groups
目录中。❞
上述查到的各个组的定义如下:
adm # 此组的成员可以查看许多日志文件
cdrom # 此组的成员可以访问 CD-ROM 驱动器和其他光驱
sudo # 此组的成员可以使用 sudo 命令来执行需要 root 权限的命令
dip # 此组的成员可以使用 ppp 和 dip 命令来拨号和使用PPP连接
plugdev # 此组的成员可以通过 pmount 挂载和卸载可移动设备
lxd # 此组的成员可以管理 LXD 容器
- 此时可以切换到 bunian 用户。
su bunian
切换到 bunian 用户后发现终端只显示 $
符号。这是因为没有设置登录 shell,导致命令默认使用 /bin/sh
。使用以下命令进行修改:
usermod -s /bin/bash bunian
- 以上 wang 用户配置完毕。但在使用 sudo 命令时,需要输入 bunian 用户的密码,相对比较麻烦。可编辑
/etc/sudoers
文件进行修改:
sudo vim /etc/sudoers
# 找到下列行:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL) :ALL
# 修改为:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL) NOPASSWD:ALL
再次使用 sudo 命令无需输入密码。
如果在上述第 3 步中,没有为 bunian 用户分配为 sudo 用户组,也可以单独为 bunian 用户设置使用 sudo 命令的权限,即通过编辑 /etc/sudoers
文件进行修改:
❝
注意由于没有为 bunian 用户分配为 sudo 用户组,因此下列命令需要在 root 用户下执行。❞
# 需要在 root 用户下执行 !!!
# 新增 /etc/sudoers.d/bunian 文件并编辑
vim /etc/sudoers.d/bunian
# 在文件中添加以下内容:
wang ALL=(ALL) NOPASSWD:ALL
- 进入 authorized_keys 目录,将自己的公钥复制到目录中。以后使用私钥登录即可。
mkdir -p ~/.ssh && vim ~/.ssh/authorized_keys
在有密钥登录的前提下,可顺便将密码登录关闭。
# 修改配置文件
sudo vim /etc/ssh/sshd_config
# 将以下内容进行修改
PermitRootLogin no # 关闭 root 用户直接登录
PasswordAuthentication no # 关闭密码登录
修改上述配置后重新加载 ssh:
sudo systemctl reload sshd
- 如果要删除 bunian 用户,则在 root 用户下执行以下命令:
# 删除用户 bunian, 但保留了其主目录
userdel bunian
# 删除 bunian 同时删除了主目录
userdel -r bunian
</div>