Linux账号权限如何设置最安全?,最小权限原则怎样守护Linux?,你的Linux账号权限真的安全吗?

用户与组管理

  1. 创建用户

    sudo useradd -m -s /bin/bash username  # -m创建家目录,-s指定shell
    sudo passwd username                  # 设置密码
  2. 创建用户组

    sudo groupadd groupname
  3. 将用户加入组

    sudo usermod -aG groupname username   # -aG追加组(不覆盖原有组)
  4. 查看用户所属组

    groups username

文件/目录权限控制

Linux权限分为三类:

  • 所有者(u)所属组(g)其他用户(o)
  • 权限类型:读(r=4)、写(w=2)、执行(x=1)
  1. 修改文件所有权

    sudo chown username:groupname filename  # 同时修改所有者和组
    sudo chown username filename           # 仅修改所有者
    sudo chgrp groupname filename          # 仅修改所属组
  2. 设置权限值

    sudo chmod 750 directory/              # 示例:所有者rwx,组r-x,其他无权限
    • 权限值计算
      • 所有者:7 = 4(r)+2(w)+1(x)
      • 所属组:5 = 4(r)+0(w)+1(x)
      • 其他用户:0
  3. 递归修改目录权限

    sudo chmod -R 755 /path/to/dir/        # -R递归子目录

高级权限设置

  1. SUID(Set User ID)

    • 文件执行时临时获取所有者权限
      chmod u+s /usr/bin/script.sh  # 设置SUID(权限显示为rws)
  2. SGID(Set Group ID)

    • 目录中新文件继承父目录组
      chmod g+s /shared_dir/        # 设置SGID(权限显示为rws)
  3. 粘滞位(Sticky Bit)

    • 仅文件所有者可删除自己的文件(适用于公共目录)
      chmod +t /tmp/                # 设置粘滞位(权限显示为rwt)

权限管理最佳实践

  1. 最小权限原则

    • 普通用户禁止sudo权限,需操作时通过visudo单独授权:
      username ALL=(ALL) /usr/bin/apt   # 仅允许该用户使用apt命令
  2. 关键目录权限建议
    | 目录 | 推荐权限 | 说明 |
    |—|—|—|
    | /etc | 755 | 系统配置目录 |
    | /var/log | 700 | 日志目录(仅root可读) |
    | 用户家目录 | 700 | 禁止其他用户访问 |

  3. 定期审查权限

    # 查找所有SUID/SGID文件(潜在风险点)
    find / -perm /6000 -type f -exec ls -ld {} \;
    # 检查全局可写文件
    find / -perm -o+w -type f ! -path "/proc/*" -exec ls -l {} \;

安全加固措施

  1. 禁用root远程登录
    编辑/etc/ssh/sshd_config

    PermitRootLogin no
  2. 使用SSH密钥认证

    ssh-keygen -t ed25519              # 生成密钥对
    ssh-copy-id user@remote-server     # 部署公钥
  3. 配置密码策略

    • 修改/etc/login.defs
      PASS_MAX_DAYS 90    # 密码有效期
      PASS_MIN_DAYS 7     # 修改间隔
    • 安装libpam-pwquality强化密码复杂度。

故障排查

  • 权限拒绝(Permission Denied)
    1. 检查用户所属组:groups username
    2. 查看文件权限:ls -l /path/to/file
    3. 审查SELinux状态:sestatus(若启用需调整策略)

引用说明

  • 权限模型依据Linux Filesystem Hierarchy Standard
  • 安全建议参考CIS Linux Benchmarks
  • 命令文档来源Linux man pages

通过精细化权限控制,可显著降低未授权访问风险,建议结合审计工具(如auditd)定期扫描系统,确保权限策略持续有效。

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

(0)
酷番叔酷番叔
上一篇 2025年7月31日 19:16
下一篇 2025年7月31日 19:45

相关推荐

  • Linux环境下如何打开.db文件的具体方法是什么?

    在Linux操作系统中,.db文件通常是SQLite数据库文件的扩展名,SQLite是一种轻量级、基于文件的嵌入式数据库,无需独立服务进程,广泛应用于本地数据存储场景,少数情况下,.db文件也可能是其他数据库(如MySQL的MyISAM表文件)的存储格式,但Linux下最常见的是SQLite数据库,打开.db文……

    2025年8月30日
    3500
  • 在Linux操作系统中,如何具体使用命令查看CPU的详细信息?

    在Linux系统中,查看CPU信息是系统管理和性能优化的基础操作,通过多种命令可以获取CPU的型号、核心数、频率、缓存等详细信息,以下将详细介绍常用命令及其使用场景,帮助用户全面掌握CPU信息的查看方法,使用lscpu命令查看CPU概览信息lscpu是Linux中最常用的CPU信息查看工具,它从/proc/cp……

    2025年8月31日
    3200
  • Linux run目录,为何关键却常被忽视?

    /run目录的作用/run是一个临时文件系统(tmpfs),挂载在内存中,用于存储系统启动后生成的运行时数据:临时性:所有数据仅存在于内存中,系统重启后自动清空,动态更新:存放进程ID(PID)、锁文件(lock files)、套接字(sockets)等实时变化的信息,权限隔离:不同服务的数据存储在以自身命名的……

    2025年6月22日
    5800
  • Linux系统下当前如何查看守护进程的运行状态及详细信息?

    守护进程(Daemon)是Linux系统中在后台持续运行的进程,它们没有控制终端,主要用于提供系统服务,如Web服务、数据库服务、日志记录等,管理员需要定期检查守护进程的运行状态,确保服务正常可用,同时排查异常问题,本文将详细介绍Linux系统中查看守护进程的多种方法,包括基础命令、系统管理工具及状态分析技巧……

    2025年9月18日
    2700
  • linux下如何查看组

    Linux下,可以使用groups命令查看当前用户所属的组,或使用`cat

    2025年8月19日
    3300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信