16.4 【Linux】特殊文件与程序

简介: 16.4 【Linux】特殊文件与程序

16.4.1 具有 SUID/SGID 权限的指令执行状态

SUID 的权限其实与程序的相关性非常的大!为什么呢?先来看看 SUID 的程序是如何被一般使用者执行,且具有什么特色呢?


SUID 权限仅对二进制程序(binary program)有效;

执行者对于该程序需要具有 x 的可执行权限;

本权限仅在执行该程序的过程中有效 (run-time);

执行者将具有该程序拥有者 (owner) 的权限。

从上表的结果我们可以发现,底线的部分是属于 dmtsai 这个一般帐号的权限,特殊字体的则是 root 的权限! 但你看到了, passwd 确实是由 bash 衍生出来的!不过就是权限不一样!

16.4.2 /proc/* 代表的意义

之前提到的所谓的程序都是在内存当中。而内存当中的数据又都是写入到/proc/* 这个目录下的,我们当然可以直接观察 /proc 这个目录当中的文件。如果你观察过 /proc 这个目录的话,应该会发现他有点像这样:

基本上,目前主机上面的各个程序的 PID 都是以目录的型态存在于 /proc 当中。 举例来说,我们开机所执行的第一支程序 systemd 他的 PID 是 1 , 这个 PID 的所有相关信息都写入在/proc/1/* 当中!若我们直接观察 PID 为 1 的数据好了,他有点像这样:

cmdline:这个程序被启动的指令串;

environ:这个程序的环境变量内容。

如果你查阅一下 cmdline 的话,就会发现:

就是这个指令、选项与参数启动 systemd。如果是针对整个 Linux 系统相关的参数呢?那就是在 /proc 目录下面的文件。相关的文件与对应的内容是这样的:


16.4.3. 查询已打开文件或已执行程序打开之文件

fuser:借由文件(或文件系统)找出正在使用该文件的程序

有的时候我想要知道我的程序到底在这次启动过程中打开了多少文件,可以利用 fuser 来观察。


下面有两个 PID 分别为 13888, 31743 的程序,该程序属于 root且指令为 bash 。 比较有趣的是那个 ACCESS 的项目,那个项目代表的意义为:

c :此程序在当前的目录下(非次目录);

e :可被触发为执行状态;

f :是一个被打开的文件;

r :代表顶层目录 (root directory);

F :该文件被打开了,不过在等待回应中;

m :可能为分享的动态函数库;



通过这个 fuser 我们可以找出使用该文件、目录的程序,借以观察。他的重点与 ps, pstree 不同。 fuser 可以让我们了解到某个文件 (或文件系统) 目前正在被哪些程序所利用。

lsof :列出被程序所打开的文件文件名


pidof :找出某支正在执行的程序的 PID

相关文章
|
9天前
|
Linux
linux中查看某个文件夹下文件的个数和大小
这篇文章介绍了在Linux系统中使用各种命令(如`stat`、`wc`、`du`和`ls`)来查看文件夹下文件的个数和大小的方法。
42 4
linux中查看某个文件夹下文件的个数和大小
|
29天前
|
安全 Linux Shell
Linux上执行内存中的脚本和程序
【9月更文挑战第3天】在 Linux 系统中,可以通过多种方式执行内存中的脚本和程序:一是使用 `eval` 命令直接执行内存中的脚本内容;二是利用管道将脚本内容传递给 `bash` 解释器执行;三是将编译好的程序复制到 `/dev/shm` 并执行。这些方法虽便捷,但也需谨慎操作以避免安全风险。
|
2月前
|
网络协议 Linux
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
144 2
|
2月前
|
Linux
Linux下使用ls查看文件颜色全部为白色的解决方法,以及Linux中文件颜色介绍
Linux下使用ls查看文件颜色全部为白色的解决方法,以及Linux中文件颜色介绍
100 2
|
2月前
|
Linux Python
linux上根据运行程序的进程号,查看程序所在的绝对路径。linux查看进程启动的时间
linux上根据运行程序的进程号,查看程序所在的绝对路径。linux查看进程启动的时间
47 2
|
4天前
|
安全 Linux 数据安全/隐私保护
探索Linux操作系统的文件权限管理
【9月更文挑战第29天】在数字世界中,文件权限管理如同保护我们隐私的锁。本文将带你了解如何在Linux系统中设置和管理文件权限,确保你的数据安全。我们将一起学习如何通过命令行工具来控制文件访问,就像学习一门新语言一样有趣。准备好了吗?让我们一起开启这场技术之旅!
|
7天前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
18 5
|
6天前
|
Linux
深入理解Linux中的cp命令:文件与目录的复制利器
深入理解Linux中的cp命令:文件与目录的复制利器
|
7天前
|
Linux Shell
10-9|linux上统计文件中单词次数
10-9|linux上统计文件中单词次数
|
7天前
|
存储 Linux Shell
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
这篇文章介绍了Vim编辑器的基本使用、常用命令和模式,以及Linux系统中用户和组的管理方法,包括用户和组相关文件如/etc/passwd、/etc/shadow和/etc/group的说明。
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
下一篇
无影云桌面