linux 10

来源:互联网 发布:单片机程序烧入不进去 编辑:程序博客网 时间:2024/06/06 18:32

25 Sept

特殊文件与程序

17.4.1 具有SUID/SGID权限的命令执行状态

  • 先看看SUID的程序是如何被一般用户执行,且具有什么特色呢?
    这里写图片描述

  • 查询整个系统的SUID/SGID的文件: find / perm + 6000

17.4.2 /proc/*代表的意义

进程中的数据都是写入到/proc/*这个目录下的,所以可以直接查看/proc这个目录中的文件。
这里写图片描述
主机上面各个进程PID都是以目录的类型存在/proc中,比如开机执行的第一个进程PID==1, 可以直接浏览PID为1的数据。

可以着重留意一下这两个文件:
这里写图片描述

17.4.3 查询已打开文件或已执行程序打开的文件

  • fuser : 通过文件(或文件系统)找出正在使用该文件的程序
    比如说,使用umount指令时系统通知”device is busy”,可以用fuser来追踪。
    fuser [-umv] [-k [i] [-signal]] file/dir
    这里写图片描述

eg. 找出目前所在目录的使用PID/所属账号/权限
这里写图片描述

eg. 找到所有使用到/proc这个文件系统的进程
fuser -uv /proc
这里写图片描述

-m 有几个进程在进行/proc文件系统的访问
这里写图片描述

fuser可以让我们了解到某个文件(或文件系统)目前正在被哪些进程所利用。
eg fuser -ki /var/gdm/.gdmfifo

  • lsof : 列出被进程所打开的文件名
    相对于fuser是由文件或者设备去找出使用该文件或设备的进程,losf是查出某个进程打开或者使用哪些文件与设备。
lsof [-aUu] [+d]# -a : 多项数据需要“同时成立”才显示出结果# -U : 仅列出Unix like系统的socket文件类型# -u : 后面接username, 列出该用户相关进程所打开的文件# +d : 后面接目录,即找出某个目录下面已经被打开的文件

eg.
lsof -u root -a -U -a的用途就是解决同时需要两个选项都成立. -u root & -U

  • pidof : 找出某个正在执行的进程的PID
pidof [-sx] program_name# -s: 仅列出一个PID而不列出所有的PID# -x: 同时列出该program name可能的PPID那个进程的PID

SELinux
- Security Enhanced Linux, 安全强化的Linux之意。SELinux是在运行程序、文件等权限设置依据的一个内核模块。控制网络服务能否访问系统资源。

DAC: Discretionary Access Control. 自主访问控制(当用户取得程序后,他可以通过这个进程与自己默认的权限来处理他自己的文件资源)
MAC:Mandatory Access Control,强制访问控制(针对特定的进程与特定的文件资源来进行权限的控制。就是,即使是root, 在使用不同进程时,所取得的权限不一定是root。)

检查网络服务vsftpd启动的是哪个端口?
netstat -tlunp | grep vsftpd

原创粉丝点击