1、具有SUID/SGID权限的指令执行状态
SUID的特点:
· SUID 权限仅对二进制程序(binary program)有效;
· 执行者对于该程序需要具有 x 的可执行权限;
· 本权限仅在执行该程序的过程中有效 (run-time);
· 执行者将具有该程序拥有者 (owner) 的权限。
整个SUID的权限生效是由于具有该权限的程序会被触发。查询整个系统的SUID/SGID的文件可以使用指令:find / -perm /6000
2、/proc/*代表的意义
进程都是在内存当中,而内存中的数据又都是写入到/proc/*目录下的,基本上目前主机上的各个进程PID都是以目录的形态存在于/proc中
选项与参数相关文件
档名 | 文件内容 |
---|---|
/proc/cmdline | 加载 kernel 时所下达的相关指令与参数!查阅此文件,可了解指令是如何启动的! |
/proc/cpuinfo | 本机的 CPU 的相关信息,包含频率、类型与运算功能等 |
/proc/devices | 这个文件记录了系统各个主要装置的主要装置代号,与 mknod 有关呢! |
/proc/filesystems | 目前系统已经加载的文件系统啰! |
/proc/interrupts | 目前系统上面的 IRQ 分配状态。 |
/proc/ioports | 目前系统上面各个装置所配置的 I/O 地址。 |
/proc/kcore | 这个就是内存的大小啦!好大对吧!但是不要读他啦! |
/proc/loadavg | 还记得 top 以及 uptime 吧?没错!上头的三个平均数值就是记录在此! |
/proc/meminfo | 使用 free 列出的内存信息,嘿嘿!在这里也能够查阅到! |
/proc/modules | 目前我们的 Linux 已经加载的模块列表,也可以想成是驱动程序啦! |
/proc/mounts |
系统已经挂载的数据,就是用 mount 这个指令呼叫出来的数据啦! |
/proc/swaps | 到底系统挂加载的内存在哪里?呵呵!使用掉的 partition 就记录在此啦! |
/proc/partitions | 使用 fdisk -l 会出现目前所有的 partition 吧?在这个文件当中也有纪录喔! |
/proc/uptime | 就是用 uptime 的时候,会出现的信息啦! |
/proc/version | 核心的版本,就是用 uname -a 显示的内容啦! |
/proc/bus/* | 一些总线的装置,还有 USB 的装置也记录在此喔! |
3、查询已开启文件或已执行进程开启之文件
<1>藉由文件或文件系统找出正在使用该文件的进程
当我们想知道我的进程当中启动某过程开启了多少文件,就可以是使用fuser来进行观察。
[root@study ~]# fuser [-umv] [-k [i] [-signal]] file/dir
选项与参数:
-u :除了进程的 PID 之外,同时列出该进程的拥有者;
-m :后面接的那个档名会主动的上提到该文件系统的最顶层,对 umount 不成功很有效!
-v :可以列出每个文件与进程还有指令的完整相关性!
-k :找出使用该文件/目录的 PID ,并试图以 SIGKILL 这个讯号给予该 PID;
-i :必须与 -k 配合,在删除 PID 之前会先询问使用者意愿!
-signal:例如 -1 -15 等等,若不加的话,预设是 SIGKILL (-9) 啰!
以上指令是找出目前所在目录的使用PID/所属权限/权限为何
关于ACCESS的项目其意义为
· c :此进程在当前的目录下(非次目录);
· e :可被触发为执行状态;
· f :是一个被开启的文件;
· r :代表顶层目录 (root directory);
· F :该文件被开启了,不过在等待回应中;
· m :可能为分享的动态函式库;
<2>lsof:列出被进程所开启的文件档名
[root@study ~]# lsof [-aUu] [+d]
选项与参数:
-a :多项数据需要『同时成立』才显示出结果时!
-U :仅列出 Unix like 系统的 socket 文件类型;
-u :后面接 username,列出该使用者相关进程所开启的文件;
+d :后面接目录,亦即找出某个目录底下已经被开启的文件!
<3>pidof:找出某支正在执行的程序的PID
[root@study ~]# pidof [-sx] program_name
选项与参数:
-s :仅列出一个 PID 而不列出所有的 PID
-x :同时列出该 program name 可能的 PPID 那个进程的 PID
范例一:列出目前系统上面 systemd 以及 rsyslogd 这两个程序的 PID
[root@study ~]# pidof systemd rsyslogd
1 742
# 理论上,应该会有两个 PID 才对。上面的显示也是出现了两个 PID 喔。
# 分别是 systemd 及 rsyslogd 这两支程序的 PID 啦。