平时使用 ubuntu 服务器都是用 root 账号在操作,这样会有一些安全隐患,比如在执行一些外来脚本的时候,如果用 root 账号执行,恶意脚本就可以损害系统。还有在使用 composer 安装 php 包的时候,也会提醒我们不要用 root 账号运行 composer 命令。所以记录一下 ubuntu 配置用户和用户组的过程。
1. 用户组
1.1 查看当前系统用户组
cat /etc/group
显示格式为
用户组名称:用户组密码:GID:用户列表(用户之间用逗号分隔)
1.2 新建用户组
groupadd admin # 新建admin用户组
1.3 修改用户组
groupmod -n admin_new admin # 将 admin 用户组修改为 admin_new
1.4 删除用户组
groupdel admin # 删除admin用户组
2. 用户
2.1 查看用户
cat /etc/passwd
2.1 新建用户
第一种方法:
adduser ggg # 创建用户 ggg,会要求输入密码,其他选项可以直接回车跳过
第二种方法:
useradd ggg # 添加用户 ggg
passwd ggg # 为用户 ggg 指定登录密码
usermod -s /bin/bash ggg # 为用户 ggg 指定 shell
usermod -d /home/ggg ggg # 为用户 ggg 指定 home 目录
两种方法最终结果相同,第一种适合快速创建用户,第二种适合精确控制各个选项。
2.2 删除用户
第一种:
deluser ggg # 删除用户
deluser --remove-home ggg # 删除用户、home 目录和邮箱
第二种:
userdel ggg # 删除用户
userdel --remove ggg # 删除用户、home 目录和邮箱
3. 怎样比较安全的创建 sudo 使用的用户
3.1 禁用新创建用户通过 ssh 登录
vim /etc/ssh/sshd_config # 打开 ssh 配置
按 o 在当前行之下插入新行,并进入 vim 编辑模式,输入:
DenyUsers ggg
按 Esc 退出 vim 编辑模式,再输入 :wq 保存退出。
service sshd restart
重启ssh服务。
3.2 创建用户组
我们通过 vim /etc/sudoers 发现 root 用户和 admin 用户组默认拥有sudo权限。但是系统里其实还没创建admin用户组,则我们先创建一个admin用户组。
groupadd admin
3.3 创建用户
adduser --group admin ggg # 创建用户 ggg 并加入 admin 用户组
同时设置一个比较好记的密码。
这样完成以后,ggg 用户就获得了 sudo 权限,可以执行 root 的命令。比如:
sudo apt update && sudo apt upgrade
这样我们平时的命令就可以通过 su ggg 切换到 ggg 用户来执行,增加一定的安全性。
--End--