当前位置: 首页 > news >正文

linux常用命令(8)——用户管理

博客主页:christine-rr-CSDN博客
​​​​​ ​​
hi,大家好,我是christine-rr ! 今天来分享一下linux常用命令——用户管理

在这里插入图片描述

linux常用命令

文章目录

    • linux常用命令
    • 八、用户管理
      • 1. user add 创建用户账户
        • 常用选项
        • 实操示例
      • 2. passwd :修改用户密码
        • 常用选项
        • 实操示例
      • 3.su :切换用户
        • 常用选项
        • 实操示例
        • 注意事项
      • 4. id :显示用户详细信息
        • 常用选项
        • 实操示例
      • 5. whoami:查看当前用户
        • 实操示例
      • 6. who :显示当前在线用户
        • 常用选项
        • 实操示例
      • 7. hostname:查看 / 修改主机名
        • 常用选项
        • 实操示例

八、用户管理

1. user add 创建用户账户

useradd 是 Linux 中用于创建新系统用户的核心命令,需 root 权限(可通过 sudo 执行)。默认情况下,创建用户时会自动生成对应的用户组(与用户名同名)、家目录(/home/用户名)和登录 Shell(如 /bin/bash)。

常用选项
选项功能说明
-m /–create-home强制创建用户的家目录(默认已开启,部分精简系统需显式指定)
-s / --shell指定用户的登录 Shell(如 /bin/bash 可登录,/sbin/nologin 禁止登录)
-g / --gid指定用户的初始组(需提前存在,默认创建同名组)
-G / --groups指定用户的附加组(多个组用逗号分隔,扩展用户权限)
-d / --home-dir自定义用户家目录路径(默认 /home/用户名
-r / --system创建系统用户(用于运行服务,UID 通常小于 1000,无家目录)
实操示例
sudo useradd zhangsan # 创建普通用户 `zhangsan`,自动生成家目录和同名组sudo useradd -s /bin/bash -G sudo lisi	#创建用户 `lisi`,指定登录 Shell 为 `/bin/bash`,附加组为 `sudo`(获得管理员权限)sudo useradd -r mysql #创建系统用户 `mysql`(用于运行 MySQL 服务,无家目录)cat /etc/passwd | grep zhangsan #查看新用户是否创建成功(检查 `/etc/passwd` 文件,该文件存储所有用户信息)
zhangsan:x:1001:1001::/home/zhangsan:/bin/bash	#输出示例

2. passwd :修改用户密码

passwd 用于设置或修改用户密码,普通用户仅可修改自身密码root 用户可修改所有用户密码(包括强制重置)。Linux 密码默认要求:至少 8 位、包含字母 + 数字 + 特殊字符(可通过 /etc/login.defs 调整策略)。

常用选项
选项功能说明
无选项普通用户执行时,直接修改自身密码(需输入旧密码验证)
用户名root 用户修改指定用户的密码(无需旧密码)
-l / --lock锁定用户账户(禁止登录,密码前加 ! 标记)
-u / --unlock解锁被锁定的用户账户
-d / --delete删除用户密码(使账户无密码,不建议生产环境使用)
-e / --expire强制用户下次登录时必须修改密码
实操示例
  1. 普通用户 zhangsan 修改自身密码:

    执行 passwd → 输入旧密码 → 输入新密码(输入时不显示,需确认两次)。

  2. root 用户重置 lisi 的密码(无需旧密码):

    sudo passwd lisi
    

    直接输入新密码并确认,适合用户忘记密码的场景。

  3. 锁定 zhangsan 账户(禁止登录):

    sudo passwd -l zhangsan
    
  4. 强制 lisi 下次登录时改密码:

    sudo passwd -e lisi
    

3.su :切换用户

su(substitute user)用于切换当前登录用户的身份,分为完全切换非完全切换

  • 完全切换:加载目标用户的环境变量(如家目录、Shell 配置),格式为 su - 用户名
  • 非完全切换:仅切换用户身份,保留当前环境变量,格式为 su 用户名(不推荐,易出现权限异常)。
常用选项
选项功能说明
- / --login完全切换用户环境(等同于 su - 用户名
-c / --command切换用户后执行单次命令,执行完返回原用户
无选项非完全切换(仅切换 UID/GID,保留当前目录和环境变量)
实操示例
  1. 从普通用户切换到 root(完全切换,加载 root 环境):

    su - root → 输入 root 密码(若系统默认禁用 root 直接登录,需用 sudo su -,无需单独输入 root 密码)。

  2. 切换到 zhangsan 并执行 ls /home/zhangsan 命令,执行后返回原用户:

    su - zhangsan -c "ls /home/zhangsan"
    
  3. 非完全切换到 lisi(仅身份切换,当前目录仍为原用户目录):

    su lisi → 输入 lisi 密码,执行 pwd 会发现目录未变。

注意事项
  • 普通用户切换到 root 需知道 root 密码,而 sudo su - 仅需当前用户在 sudo 组(更安全,推荐生产环境使用);
  • 切换用户后,用 exit 命令可返回原用户身份。

4. id :显示用户详细信息

id 命令用于查看当前用户或指定用户的 UID(用户 ID)、GID(组 ID)、所属组列表 等核心信息,无需权限,所有用户均可执行。

常用选项
选项功能说明
无选项显示当前登录用户的信息
用户名显示指定用户的信息
-u / --user仅显示用户的 UID
-g / --group仅显示用户的初始组 GID
-G / --groups仅显示用户的所有组(初始组 + 附加组)的 GID
-n / --name-u/-g/-G 搭配,显示组名 / 用户名(而非 ID)
实操示例
  1. 查看当前用户的完整信息:

    id
    

    输出示例(当前为 zhangsan):

    uid=1001(zhangsan) gid=1001(zhangsan) groups=1001(zhangsan),27(sudo)
    

    (说明:zhangsan 的 UID/GID 为 1001,附加组为 sudo,有管理员权限)。

  2. 查看 mysql 用户的 UID 和用户名:
    id -un mysql → 输出 mysql-u 显示 UID,-n 转成用户名)。

  3. 查看 lisi 所属的所有组名:
    id -Gn lisi → 输出 lisi sudo-G 显示所有组 GID,-n 转成组名)。

5. whoami:查看当前用户

whoami 是最简单的用户查询命令,仅显示当前登录的用户名,无任何选项,所有用户均可执行。

  • 场景:切换用户后快速确认当前身份,或在脚本中判断执行用户。
实操示例
  1. 普通用户登录时执行:
    whoami → 输出 zhangsan

  2. 切换到 root 后执行:
    su - rootwhoami → 输出 root

  3. id 对比:whoami 仅显用户名,id 显完整的 UID/GID 信息,按需选择。

6. who :显示当前在线用户

who 命令用于查看当前系统中所有已登录的用户,包括登录时间、登录终端(如 tty1 本地终端、pts/0 远程终端)、登录 IP(远程登录时显示)等信息,无权限限制。

常用选项
选项功能说明
无选项显示在线用户的基础信息(用户名、终端、登录时间、IP)
-r / --runlevel显示当前系统的运行级别(如 5 表示图形界面,3 表示命令行)
-b / --boot显示系统的启动时间
-H / --heading显示表头(列名:NAME 用户名、LINE 终端、TIME 登录时间、COMMENT IP)
实操示例
  1. 查看当前在线用户(带表头):
    who -H

    输出示例:

    NAME     LINE         TIME             COMMENT
    zhangsan tty1         2024-05-20 09:30 
    lisi     pts/0        2024-05-20 10:15 192.168.1.100
    

    说明:zhangsan 通过本地终端 tty1 登录,lisi 通过远程 IP 192.168.1.100 登录。

  2. 查看系统启动时间:
    who -b → 输出 system boot 2024-05-20 08:00

  3. 查看系统运行级别:
    who -r → 输出 run-level 5 2024-05-20 08:00

7. hostname:查看 / 修改主机名

hostname 用于查看或临时修改系统的主机名(主机名是系统的标识,如 server-01,远程登录时会显示)。

  • 临时修改:重启后失效;
  • 永久修改:需编辑 /etc/hostname 文件(CentOS/RHEL 还需改 /etc/sysconfig/network)。
常用选项
选项功能说明
无选项查看当前主机名
新主机名临时修改主机名为 “新主机名”(需 root 权限,重启失效)
-i / --ip-address查看主机名对应的 IP 地址(需 DNS 或 /etc/hosts 配置映射)
-f / --fqdn查看主机的完全限定域名(FQDN,如 server-01.example.com
实操示例
  1. 查看当前主机名:
    hostname → 输出 localhost.localdomain(默认初始主机名)。

  2. 临时修改主机名为 web-server(重启后恢复):
    sudo hostname web-server → 执行 hostname 验证,输出 web-server

  3. 永久修改主机名(以 Ubuntu 为例):

    • 编辑 /etc/hostname 文件:sudo vim /etc/hostname,将内容改为 web-server,保存退出;
    • 编辑 /etc/hosts 文件(添加主机名与 IP 的映射):
      sudo vim /etc/hosts → 添加一行 127.0.0.1 web-server
    • 重启系统生效:sudo reboot
  4. 查看主机名对应的 IP:
    hostname -i → 输出 127.0.0.1 192.168.1.200(需提前配置 /etc/hosts)。

http://www.dtcms.com/a/503796.html

相关文章:

  • 义乌网站制作公司建设广告网站
  • 智能宠物用品店分类架构设计 (台湾市场)
  • 第二十一周 学习周报
  • Linux操作系统学习之---线程控制
  • 2018网站开发的革新外贸企业网站系统
  • 我要学习网站建设鹤壁市城乡一体化示范区规划图
  • PS基本教学(四)——选区
  • PyTorch自动梯度实战:让张量自己学会求导
  • Vue Router完全指南 —— 从基础配置到权限控制
  • 给别人做的网站涉及到违法修改WordPress的配置文件
  • 程序员与编译器
  • 含山县查询建设工程的网站v9做的网站被攻击链接吧跳转
  • 建盏公司官方网站厦门外贸商城网站建设
  • 多模态RAG进阶:基于GPT-4V+LangGraph的下一代智能体系统完全指南
  • 自己在电脑上建文档做网站怎么做宝塔面板 wordpress制作网页
  • Docker核心揭秘:轻量级虚拟化的革命
  • 网站首页新世纪建设集团有限公司安阳贴吧论坛
  • 网站不备案可以做百度竞价吗做网站过程视频
  • 计算机网络5
  • 【论文笔记】李飞飞 世界模型RTFM
  • 微信小程序开发哪个好优化关键词排名工具
  • Text2SQL与工作流实现:让数据库查询变得轻松又高效
  • 【Android】浅析 Android 的 IPC 跨进程通信机制
  • C#11--14新特性
  • 力扣热题100道之最大子数之和
  • 手机网站开发c 教程一嗨租车网站建设的功能特色
  • 购物网站 app网站建设时应该做的优化
  • 深圳网站建设raygf2022年免费ppt模板下载
  • 【Python】二.判断语句
  • 【数据集】最新全国景区A-5A级景区数据集(更新至2025年)-含矢量及Excel详细