文件和目录详解(二)---与进程有关的ID详解

与进程有关的 ID 大概有 6 种左右,如下图所示

======================================================

进程实际用户ID:就是创建此进程的用户的 ID;

进程有效用户ID:是进程用来评定对系统资源访问权限的用户 ID;

进程创建新文件的时候新文件的所有者被设置成进程的有效用户。

保存的设置用户ID:就是用来备份进程有效用户 ID 的;(后面的笔记再详细介绍)

通常情况下,进程的实际用户ID和有效用户ID是相同的。但是如果可执行文件的set-user-id文件权限位被设置了,那么实际用户ID和有效用户ID可能会是不一样的。实际用户ID仍然是创建该进程的用户ID,但是有效用户ID将会变成该可执行文件的所有者用户的ID。

比如说,有一个可执行程序的文件所有者是root用户,而我现在处于普通用户frank下,此时我运行该程序,那么进程的实际用户ID就是frank的ID,而有效用户ID则会变成程序文件的所有者root用户的ID。

典型就有passwd可执行文件,普通用户可以执行这个命令修改自己的密码,其实就是修改/etc/passwd这个文件的内容,而此文件只有root用户才有写权限,原因就是passwd设置了set-user-id位,当普通用户指向passwd命令时,进程有效用户变成了passwd文件的所有者即root用户,故才可以对/etc/passwd文件进行写操作。

前面说的前提是文件的setuid位为被设置了,这个权限位也存在于struct inode结构体中的i_mode成员中。在shell命令中使用chmod命令可以来设置set-user-id位,设置方法为chmod u+s 文件名。

同样对于进程实际用户组ID和进程有效用户组ID也是类似的。

时间: 2024-08-23 00:32:26

文件和目录详解(二)---与进程有关的ID详解的相关文章

Linux基础命令之文件和目录操作(二)

. find 用于查找目录下的文件,也可以调用其他命令使用 find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression] find [选项] [路径][操作语句] options: -depth # 在指定目录下最深层的子目录开始查找 -maxdept levels # 查找最大目录级数,levels为自然数 -regextype type # 正则表达式类型,默认是emacs, tests: -mtime [-n|n|+

Linux文件或目录权限详解

版权声明: ########################################################################### 本文的所有内容均来自作者刘春凯的学习总结,未经本人许可,禁止私自转发及使用. QQ:1151887353 E-mail:[email protected] [email protected] ########################################################################

Linux文件权限详解 文件和目录权限概述

Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个预先指定的用户组中的用户访问:允许系统中的任何用户访问.同时,用户能够控制一个给定的文件或目录的访问程度.一个文件活目录可能有读.写及执行权限.当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件.文件所有者可以将这些权限改变

Linux命令详解--文件与目录查找

一·文件搜索 which:用来查找命令的绝对路径-- 显示shell命令的绝对路径-- 仅仅会在PATH变量中搜索要查找的命令-- 搜索时先查找别名,然后从PATH中查找1.查看用户的PATH变量:命令的搜索路径# echo $PATH/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin command not found可能原因:1)敲错了2)命令没有安装3)命令

Linux中的文件和目录结构详解

当在使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc.usr.var.bin ... ... 等目录,而在这些目录中,我们进去看看,发现也有很多的目录或文件.文件系统在Linux下看上去就象树形结构,所以我们可以把文件系统的结构形象的称为 树形结构. 文件系统的是用来组织和排列文件存取的,所以它是可见的,在Linux中,我们可以通过ls等工具来查看其结构,在Linux系统中,我们见到的都是树形结构:比如操作系统安装在一个文件系统中,它表现为由/ 起始的树

文件和目录详解(一)---stat、lstat和fstat函数详解

记录文件属性的相关数据结构都是存在于内核空间中,在进程的用户空间中是直接访问不到这些数据结构的,只能通过操作系统提供的系统调用来访问.而stat等函数就是操作系统为用户进程提供的用来获取文件属性的系统调用. ======================================================= 函数原型: 函数参数: path:要操作文件的路径名 fd:要操作的文件描述符 buf:存放读取出来的文件属性 返回值: 调用成功时返回 0 调用失败时返回 -1 ========

Linux文件和目录权限详解

一.Linux文件和目录权限管理 1.文件权限说明: (1)r:表示具有读取文件内容的权限: (2)w:表示具有新增,修改文件内容的权限: (3)x:表示具有执行文件的权限,同时需要有r权限: 2.目录权限说明: (1)r:表示具有浏览目录下有哪些文件的权限,必须同时用x权限才可以: (2)w:表示具有新增.删除.移动目录内容文件的权限,同时需要有x权限: (3)x:表示具有进入目录的权限: 3.权限获取顺序 先看用户是不是文件所有者,再看是不是所属组,最后看是不是其他用户,如果是其中一个,就有

【Linux命令详解】2、文件和目录操作管理

2.文件和目录操作管理 本节主要学习在Linux下如何使用命令对文件和目录进行操作,这些命令pwd.cd.ls等. 2.1 pwd:显示工作目录路径 使用pwd命令可以显示当前用户所处的工作目录的绝对路径. 2.1.1命令语法: pwd[选项] 2.1.2参数选项: 选项 选项含义 -L 目录链接时,输出链接路径 -P 输出物理路径 2.1.3实例: 例1:显示用户当前工作目录路径. [[email protected] ~]# pwd /root //用户当前的工作路径是root 例2:显示用

文件和目录权限详解

ls -l 列出当前目录下所有内容的详细信息 第一列第1位表示文件类型: d 目录文件 c 字符设备文件 b 块设备文件 l 软连接文件 s 套接字文件,只能在本地,不能跨网 - 普通文件 p 管道文件,将一些命令的输出作为另一些命令的输入 第一列第2-10位表示权限 234 属主的读.写.执行权限 567 属组的读.写.执行权限 8910 其他人的读.写.执行权限 r 读权限 w 写权限 x 执行权限 - 没有权限 第一列第11位的点 "." 表示跟SELINUX防火墙有关的标记位