如何查看Linux用户权限?

查看用户基本权限信息

  1. id 命令
    显示用户UID(用户ID)、GID(主组ID)及所属的所有用户组:

    id username  # 查看指定用户
    id           # 查看当前用户

    输出示例
    uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),27(sudo)
    说明:用户ubuntu属于admsudo组,拥有管理员权限。

  2. groups 命令
    快速列出用户所属的用户组:

    groups username

检查用户特权权限

  1. sudo -l 命令
    查看当前用户被授予的sudo权限(需输入密码):

    sudo -l

    关键输出
    (ALL : ALL) ALL 表示用户可执行所有命令。
    (ALL) NOPASSWD: /usr/bin/apt 表示无需密码即可运行apt

  2. 查看 /etc/sudoers 文件
    系统级sudo配置(必须通过visudo安全编辑):

    sudo cat /etc/sudoers | grep -v '^#' | grep -v '^$'

    注意:直接编辑此文件可能导致系统故障,务必使用visudo


分析文件与目录权限

  1. ls -l 命令
    查看文件/目录的详细权限:

    ls -l /path/to/file

    权限标识解析
    -rwxr-xr-- 拆分为:

    • 首位 :文件类型(为文件,d为目录)
    • rwx:所有者权限(读、写、执行)
    • r-x:所属组权限
    • r--:其他用户权限
  2. namei 命令
    递归查看路径中所有组件的权限(适用于目录):

    namei -l /path/to/directory

检查系统配置文件

  1. 用户信息文件 /etc/passwd
    查看用户基础配置:

    grep username /etc/passwd

    字段说明
    ubuntu:x:1000:1000:Ubuntu User:/home/ubuntu:/bin/bash
    依次为:用户名、密码占位符、UID、GID、描述、家目录、登录Shell。

  2. 用户组文件 /etc/group
    确认组内成员:

    grep groupname /etc/group

    输出示例
    sudo:x:27:user1,user2 表示sudo组包含user1user2


特殊权限检测

  1. SUID/SGID/Sticky Bit

    • SUIDs):文件运行时以所有者权限执行(如/usr/bin/passwd)。
    • SGIDs):目录内新建文件继承组权限。
    • Sticky Bitt):仅文件所有者可删除目录内文件(如/tmp)。
      通过ls -l查看:
      -rwsr-xr-x(SUID)、drwxrwsr-x(SGID)、drwxrwxrwt(Sticky Bit)。
  2. umask
    显示新建文件的默认权限掩码:

    umask

    示例0022 表示默认权限为755(目录)或644(文件)。


权限管理建议

  1. 最小权限原则:用户仅获取必要权限,避免使用root账户日常操作。
  2. 定期审计:通过脚本自动化检查/etc/sudoers和用户组配置。
  3. 敏感文件防护:关键目录(如/etc)应限制为root写权限:
    ls -ld /etc  # 理想权限:drwxr-xr-x

Linux权限系统通过用户、组、文件权限的三层机制实现精细控制,掌握idsudo -lls -l等命令是运维基础,而理解/etc/passwd/etc/group及特殊权限(如SUID)能有效提升系统安全性,对于生产环境,建议结合审计工具(如auditd)实现持续监控。

引用说明基于Linux核心文档(man pages)、Ubuntu官方安全指南及Red Hat权限管理最佳实践,命令测试环境为Linux Kernel 5.4+,兼容主流发行版(Ubuntu 20.04/CentOS 8)。

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

(0)
酷番叔酷番叔
上一篇 2025年7月9日 17:18
下一篇 2025年7月9日 17:42

相关推荐

  • 修改文件权限怎么做

    在Linux系统中,文件的ctime(change time)记录文件元数据(如权限、所有权等)或内容最后一次被修改的时间,默认情况下,用户无法直接修改ctime,因为它由内核自动管理,但通过特定操作可间接更新或强制修改它,以下是详细方法:理解ctime的特性ctime的自动更新机制:当以下操作发生时,ctim……

    2025年6月12日
    1800
  • Linux双屏如何提升工作效率?

    准备工作硬件连接确认显卡支持多输出(HDMI/DP/VGA等接口),用对应线缆连接两台显示器,通电开机,驱动检查终端执行 lspci | grep VGA 查看显卡型号,安装闭源驱动(如NVIDIA):sudo ubuntu-drivers autoinstall # Ubuntusudo dnf instal……

    2天前
    400
  • 占用TCP端口8080如何终止?

    端口占用的原理端口分类0-1023:系统特权端口(需root权限),如HTTP(80)、SSH(22),1024-49151:用户端口,供普通应用程序使用,49152-65535:动态/私有端口,占用本质进程通过调用bind()系统调用绑定IP和端口,再通过listen()进入监听状态,手动占用端口的步骤方法1……

    2025年6月22日
    1400
  • 如何轻松用U盘安装CDLinux?完整教程在此

    准备工作系统镜像下载访问官方源或可信镜像站(如 SourceForge CDLinux页面)下载ISO文件,推荐版本:CDLinux-0.9.8.iso(社区维护的最新稳定版),制作启动盘工具选择:Rufus(Windows)、BalenaEtcher(跨平台)或dd命令(Linux),步骤:插入U盘(≥1GB……

    2天前
    600
  • Linux如何创建用户账户?

    创建用户前的准备权限要求:必须拥有 root权限 或 sudo权限(普通用户需在命令前加 sudo),检查现有用户:执行以下命令查看是否已存在同名用户,避免冲突:cat /etc/passwd | grep 用户名若返回空结果,表示用户名可用,创建用户的两种方法方法1:使用 useradd 命令(推荐)user……

    2025年6月20日
    1600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信