7.1.1 用户身份的鉴别方式
用户是操作系统中不可或缺的角色,每个操作系统中至少拥有一个或以上数量的用户,由于用户可对系统的数据、资源等具有一定的操作权限,因此如何对能够登录系统的用户进行有效地控制就成了系统安全的一道防线。

  1. 基于ID的用户身份识别
    在Linux系统下不同用户间的身份是靠它拥有一无二的ID(identification)来区分,ID是每个用户名称所对应的一个整数数字,这个数字也是用户权限的象征,ID值在一定范围内的用户它们就有相同的权限。
    在系统下的ID有UID(User Identification)和GID(Group Identification)这两类,通常情况下UID与GID是相同的,这是在创建用户是系统为每个用户分配的。UID所对应的用户有系统管理员、虚拟用户(伪用户)和普通用户这三类,不管有多少个用户名只要UID相同那么系统都将它们视为同一个用户。从配置文件的层面上说,用户在登录需要时,系统是根据/etc/passwd文件中该用户名所对应的UID来为这个用户初始化工作环境。
    对于UID的类型,其共有实际UID、有效UID和保存的设置UID这三类,实际UID是用于标明进程具体的执行者,有效UID是标明进程执行时对文件的访问权限,保存的设置UID是用于标识可执行程序文件的设置UID位。当然,这三个概念则是相对于系统的进程来说的。
  2. 基于PAM模块的用户身份认证
    系统安全和系统资源地合理使用确实是一件让系统管理员头痛的事情,在一个系统中对使用应用程序或服务的用户身份确认、限制用户访问服务的时间段及限制应用程序或服务对系统资源的使用率等等这些问题常规的安全措施并不能妥善地解决。
    自Red Hat Enterprise Linux的第3版起,其内核已集成了一种叫做可插入式认证模块(Pluggable Authentication Modules,PAM)的安全验证方式(当然,作为新功能测试的免费发行版的Linux系列也具有PAM功能),可插入认证模块是基于模块化的设计,它是一种可插入且独立于应用程序之外的认证功能模式。
    在某个应用程序或服务需要PAM验证时,只要此应用程序或服务支持PAM验证功能就可以通过修改PAM相关的配置来实现相应的验证方式,而在应用或服务重启时PAM模块就会通过专用API来读取它的配置文件,并根据配置来提供相应的验证功能,所有的这些验证功能都是基于一些库文件来提供。比如,某个用户在登录Linux系统时Login进程就为用户提供登录系统的服务(提供用户名和密码输入的窗口来验证用户的有效性),而在使用PAM功能后,这个验证过程可以由PAM来代替。
  3. 用户识别和安全认证
    在计算机领域,身份往往与安全关联在一起,因此身份的认证就成其中一个重要的环节。目前实现身份认证的方式是多种多样,在本节中将对一些比较常见的认证方式进行介绍。
    (1)认证和识别的基本概述
    认证就是指用户必须提供自己是谁的证明,但这个证明也仅能在一定范围内有效。对于认证,它的标准方法就是弄清楚这个“用户”是谁,它具有什么特征,及有什么可用于识别它的信息等。通常就是在进行用户的认证前,先在系统中录入关于该用户具有唯一性的特征(如指纹、声纹等),并通过直接或间接的方式进行认证(如通过外接设备、软件APP等方式)。
    当然,对于用户认证中所涉及到的“用户”,这不仅仅是指计算机上的用户账号,也包括使用这些账号的使用者(或称为人),因此在认证方面涉及到两个角色的认证。那么,从狭义的角度上看,本书中所说到的用户认证主要是指计算机上的用户账号而不是账号的使用者,目前比较普遍的认证方式是用户名+密码、账户名+密钥这两种方式,当然也有结合额外如的认证方式,如固定主机/堡垒机登录、VPN认证建立连接等方式的辅助认证。
    作为计算机,它只认账户名和密码的对应性而不检查是谁去提供认证信息,因此只要用户名和密码正确就是正常登录。简单说,要使服务器时就需要先通过操作系统认证才能接入,因此使用者就必须先把用户名和密码推送给服务器,这时用户名和密码就被操作系统拿来与它数据库里的用户名和密码进行匹配,如果相符就通过认证可以建立连接,否则就拒绝建立连接。当然,随着安全认证环境、级别的多样化和安全要求不断提高,这就直接导致认证手段的多样化,比如智能卡技术也是其中的一种认证手段,这类卡把相关的认证信息都集在卡内的芯片内,认证时进行感应就可以,而不需要输入密码等信息,但也不排除双重认证的环境。
    (2)认证的主要方法
    对于认证方式上,目前已经存在有多种不同的方式,这些认证方式都是为了解决安全问题,因此各个公司、机构就想尽办法解决用户身份认证的问题。就目前而言,认证的方式主要存在有以下的这几种。
    双重认证:简单说就是同时采取两种认证方式,但这不仅仅是两个单一认证方式的组合,而是按照先后顺序并保证认证信息的有效性的认证方式,复杂点的可能要采取交叉式认证的方式。采用有两种形式的认证方法,比较常见的有包括令牌、智能卡和仿生装置(如视网膜或指纹扫描器)等。
    数字证书:这是一种检验用户身份的电子文件或称为证书,这是企业普遍采用的一种认证方式。数字证书提供更强的访问控制和更高的安全性和可靠性,随着行业对管制的放松,数字证书的使用范围也会越来越广泛,而它的使用权限就能够通过购买的方式来获取授权。
    智能卡:智慧卡是将信息存储在卡内的芯片上,信息可以持续较长的存储,使用灵活、信息量多,而且还具有可选择的管理方式。
    全电子交易(SET,Secure Electronic Transaction)协议:它是为完善即时电子支付而诞生,是目前最为完整最为权威的电子商务安全保障协议,也是目前公认的网上交易标准。

Linux用户身份的鉴别方式相关推荐

  1. linux 用户身份与进程权限

    基本概念 用户 对于支持多任务的 Linux 系统来说,用户就是获取资源的凭证. 权限 权限用来控制用户对计算机资源(CPU.内存.文件等)的访问,一般会分为认证和授权两步.比如用户先经过认证机制(a ...

  2. Linux 用户认证(crypt方式)

    最近做的一些开发和Linux用户有密切的关系,以前没有做过相关的学习,仅仅停留在使用shell下的useradd, passwd命令,但对用户的认证及密码的管理基本没有了解.在这里做个小结. 1. 第 ...

  3. 计算机问题在线解答,信息安全技术题库:()用于对计算机或用户的身份进行鉴别与认证。...

    相关题目与解析 计算机信息系统的身份鉴别机制表现形式有()A.用户名和口令B.USBKeyC.加密狗D.指纹 处理秘密级.机密级信息的涉密计算机系统的身份鉴别尝试次数连续达()次后,系统应锁定该用户账 ...

  4. 03 linux用户权限和软件安装与管理

    文章目录 linux用户权限和软件安装与管理 1. 用户.用户组.其他人概述 1.1 用户 1.2 用户组 2. 用户和用户组管理 2.1 Linux用户身份与用户组记录的文件 2.2 Linux系统 ...

  5. 华为帐号服务升级,助力应用快速验证用户身份

    目前,在电商.金融.社交等多种行业的APP中,"帐号+短信验证码"已成为验证用户身份的主流方式.短信验证具有易操作.安全性高.成本低的优势,在用户注册.登录.绑定手机号等许多场景中 ...

  6. Linux用户至今仍无法完成的七项任务

    作为一位Linux用户群体中的铁杆成员,我有时候不得不--虽然很不情愿--承认,使用Mac OS X或者Windows确实能让我实现很多在Linux平台上根本无法完成的任务.这些任务无法达成跟Linu ...

  7. Linux用户仍然无法完成的七项任务

    作为一位Linux用户群体中的铁杆成员,我有时候不得不--虽然很不情愿--承认,使用 Mac OS X或者Windows确实能让我实现很多在Linux平台上根本无法完成的任务.这些任务无法达成跟Lin ...

  8. linux以非root身份运行,以非root用户身份在linux中运行mono-service

    我需要在嵌入式系统上以最低Ubuntu安装方式运行.net C#应用程序(在Windows系统上开发)作为服务/守护程序(不包括X,除服务器外SSH,只有相关的软件).我创建了一个/etc/init. ...

  9. 【Linux】切换用户身份(su)

    摘要 本文将讨论 Linux 中如何切换用户身份. 引言 我们用一个例子来说明为什么需要切换用户身份. 测试样例:我们目前是以普通用户的身份来登录终端的,当我们使用 ls /root 命令列出 /ro ...

最新文章

  1. Linux下同步工具inotify+rsync使用详解
  2. 关于Hibernate异常:只进 ResultSet 不支持请求的操作
  3. nodejs连接mysql报connect ECONNREFUSED错误的解决方法
  4. 怎样查看was的服务器信息,WAS 查看服务状态
  5. 数据库-优化-通过执行计划查询分析SQL执行计划-每个字段的说明
  6. CF438D-The Child and Sequence【线段树】
  7. 复习HTML CSS(5)
  8. 创建VPC前,网络规划的4个问题你弄清了吗?
  9. 初中级工程师是否应急于学习html5?
  10. vcpkg快速入门手册
  11. 利用IDEA模板快速生成swagger注解
  12. 工业智能网关BL110应用之四十三:网口采集欧姆龙PLC的配置
  13. 苹果cms海螺大橙子首途v7模板源码
  14. vs2010中正确加载gif格式图片
  15. Maven 仓库 .lastUpdated文件
  16. 合肥工业大学宣城校区大学生创新创业训练项目申报书:“基于 Spark 平台的人工智能知识的知识图谱构建”
  17. NCC轻量化开发数据结构总结
  18. Python网络爬虫爬淘宝无法爬取问题的解决方法
  19. js数字转字符串和字符串转数字的方法
  20. mysql reorg 命令_DB2 runstats、reorgchk、reorg 命令

热门文章

  1. gm21模型python_Part.1.E.6.containers.ipynb
  2. android应用 程序结构,Android应用结构
  3. window下创建软连接
  4. cadence 常见pcb电阻_三款常用PCB设计软件Altium Designer,Allegro SPB,PADS综合比较
  5. Python学习(01-09day)
  6. JavaScript聊天框插入表情: 点击表情时输入框失焦, 无法插入到输入框.
  7. 笔记:格林公式 高斯公式 斯托克斯公式
  8. 关于工作站和台式机的区别介绍
  9. oracle addm报告分析,Oracle addm
  10. vue使用axios请求相关配置文件包括跨域配置