博客
关于我
Linux系统用户和权限管理
阅读量:792 次
发布时间:2023-02-05

本文共 2587 字,大约阅读时间需要 8 分钟。

Linux用户管理权限详解

在Linux系统中,用户和权限的管理是系统安全和维护的重要环节。本文将详细介绍Linux系统中用户划分、权限模型、加密算法以及用户和组的管理命令。

一、用户分类

在Linux系统中,用户划分非常重要。系统通常将用户分为管理员用户和普通用户两类。普通用户又可以进一步划分为系统用户和登录用户。

  • 管理员用户:拥有完整的系统管理权限,通常对应UID为0。
  • 普通用户
    • 系统用户:仅用于运行服务程序,登录用户:系统资源的正常使用者。
    • 登录用户:用于日常登录访问系统。

用户标识

每个用户都有唯一的标识符,称为UID(用户ID)。在Linux系统中,UID由16位二进制数表示,转换为十进制后,Centos5使用0-99999,而Centos7则是1-999。

  • 普通用户
    • UID为65535(0xFFFF):通常用于普通用户。
    • UID从1000及以上:通常为管理员账号,管理员可以执行操作后切换回普通用户身份,以确保系统安全。

用户解析库

Linux系统通过解析库将用户名与UID一一对应,并存储其他属性信息。这种对应关系可以通过/etc/passwd/etc/shadow文件查看。

二、权限模型

Linux权限模型基于文件的属主和属组来决定访问权限。具体流程如下:

  • 判断进程的运行者是否与文件的属主相同:
    • 如果是,则以文件的属主身份访问。
    • 否则,判断是否属于文件的属组:
      • 如果是,则以属组身份访问。
      • 否则,以“其他”身份访问。
  • 安全上下文

    在Linux系统中,文件权限分为三类用户:属主(u)、属组(g)、其他(o)。每个用户对应的权限由rwx三个字符表示:

    • r:可读
    • w:可写
    • x:可执行

    三、加密算法

    对于文件加密,Linux采用单向加密算法,特点如下:

  • 定长输出:加密后数据长度固定。
  • 加密原理:通过message digest算法(如SHA-224、SHA-256等)将数据加密。
  • 常用算法
    • SHA-224
    • SHA-256
    • SHA-384
    • SHA-512
  • 加密方式

    在加密过程中,通常使用salt(盐)生成随机数。有两种方式:

    • 熵池:通过硬件生成随机数,如键盘敲击时间间隔。
    • 伪随机数:软件生成具有规律的随机数。

    /dev/random/dev/urandom中,/dev/random仅从熵池获取随机数,耗尽时会阻塞进程。

    四、用户和组管理命令

    1. 添加用户

    命令格式:

    useradd [选项] loginname

    常用选项

    • -D, --default: 使用默认配置文件。
    • -g, --gid: 设置用户组。
    • -u, --uid: 设置用户ID。
    • -s, --shell: 设置用户默认shell。
    • -c, --comment: 设置注释信息。
    • -m, --create-home: 创建用户家目录。
    • -e, --expiredate: 设置账户过期日期。
    • -f, --inactive: 设置非活动期。
    • -L, --lock: 锁定账户。
    • -U, --unlock: 解锁账户。

    示例命令

    useradd -c TestUSER -d /home/testuser -g 5001 -G 5000 -u 1010 -s /bin/csh testuser1

    2. 修改用户

    命令格式:

    usermod [选项] loginname

    常用选项

    • -d, --home: 修改用户家目录。
    • -g, --gid: 修改用户组。
    • -a, --add: 向组中添加用户。
    • -s, --shell: 修改用户默认shell。
    • -u, --uid: 修改用户ID。
    • -o: 设置非唯一UID。
    • -L, --lock: 锁定账户。
    • -U, --unlock: 解锁账户。

    3. 删除用户

    命令格式:

    userdel [选项] loginname

    常用选项

    • --remove-home: 删除用户家目录。
    • -t, --trash: 删除用户后同时删除邮箱(慎用)。

    4. 设置密码

    命令格式:

    passwd [选项] username

    常用选项

    • -u: 解锁密码。
    • -d: 清除密码。
    • -n: 设置最短使用期限。
    • -w: 设置过期警告期限。
    • -i: 设置非活动期。
    • --stdin: 从标准输入设置密码。

    5. 查看用户信息

    命令格式:

    id [选项] ...

    常用选项

    • --uid: 显示用户ID。
    • --gid: 显示用户组ID。
    • --group: 显示用户所属组。
    • --user: 显示完整用户信息。

    6. 切换用户

    命令格式:

    su [选项] username

    常用选项

    • -l: 不读取用户配置文件(非登录切换)。
    • -s: 读取并执行用户配置文件(登录切换)。

    五、组管理

    1. 添加组

    命令格式:

    groupadd [选项] groupname

    常用选项

    • -g: 设置组ID。

    2. 修改组

    命令格式:

    groupmod [选项] groupname

    常用选项

    • -g: 修改组ID。
    • -a: 向组中添加用户。

    3. 删除组

    命令格式:

    groupdel groupname

    4. 组密码管理

    命令格式:

    gpasswd [选项] username

    常用选项

    • -a: 向组中添加用户。

    六、文件权限管理

    1. 改变文件属主

    命令格式:

    chown [选项] ... filename

    常用选项

    • --reference=RFILE: 参考文件的权限。
    • R: 递归修改权限。

    2. 改变文件权限

    命令格式:

    chmod [选项] ... filename

    常用选项

    • --reference=RFILE: 参考文件的权限。
    • R: 递归修改权限。

    3. 查看文件权限

    命令格式:

    ls -l

    输出示例

    drwxr-xr-x. 2 root root 84 3月 12 12:34 filename

    4. 文件权限模型

    文件权限由三类用户(u, g, o)对应的rwx权限决定:

    • r:可读
    • w:可写
    • x:可执行

    七、遮罩码(umask)

    遮罩码用于限制文件创建权限,默认值通过umask命令设置。常见遮罩码包括:

    • 777: 全权限
    • 770: 可读、可写、可执行

    通过修改umask,可以限制文件的访问权限,提升系统安全性。

    转载地址:http://xokfk.baihongyu.com/

    你可能感兴趣的文章
    Linux系统报错NMI watchdog: BUG: soft lockup - CPU#5 stuck for 24s
    查看>>
    Linux系统搭建我的世界Java版服务器并实现Minecraft联机游戏教程
    查看>>
    Linux系统搭建轻量级个人博客VanBlog并一键发布公网远程访问
    查看>>
    Linux系统操作命令
    查看>>
    Linux系统数据备份不再头疼,Rdiff-backup来帮忙
    查看>>
    Linux系统数据实时备份工具
    查看>>
    Linux系统文件有三个主要的时间属性
    查看>>
    Linux系统日志管理
    查看>>
    Linux系统服务器上安装Apache
    查看>>
    Linux系统服务器上安装MySQL
    查看>>
    Linux系统服务器上安装PHP
    查看>>
    Linux系统本地部署MongoDB数据库并实现远程访问方法指南
    查看>>
    Linux系统查看JDK的安装路径
    查看>>
    linux系统查看电脑设备型号,Linux系统查看硬件信息
    查看>>
    Linux系统查看系统信息命令(比较全)
    查看>>
    Linux系统状态分析与监控工具详解
    查看>>
    Linux系统环境变量和别名设置(永久生效和临时生效)
    查看>>
    Linux系统用户和权限管理
    查看>>
    linux系统监控与硬盘分区/格式化/文件系统管理
    查看>>
    Linux系统程序安装(三)源码包安装程序
    查看>>