如何在Linux中添加用户?

在Linux中添加用户使用useraddadduser命令,以root权限执行sudo useradd -m 用户名创建用户并生成家目录,再通过sudo passwd 用户名设置密码即可完成。

在Linux系统中添加用户是系统管理的基础操作,无论是部署服务器、分配权限还是多用户环境管理,都需要掌握此技能,以下为详细操作指南,涵盖命令行工具、配置选项及安全建议,所有步骤均需root权限(使用sudo前缀或切换至root账户执行)。

如何在Linux中添加用户?


核心命令:useraddadduser

useradd(基础工具)

  • 基本语法
    sudo useradd [选项] 用户名
  • 常用选项
    • -m:创建用户家目录(默认位于/home/用户名)。
    • -s /bin/bash:指定登录Shell(如/bin/zsh)。
    • -c "备注信息":添加用户描述(如全名)。
    • -G 组名:将用户添加到附加组(如sudo组赋予管理员权限)。
    • -e YYYY-MM-DD:设置账户过期时间。
  • 示例
    sudo useradd -m -s /bin/bash -c "开发人员" -G developers,ftp john

adduser(交互式工具,推荐新手)

  • 部分Linux发行版(如Debian/Ubuntu)提供更友好的交互式流程:
    sudo adduser john

    执行后按提示输入密码、全名等信息。


关键操作步骤

设置用户密码

使用passwd命令为新建用户设置密码:

   sudo passwd john
  • 输入两次密码(密码不显示),需符合系统密码策略(长度、复杂度)。

自定义用户家目录

通过-d选项指定自定义家目录路径:

如何在Linux中添加用户?

   sudo useradd -m -d /data/users/john john

用户组管理

  • 添加用户到附加组(如sudo组):
    sudo usermod -aG sudo john  # -aG表示追加(不覆盖原有组)
  • 创建新用户组并加入
    sudo groupadd developers
    sudo usermod -aG developers john

修改用户属性

使用usermod调整现有用户:

   sudo usermod -s /bin/zsh john   # 更改Shell
   sudo usermod -L john            # 锁定账户(禁止登录)
   sudo usermod -U john            # 解锁账户

配置文件解析

/etc/passwd

存储用户基本信息,每行格式为:

   john:x:1001:1001:开发人员:/home/john:/bin/bash
  • 含义:用户名:密码占位符:UID:GID:描述:家目录:Shell

/etc/shadow

存储加密密码及策略(仅root可读):

如何在Linux中添加用户?

   john:$6$加密密码...:19157:0:99999:7:::
  • 字段含义:密码最后修改日期、最小/最大密码有效期等。

/etc/skel/

  • 模板目录,新建用户时自动复制此目录内容到家目录。
  • 可预置.bashrc.profile等配置文件。

删除用户

完全删除用户及相关文件

   sudo userdel -r john  # -r同时删除家目录和邮件

保留用户文件

   sudo userdel john     # 仅删除用户,保留/home/john

安全与最佳实践

  1. 最小权限原则
    • 避免赋予普通用户sudo权限,必要时通过visudo精细配置。
  2. 密码策略
    • 使用chage设置密码过期时间:
      sudo chage -M 90 -m 7 -W 14 john  # 90天有效期,提前14天警告
  3. 禁用Shell访问
    • 创建仅用于服务的用户(如运行数据库):
      sudo useradd -m -s /usr/sbin/nologin dbuser

常见问题排查

  • 用户无家目录:忘记加-m选项 → 用mkhomedir_helper john手动创建。
  • 权限拒绝:确保命令前加sudo或切换至root账户。
  • 用户组未生效:用户需重新登录或执行newgrp 组名

引用说明: 基于Linux标准文档(man useradd)、Filesystem Hierarchy Standard (FHS) 及开源社区最佳实践,具体命令行为可能因发行版(如CentOS与Ubuntu差异)略有不同,建议查阅官方手册:

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/26474.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月16日 11:18
下一篇 2025年6月8日 13:32

相关推荐

  • 怎样测试Linux防火墙端口

    使用telnet、nc或nmap工具测试Linux防火墙端口:,1. **telnet/nc**:telnet 或 nc -zv ,连接成功(无错误)表示端口开放,失败(如超时/拒绝)表示关闭或被阻。,2. **nmap**:nmap -p 明确显示端口状态(open/filtered/closed)。,3. **检查防火墙规则**:iptables -L -n 或 ufw status 查看是否允许目标端口流量。

    2025年6月12日
    100
  • 如何在Linux上快速编辑文本?

    Linux 中编辑文本主要使用命令行编辑器(如 Vi/Vim、Nano)或图形界面编辑器(如 Gedit),Vi/Vim 功能强大但需掌握模式切换(i 插入,Esc 退出,:wq 保存退出),Nano 更简单易用(Ctrl+O 保存,Ctrl+X 退出),图形工具操作类似 Windows,编辑系统文件常需 sudo 权限。

    2025年6月10日
    100
  • 如何在Linux系统中为树莓派烧录系统镜像?

    在Linux系统下为树莓派烧录镜像需先下载系统镜像文件,插入SD卡后使用lsblk确认设备路径(如/dev/sdb),使用dd命令执行sudo dd if=镜像名.img of=/dev/sdX bs=4M status=progress,完成后执行sync并安全弹出存储卡即可,也可使用图形化工具如Etcher简化操作。

    2025年5月28日
    300
  • Linux如何监控网络?

    Linux提供多种网络监控工具:iftop/nload实时查看带宽使用,nethogs追踪进程级流量,netstat/ss分析连接与端口状态,vnstat记录历史流量报告,bmon/iptraf-ng提供可视化界面,结合iptables/tc可实现流量控制与统计。

    2025年6月7日
    100
  • Linux快速解压zip文件三步搞定

    在Linux终端中,使用unzip 文件名.zip命令解压文件,若未安装unzip,先用sudo apt install unzip(Debian/Ubuntu)或sudo yum install unzip(CentOS/RHEL)安装,也可用7z x 文件名.zip(需安装p7zip-full)。

    2025年6月15日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN