[Linux] Linux创建用户流程

创建用户组和用户 mgter 完整脚本

1. 创建用户组 mgter

echo "创建用户组 mgter..."
sudo groupadd mgter
echo "用户组 mgter 创建完成"

2. 创建用户 mgter 并指定家目录

echo "创建用户 mgter..."
sudo useradd -m -g mgter -s /bin/bash mgter
echo "用户 mgter 创建完成"

3. 设置用户密码

echo "请为 mgter 用户设置密码:"
sudo passwd mgter

4. 添加到sudoers获取sudo执行权限

方法一:将用户添加到sudo组(推荐)

echo "将 mgter 用户添加到 sudo 组..."
sudo usermod -aG sudo mgter
echo "mgter 用户已获得sudo权限"

方法二:在sudoers文件中单独配置

echo "在sudoers中为 mgter 用户配置权限..."
# 使用visudo安全地编辑sudoers文件
sudo visudo -f /etc/sudoers.d/mgter

在打开的文件中添加以下内容:

# mgter用户sudo权限配置
mgter ALL=(ALL:ALL) ALL

或者更精细的权限控制:

# mgter用户权限配置
mgter ALL=(ALL) NOPASSWD: /usr/bin/apt, /usr/bin/systemctl
mgter ALL=(ALL:ALL) ALL

5. 验证配置

echo "验证用户配置..."
id mgter
groups mgter

echo "测试sudo权限(需要输入密码):"
sudo -u mgter sudo -l

6. 完整的一键脚本

#!/bin/bash

USERNAME="mgter"
GROUPNAME="mgter"

echo "=== 开始创建用户组和用户 ==="

# 创建用户组
echo "1. 创建用户组 $GROUPNAME..."
if sudo groupadd $GROUPNAME; then
    echo "✓ 用户组 $GROUPNAME 创建成功"
else
    echo "✗ 用户组创建失败或已存在"
fi

# 创建用户
echo "2. 创建用户 $USERNAME..."
if sudo useradd -m -g $GROUPNAME -s /bin/bash $USERNAME; then
    echo "✓ 用户 $USERNAME 创建成功"
else
    echo "✗ 用户创建失败或已存在"
fi

# 设置密码
echo "3. 设置用户密码..."
sudo passwd $USERNAME

# 添加到sudo组
echo "4. 授予sudo权限..."
if sudo usermod -aG sudo $USERNAME; then
    echo "✓ 用户已添加到sudo组"
else
    echo "✗ 添加到sudo组失败"
fi

# 验证配置
echo "5. 验证配置..."
echo "用户信息:"
id $USERNAME
echo "所属组:"
groups $USERNAME

echo "=== 配置完成 ==="
echo "用户 $USERNAME 已创建并授予sudo权限"
echo "可以使用 'su - $USERNAME' 切换用户测试"

7. 可选:设置用户过期时间(如需要)

# 设置用户账户在指定日期后过期
sudo usermod -e 2025-12-31 mgter

# 查看用户账户信息
sudo chage -l mgter

8. 可选:锁定和解锁用户

# 锁定用户
sudo usermod -L mgter

# 解锁用户
sudo usermod -U mgter
posted on 2025-11-01 23:19  风惊庭前叶  阅读(4)  评论(0)    收藏  举报