讨论unix进程的设置用户ID,有效用户ID,保存设置ID,文件的设置位

进程的“实际用户ID”、“有效用户ID”、“保存设置用户ID”和“设置用户ID位”辨析 概述 进程用户ID的种类 进程的用户ID有3种: ID名称 说明 实际用户ID(RUID) 登录时取自口令文件,只能由root修改 有效用户ID(EUID) 用于权限检查,初始值为RUID,可由exec或setuid函数更改 保存的设置用户ID(SUID) 是EUID的副本,用于恢复EUID 下面详细讲解这3种ID。 实际用户ID(RUID) 实际用户ID说明了我们实际... 阅读详情
目的:
       讨论unix进程的设置用户ID,有效用户ID,保存设置ID,文件的设置位在进程权限上的问题。
基础知识:
       进程关联ID:
  每个进程运行时都附带有用户ID和组ID属性,当对一个文件或设备进行操作时,内核会用进程的有效或实际用户(或组)ID去测试这个文件的3组权限位(用户,组,其他),当为真时才执行,否则保存:
  1.实际用户ID,组ID:执行这个程序的用户和其所在的组
  2.有效用户ID,组ID:操作文件时,内核用于测试权限的用户和组。通常和实际用户ID和组ID一致,但可以通过stat.st_uid、stat.st_gid进行改变。
  3.保存的设置用户ID,组ID:该进程调用exec()函数族传递给新进程的有效用户ID和组ID,是当前的有效用户ID和组ID的一个副本。
  说明:
    1.通常进程操作文件时,内核都用有效用户ID(或组ID)去测试文件的相应权限位。
    2.对于access()调用,内核将使用实际用户ID(或组ID)去测试权限位。
    **3.当可执行文件(程序)设置了设置位后,其保存设置用户ID和组ID将被设置成所有者用户ID和组ID,一旦被exec()函数调用,即执行,那进程的有效用户ID和组ID将被设置成保存设置用户ID和组ID,即可执行文件的用户ID和组ID,如果不是进程的实际用户不是ROOT用户,则权限可以被增加或减少(非常重要的运用)**
    为了说明设置位,用passwd命令解释:
    #ls /usr/bin/passwd /etc/passwd -l
    -rw-r--r-- 1 root root  1008 2013-04-03 14:00 /etc/passwd
    -rwsr-xr-x 1 root root 37140 2011-02-15 06:11 /usr/bin/passwd
    众所周知,passwd命令是同伙改变/etc/passwd中相应用户的密码字段来实现。观察/etc/passwd可以知道,只有root用户才有写的权限。
    那么其他普通用户为何也能改变其内容呢?通过/usr/bin/passwd的权限可以看出该文件被设置了设置用户ID位(设置位),那么在其他用
    户调用passwd时,该进程在修改/etc/passwd的内容时,它的有效用户ID被设置成/etc/passwd的保存的设置用户ID(root),经过内核测试后,
    确认可以写入内容,故该进程虽然有其他普通用户调用,但它可以改变了/etc/passwd的内容,从而改变它自己的密码。
      以上解释对组ID也实用。
Open3D 教程学习指南 (持续整理) Open3D 是一个开源库,旨在为 3D 数据处理提供高效且易用的工具。它由 Intel 开发和维护,支持多种 3D 数据处理任务,如点云处理、3D 重建、几何处理和可视化等。 阅读详情

相关推荐

汽车ECU开发必看:AUTOSAR存储管理模块NvM的5个实战技巧

本文聚焦汽车ECU开发中AUTOSAR存储管理模块NvM的实战应用,分享了五个源自量产项目的核心技巧。内容涵盖Class 3配置的精细调优、稳健冗余策略的构建、读写性能的毫秒级优化、典型工程问题的解决方案以及高效的集成测试方法,旨在帮助开发者规避常见陷阱,实现可靠、高效的存储方案。

weixin_29192211的博客 275

Unix进程相关用户ID、用户组ID详解

文章目录Unix文件相关属性文件属性操作相关命令进程相关ID设置用户ID和设置组ID文件访问权限进程操作文件更改用户ID和组ID 我们在使用类UNIX系统时,经常会涉及到各种ID,比如,文件属性相关的用户ID、组ID、其他ID,进程运行时相关的6个ID:实际ID、实际组ID、有效ID、有效组ID、保存的设置用ID、保存的设置组ID。 实际使用过程中,我们经常搞混各个ID基本概念和使用方式,所以,本...

飞翔de刺猬 2822

英飞凌AURIX™ TC3xx系列MCU的ISO 26262安全机制实战:从安全手册到代码集成的避坑指南

本文深入探讨英飞凌AURIX™ TC3xx系列MCU的ISO 26262安全机制实战应用,重点解析锁步核配置、ECC策略优化及SafeTlib库集成中的关键问题。通过代码示例和配置建议,帮助开发者实现ASIL D级别安全性,规避常见陷阱,提升汽车电子系统的功能安全合规性。

weixin_42558093的博客 404

UNIX再学习 -- 用户 ID 和组 ID

用户 ID和组 ID 的内容已经在好几章中出现过了。之前都没有讲到,现在放到一起总结。一、用户 ID 和 组 ID 回顾1、我们在APUE 第 4、6、8 章,都有涉及到。其中我们常用到的地方:(1)修改文件权限参看:UNIX再学习 -- 文件和目录chgrp命令 功能:改变文件或目录的属组。chown 命令 功能:更改某个文件或目录的属主和属组。# ls -l 总用量 16 -rwxr-xr-x

不积跬步,无以至千里 2373

【UE5】UE5 Dedicated Server专用服务器与网络同步

这篇文章是个人在学习UE4的网络同步方面的内容的一些记录,因为UE5出来了,顺带也一起熟悉熟悉UE5,所以也就直接使用UE5来实践了。说句实在话,UE4网络同步这块确实挺难的,我自己在网上搜索的博客的内容要么停留在很浅层面只搭建一个ds服务器,要么就直接深入源码去剖析UE4的网络机制,处在中间层面的内容少之又少,不得不自己好一阵研究,强烈推荐这几位博主的博文,我在学习的过程中也从中受益匪浅。 Ken_An、风蚀之月、 刘东无敌还有我师傅推荐给我的一本关于UE4网络的PDF。 一、什么是Dedicated

Goulandis 3万+

linux:有效用户id、实际用户id、设置用户id

有效用户id、实际用户id、设置用户id概念更改用户ID以下内容均来自https://www.cnblogs.com/stemon/p/5287631.html的内容实例分析一: 概念 实际用户id(RUID,进程特有的概念): 在开机时,你输入的账号的对应id就是实际用户uid,说白了就是登录号,站在用户的角度上看。 有效用户id(EUID,进程特有的概念): 一般和RUID相同,站在操作系统的...

u010919133的专栏 1万+

基于STM32L4XX、HAL库的CH182H1以太网收发器(PHY)驱动程序设计

define PHY_REG_PHYSCR 0x12 // PHY特殊控制寄存器。#define PHY_REG_PHYSTS 0x10 // PHY状态寄存器。#define PHY_REG_PHYIDR 0x11 // PHY标识寄存器。#define PHY_REG_ID1 0x02 // PHY标识符1。#define PHY_REG_ID2 0x03 // PHY标识符2。

zhusl6688的博客 404

unix中实际用户ID、有效用户ID、保存的设置用户ID的区别和作用

介绍unix系统中的实际用户id、有效用户id、保存的设置用户id

weixin_48344581的博客 1207

手把手教你学Simulink--基于Simulink的微电网用DC-DC变换器仿真建模

微电网概述微电网:包括可再生能源发电设备、储能系统和负载,可以独立于大电网运行,也可以并网运行。重要性提高能源可靠性:通过本地化供电减少对外部电网的依赖。促进可再生能源利用:支持高效整合多种可再生能源。挑战多源管理:不同类型的能源产生方式各异,需设计灵活的电源管理系统。能量转换效率:需要高效的能量转换装置来确保能源的有效利用。通过上述步骤,我们简要介绍了如何基于Simulink进行微电网中DC-DC变换器的仿真建模。

MHD0815的博客 161

手把手教你学simulink(12.10)--设计和仿真一个用于控制飞机纵向运动(高度和速度)的多变量控制系统

飞机的纵向运动控制是航空工程中的一个重要问题,涉及飞机的高度和速度的精确控制。多变量控制系统可以同时控制多个飞行参数,确保飞机在最佳条件下运行。Simulink提供了一个强大的平台,用于建模、仿真和分析动态系统,非常适合设计和测试多变量控制系统。通过本项目的实施,我们成功设计和仿真了一个用于控制飞机纵向运动(高度和速度)的多变量控制系统。该项目展示了从系统建模、控制器设计、仿真验证到结果分析的完整流程,为多变量控制系统的设计提供了有价值的参考。

MHD0815的博客 598

设置用户ID位的那回事

关于这个知识点,让我一段时间都觉得很难了解!经过了几章的学习,有点慢慢了解这个怎么一回事情。 每一个进程其实对应了6个以上的ID,它们分别是 实际用户ID,实际组ID 有效用户ID,有效组ID,附加组ID 保存设置用户ID,保存设置组ID         实际用户ID,就是当前执行这个进程的ID,比如我现在是andrew用户,那么我执行main程序,那么这个main的实际用户

Android's Blog 7510

C#上位机开发揭秘:从新手到大神的蜕变之路,代码实例全解析!

上位机通常是与硬件设备(如嵌入式系统、PLC、传感器等)进行通信的计算机程序。它的作用是通过某种通信协议(如串口、TCP/IP 等)向设备发送命令,并接收设备的反馈数据。上位机需要有一个图形用户界面(GUI)来展示数据或控制硬件设备。通过本篇教程,我们介绍了 C# 上位机开发的基本步骤,从串口通信的实现,到图形用户界面的构建,再到进阶功能的实现。作为上位机开发的新手,掌握这些基础知识是非常重要的。而随着经验的积累,你可以逐步尝试更复杂的功能,比如多线程处理、数据分析与存储等。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 4828

有效uid 实际uid 保存的设置用户ID

         《unix环境高级编程》8.11里提到的用户实际ID,有效用户ID,保存的设置用户ID概念的时候,我卡住了,上网找了一个帖子,对此做了详细的说明。收藏了。 7.6 THE USER ID OF A PROCESS 内核会给每个进程关联两个和进程ID无关的用户ID,一个是真实用户ID,还有一个是有效用户ID或者称为setuid(set user ID)。真实用户ID用于标识由谁为

Neil的专栏 4436

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

用户实际ID,有效用户ID,保存的设置用户ID(zhuan)

 《unix环境高级编程》8.11里提到的用户实际ID,有效用户ID,保存的设置用户ID概念的时候,我卡住了,上网找了一个帖子,对此做了详细的说明。收藏了。7.6 THE USER ID OF A PROCESS内核会给每个进程关联两个和进程ID无关的用户ID,一个是真实用户ID,还有一个是有效用户ID或者称为setuid(setuserID)。真实用户ID用于标识由谁为正在运行的进程负责。有

青青的专栏--C/C++ OOA/D Design Pattern 1229

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

unix中的设置用户ID位——set-uder-ID

与一个进程相关的ID:  -实际用户ID与实际用户组ID——登录时参考口令文件(etc/passwd),表明我是谁  -有效用户ID、有效组ID与附加组ID——用于访问文件的权限检查  -保存的设置用户ID与保存的设置组ID——由exec函数保存 设置用户ID位的使用: 当执行一个程序文件时,进程的有效用户ID通常是实际用户ID。但当对该文件设置了set-user-ID位(通常也

hi! 1398

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Unix 设置用户ID和文件访问权限

设置用户ID为了说明问题,我们首先创建一个可执行程序,名字为setuid,其文件信息如下:-rwxrwxr-x 1 lhl lhl 7265 4月 6 21:20 setuid*通过finger命令可以知道系统当前的登录信息:Login Name Tty Idle Login Time Office Office Phone lhl lhl

飞翔de刺猬 2620

实际用户ID,有效用户ID与保存设置用户ID

real user ID:实际用户ID,指的是进程执行者是谁 effective user ID:有效用户ID,指进程执行时对文件的访问权限 saved set-user-ID:保存设置用户ID,作为effective user ID的副本,在执行exec调用时后能重新恢复原来的effectiv user ID. 上面这三个ID是相对于进程而言的. set-user-ID:

张勤一 3347

实际用户ID、有效用户ID、设置用户ID的区别

整理自http://bbs.chinaunix.net/thread-820766-1-1.html 之前看《UNIX环境高级编程》没明白书上说的,后来Google搜到了这个帖子,读了发现很通俗易懂,记录一下,方便下次再读。 一个进程的 real user ID 是指运行此进程的用户角色的 ID。 一个进程的 effective user ID 是指此进程目前实际有效的用户 ID(也

felix_vip的专栏 1203

Linux进程的实际用户ID和有效用户ID

在Unix进程中涉及多个用户ID和用户组ID,包括如下: 1、实际用户ID和实际用户组ID:标识我是谁。也就是登录用户的uid和gid      比如我的Linux以oyjb登录,在Linux运行的所有的命令的实际用户ID都是oyjb的uid,实际用户组ID都是oyjb的gid(可以用id命令查看) 2、有效用户ID和有效用户组ID:进程用来决定我们对资源的访问权限    

蓝旭晨枫╮ 1194

进程控制之更改用户ID和组ID

1. 更改用户ID和组ID1.1. 设置用户ID和设置组ID与进程相关联的ID有6个或更多,如下:实际用户ID我们实际上是谁实际组ID有效用户ID用于文件访问权限检查有效组ID附加组ID保存的设置用户ID由exec函数保存

缘起宇轩阁 3188

实际用户ID,有效用户ID与保存设置用户ID(转自:http://blog.youkuaiyun.com/dlutbrucezhang/article/details/8806015)

real user ID:实际用户ID,指的是进程执行者是谁 effective user ID:有效用户ID,指进程执行时对文件的访问权限 saved set-user-ID:保存设置用户ID,作为effective user ID的副本,在执行exec调用时后能重新恢复原来的effectiv user ID. 上面这三个ID是相对于进程而言的. set-user-ID:

liu09110003420的专栏 922

《unix高级环境编程》进程控制——进程ID

进程ID 在unix系统中,每个进程都有一个非负整型

关注校招求职,微信号:job_campus 1327

linux中如何设置组id,linux 下设置用户ID 和 设置组ID 学习笔记

因为某种原因 感觉心里一直有想把Unix有关文件权限编程这部份弄懂的想法, 所以第三遍看Unix高级编程第四章, 以前都是一眼带过, 根本没看吃透, 再次看感觉懂了蛮多的, 写下了以后复习用!一: 一个进程相关的ID主要有:实际用户ID 实际组ID : 标识空间我们是谁, 登录时取自口令文件登录项,登录会话期间一直不变,超级用户可改变有效用户ID 有效组ID : 决定了我们的文件访问权限,也...

weixin_31991991的博客 2337

进程的用户ID探究

作者:程姚根,华清远见嵌入式学院讲师。 一、进程与权限 A.进程是Linux/Unix操作系统中最重要的抽象之一。 B.进程是一个处于执行期的程序(目标代码存储在某种介质上) A process is a program(object code stored on some media) in the midst of execution. 而进程在执行过程中经常涉及到文件访问操作等。

farsightliuht的专栏 450
上一篇: 练习coding~
下一篇: hash_map和map
otuhacker
博客等级 码龄18年 21粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值