热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

linux中的用户ID分类

unix环境高级编程中进程一节提到了实际用户ID(RUID),有效用户ID(EUID)和设置用户ID(SUID)的概念。RUID是当前登陆linux系统用户的ID,EUID是表示某个用户对当前可执行程

unix环境高级编程中进程一节提到了实际用户ID(RUID),有效用户ID(EUID)和设置用户ID(SUID)的概念。

RUID是当前登陆linux系统用户的ID,EUID是表示某个用户对当前可执行程序所具有的有效权限,SUID是设置用户对当前程序的修改以及可执行权限。

下面着重介绍EUID和SUID:

linux@ubuntu:/$ ll /etc/passwd
-rw-r--r-- 1 root root 1856 Jul 16  2013 /etc/passwd

输出rw-r--r-- root root 这表示当前用户对此文件具有读写,组用户和其他用户具有只读权限。这里RUID为linux,当前只有EUID为linux的用户具有写的权限,其他用户则没有


linux@ubuntu:/$ ll usr/bin/passwd
-r-sr-xr-x 1 root root 41284 Apr  8  2012 usr/bin/passwd*

输出的权限标识中有了字母s,这表示此文件绑定了SUID,也就是具有了设置有效用户对文件的修改和可执行权限。特别注意的是SUID是与文件绑定的。


奇怪的问题是我们的linux用户可以修改passwd:

linux@ubuntu:/$ passwd
Changing password for linux.
(current) UNIX password: 

也就是具有了对当前文件的写权限,这正式s标示的左右,修改了EUID权限从linux变为root权限,而root用户具有写的权限,密码修改完成后再切换到linux用户之前的权限,保证文件的安全。

我们可以修改标示位去掉s,此时就会报错,进一步证实了s为设置EUID



推荐阅读
  • 本文深入探讨了UNIX/Linux系统中的进程间通信(IPC)机制,包括消息传递、同步和共享内存等。详细介绍了管道(Pipe)、有名管道(FIFO)、Posix和System V消息队列、互斥锁与条件变量、读写锁、信号量以及共享内存的使用方法和应用场景。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 本文介绍Linux中的Diff命令,该命令用于逐行对比两个文本文件,展示它们之间的差异。通过系统性检查,它能有效标识出文件间所有不同的行,无需事先对文件进行排序。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
author-avatar
汽车之家马甲小宝宝_457
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有