如何查看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 上如何安装系统软件

    Linux 上安装系统软件可通过包管理器,如 apt(Debian/Ubuntu)、yum

    2025年8月16日
    6000
  • 如何获取设备总线编号?

    在Linux系统中,确认USB设备是否运行在USB 3.0(即SuperSpeed)模式下,可通过多种命令行工具实现,以下是详细操作指南:使用 lsusb 命令(推荐)lsusb 是最直接的USB设备查看工具,通过设备描述符中的 bcdUSB 值判断协议版本:lsusb -t输出关键解析:/: Bus 02.P……

    2025年7月27日
    6200
  • linux中如何开ftp服务器配置

    Linux 中,安装 vsftpd 软件包,编辑配置文件 /etc/vsftpd.

    2025年8月15日
    5300
  • 提权前如何做好信息收集?

    在Linux系统中,提权(Privilege Escalation)指用户从普通权限提升至更高权限(如root)的过程,必须强调:未经授权的提权属于违法行为,本文仅用于安全研究、渗透测试或系统防御学习,操作需在合法授权环境下进行,在尝试提权前,需全面收集系统信息:系统版本 uname -a # 内核版本cat……

    2025年6月14日
    6900
  • Linux系统安装Nginx的具体步骤和方法有哪些?

    nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯程序员Igor Sysoev开发,因其轻量级、高并发、低资源消耗的特点被广泛应用于Web服务、负载均衡、反向代理等场景,在Linux系统上安装nginx是搭建基础服务的关键操作,本文将详细介绍主流Linux发行版下通过包管理器和源码编译两种方式安装ngi……

    2025年9月28日
    3500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信