精华内容
下载资源
问答
  • Linux进程的文件访问权限

    千次阅读 2013-08-31 22:05:21
    介绍linux进程的文件访问权限

    对进程校验文件访问权限包括两个部分,一是确定进程的角色(属于哪个用户或者组),二是确定对应的角色是否具有该操作的权限。

    首先看第一部分。默认情况下,进程的有效角色就是当前执行这个进程的用户及其所在组。但是,文件具有设置用户ID位设置组ID位(stat.st_mode的S_ISUID和S_ISGID),用于改变这种默认的行为,将进程的有效角色设置为文件所属的用户和组。这主要用于解决执行进程的用户或组不具备修改这个文件的权限,但却不得不对文件进行修改的情况。比如,/etc/passwd就是用了设置用户ID位,因为passwd允许任意用户修改其密码,而只有超级用户才具有对该文件的写权限,所以在普通用户执行passwd修改密码时,必须将设置用户ID位置位。这里只要记住,进程的角色只能是执行它的用户或者是它要操作的文件的用户。

    文件的权限包括用户、组和其他角色的r(读)、w(写)和x(执行)。在根据进程角色检验权限时,可以分为两种:文件权限校验和目录权限校验。文件权限校验比较简单,在open文件时执行了要对文件进行的操作(O_RDONLY、O_WRONLY和O_RDWR),或者是执行一个文件,只要确定是否具有该权限即可,具体规则后文介绍。目录也是具有权限的,主要限制其所属的文件的一些操作,包括:

    1. 如果要打开一个文件,必须具有文件路径中所有目录的执行权限(即,搜索文件需要目录的执行权限),比如打开文件/home/work/foo,则必须对/,/home和/home/work三个目录具有执行权限。

    2. 要从一个目录删除或者添加一个文件,则必须对这个目录具有写权限和执行权限,删除文件时不需要对该文件具有相关权限。

    3. 要获取一个目录下所有文件,则需要对该目录具有读权限。

    在打开、创建和删除文件时,内核会进行访问权限的校验,规则如下:

    1. 若进程的有效用户ID是0(即,超级用户),则允许访问。

    2. 若进程的有效用户ID等于文件的所有者ID(即,进程拥有该文件),那么就要检验所有者是否具有进行该操作的权限,若具有该权限,则允许,否则拒绝。

    3. 若进程的有效组ID是文件的组ID,那么检验该组是否具有进行该操作的权限,若具有该权限,则允许,否则拒绝。

    4. 执行其他角色的权限检验,如果具有该权限,则允许访问,否则拒绝。

    这种测试方式使用的是进程的有效用户ID和组ID,通过access可以测试进程的实际用户ID和组ID是否具有该权限。但是只能测试,而不能使用实际角色进行某个文件操作。

    在进行创建一个文件时,需要确定这个文件的所有权问题。这个文件的用户就是进程的有效用户,而组ID,POSIX允许有两种实现:

    1. 新文件的组ID是进程的有效组ID。

    2. 新文件的组ID是它所在目录的组ID。

    展开全文
  • Linux查看进程,端口,访问url # 查看进程# ps -ef|grep python# 终止进程# kill -9 id # 端口 netstat -ntl # 显示正在监听的tcp端口,以端口号显示 netstat -apn|grep tcp # 显示很多信息,过滤...
    # 查看进程
    # ps -ef|grep python
    # 终止进程
    # kill -9 id

    # 端口

    netstat -ntl   #   显示正在监听的tcp端口,以端口号显示
    netstat -apn|grep tcp  # 显示很多信息,过滤出tcp监听的端口
    
    ss -thl   # 显示正在监听的tcp端口,不解析服务名称,以端口号显示
    
    sudo lsof -i  # 查看当前打开的文件(包括打开的端口,linux上的东西都是文件)

    修改某些linux的数据后需要:

      sudo service redis-server restart  # 需要重启服务

     

     

    访问url

    wget 127.0.0.1:8000 或者  curl

    posted on 2018-02-11 20:59 .Tang 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/tangpg/p/8443193.html

    展开全文
  • linux查看进程的方法发布时间:2020-06-19 13:06:47来源:亿速云阅读:116作者:鸽子在Linux系统中,每个程序启动后可以创建一个或多个进程。例如,提供Web服务的httpd程序,当有大量用户同时访问Web页面时,httpd...

    linux查看进程的方法

    发布时间:2020-06-19 13:06:47

    来源:亿速云

    阅读:116

    作者:鸽子

    在Linux系统中,每个程序启动后可以创建一个或多个进程。例如,提供Web服务的httpd程序,当有大量用户同时访问Web页面时,httpd程序可能会创建多个进程来提供服务。

    使用不同的命令工具可以从不同的角度查看进程状态。

    常用的进程查看命令

    1.ps命令——查看静态的进程统计信息(Processes Statistic)

    常见的选项:a:显示当前终端下的所有进程信息,包括其他用户的进程。

    u:使用以用户为主的格式输出进程信息。

    x:显示当前用户在所有终端下的进程。

    -e:显示系统内的所有进程信息。

    -l:使用长(long)格式显示进程信息。

    -f:使用完整的(full)格式显示进程信息。

    2.top命令——查看进程动态信息

    以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次,其作用基本类似于Windows系统中的任务管理器。

    3.pgrep命令——根据特定条件查询进程PID信息

    4.pstree命令——查看进程树,以树形结构列出进程信息

    eeb5049d64afe539f9ab1a3d3235efcf.png

    展开全文
  • 前提知识:Linux内核、Linux 进程和文件数据结构、vmcore解析、汇编语言问题背景:这个问题出自项目的一个安全模块,主要功能是确定某进程是否有权限访问其正在访问的文件。实现功能时,需要在内核里通过扫描该进程...

    前提知识:

    Linux内核、Linux 进程和文件数据结构、vmcore解析、汇编语言

    问题背景:

    这个问题出自项目的一个安全模块,主要功能是确定某进程是否有权限访问其正在访问的文件。

    实现功能时,需要在内核里通过扫描该进程打开的文件表,获取文件的路径,和安全模块里配置的可访问文件的进程白名单进行匹配;

    模块会一直到搜索到进程pid为1的进程,也就是init进程。在访问中间某个父进程的文件表时,出现struct task_struct的files指针为空的情况,

    导致系统异常复位。

    下面就是这次异常的分析和定位过程,希望对大家有所帮助,有什么想法我们可以交流讨论。

    接到现场保障时,没想到又是这个模块导致的,因为这个模块刚升级版本,首先是确认系统有无crash vmcore文件生成,还好这次有

    vmcore文件,先登录上去看异常堆栈吧。

    2bd17b24147430d569b7d8e11387728d.gif

    确实是安全内核模块出了异常,为了保密,我省去了很多信息。

    在dmesg.txt文件里,还有一句话:

    <1>[259267.001561] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008

    从堆栈信息可以产出,异常进程comm名称是gzip,pid为10877,task指针为ffff88207f7f2380,异常原因是访问了NULL指针。

    通过nm和addr2line命令,我们定位具体出异常的代码行:

    include/linux/fdtable.h: 87

    b930ffd292a4ebee559392b63118000c.gif

    紧接着查看files_fdtable代码实现,是对files->fdt的访问:

    #define files_fdtable(files)

    (rcu_dereference_check_fdtable((files), (files)->fdt))

    分析到这里,初步判断是访问files执行了异常。我们结合vmcore信息进一步确认。

    vmcore文件分析

    查找异常进程的files成员变量值是正常的,如下所示:

    ## crash> struct task_struct.files ffff88207f7f2380

    ##   files = 0xffff881f97cff380

    异常进程的进程名称:

    ## crash> struct task_struct.comm ffff88207f7f2380

    ##  comm = "gzip

    展开全文
  • Linux进程

    千次阅读 2014-10-11 13:19:17
    进程Linux中事务管理的基本单元,所有的进程都拥有自己的独立处理环境和系统资源,并且各进程之间不可以直接访问对方的资源,进程之间的交流需要通过特定的机制(IPC)。 在Linux系统的内核头文件中(/usr/src/...
  • Linux如何查看和控制进程 ...例如,提供Web服务的httpd程序,当有大量用户同时访问Web页面时,httpd程序可能会创建多个进程来提供服务。 程序 保存在硬盘、光盘等介质中的可执行代码和数据 静态保存的代码...
  • linux 隐藏进程

    千次阅读 2016-03-02 16:23:52
    本文在不修改ps或top命令的任何代码与采用将进程号置0的方法的前提下,实现隐藏进程,本程序在CRUX 2.2上实现   ... Linux中,可以通过/.../proc文件系统最初的设计也是用于方便地访问进程相关的信息,因此命名
  • linux进程的基本属性1. linux环境下,系统运行的第一个进程名字叫 init , pid = 1,由内核产生。... 进程资源由两部分组成: 内核空间资源,用户空间资源内核空间资源即PCB相关的信息,用于系统调用,用户不能访问。...
  • Linux进程管理

    千次阅读 2018-05-06 16:13:24
    进程ID(Process ID,PID)号码被用来标记各个进程 UID、GID、和SELinux语境决定对文件系统的存取和访问权限,这些属性通常从执行进程的用户来继承,并且进程存在生命周期 centos linux第一个进...
  • 任何一个进程的全局变量在另一个进程中都是不可见的,所以进程进程之间不能相互访问,要像交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,...
  • Linux进程编程

    2016-03-11 14:23:50
    一、知识背景 学习Linux 进程控制理论无非就是学习进程的几个方面:创建、退出、...2、进程拥有自己的地址空间,进程相关所有的信息都存放在进程的地址空间里,换句话说,进程所能访问到的地址空间的集合就是进程的地址
  • Linux进程与子进程

    2016-01-12 16:30:38
    进程Linux中事务管理的基本单元,所有的进程都拥有自己的独立处理环境和系统资源,并且各进程之间不可以直接访问对方的资源,进程之间的交流需要通过特定的机制(IPC)。 在Linux系统的内核头文件中(/usr/src/...
  • Linux进程概念

    2021-02-04 17:43:17
    进程概念1.冯诺依曼体系结构(理解进程前的补充知识)2. 操作系统(理解进程前的补充知识)3.进程3.1 基本概念3.2 描述进程---PCB...不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备
  • Linux查看进程状态

    千次阅读 2019-03-25 23:30:14
    Linux系统中,每个程序启动后可以创建一个或多个进程。例如,提供Web服务的httpd程序,当有大量用户同时访问Web页面时,httpd程序可能会创建多个进程来提供服务。 程序保存在硬盘、光盘等介质中的可执行代码和数据...
  • LINUX 内核进程管理

    2010-09-13 10:45:15
    最近学习了LINUX内核进程管理,这里随意的回忆一下: LINUX是一个多任务多进程的操作系统,在LINUX进程和线程其实是没有太多区别的。只是多个线程可以同时访问同一块内存区域叫做共享内存。LINUX是一个...
  • Linux内核提供了一种通过 proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc 文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作...
  • linux进程命令一、ps -显示进程状态二、pstree – 以树状图显示进程三、pidof – 返回运行程序的进程ID四、 pgrep命令 – 用于检索当前正在运行的进程五、top命令 – 实时显示进程动态六、lsof – 查看进程文件七、...
  • 最近总是碰到linux中无意中多了几个tomcat进程,导致项目无法访问,差了写博客,综合记下几条常用命令:1. 在LINUX命令平台输入1-2个字符后按Tab键会自动补全后面的部分(前提是要有这个东西,例如在装了tomcat的前提...
  • linux进程

    2017-03-01 21:17:24
    Linux系统设计时利用了这种硬件特性,使用了两个级别,最高级别和最低级别,内核运行在最高级别(内核态),这个级别可以进行所有操作,而应用程序运行在较低级别(用户态),在这个级别,处理器控制着对硬件的直接访问...
  • Linux进程通信

    千次阅读 2017-09-14 14:12:09
    进程是一个独立的资源管理单元,不同进程之间资源是独立的,不能在一个进程中直接访问另一个进程的用户空间和内核空间。但是操作系统提供了大量通信机制来实现两个进程间的通信,来满足不同进程间需要进行信息的交互...
  • 转自: https://www.cnblogs.com/my_life/articles/4538299.html http://segmentfault.com/a/1190000000630435 ...   这里的“不相干”,定义为: 这几个进程没有父子关系,也没有 Server/Cl...
  • 本文修改自:http://linux.chinaunix.net/techdoc/develop/2007/07/20/963167.shtml *欢迎访问: 新星湾... Linux下一个进程在内存里有三部分的数据,就是"代码段"、"堆栈段"和"数据段"。一般的CPU
  • Linux c++ 进程

    千次阅读 2017-11-14 16:53:24
    进程模型是服务器在接收到大量高并发客户端访问时,通过创建多个子进程来与客户端进行通信。单进程阻塞在read()系统调用的时候,会导致服务器无法响应到其他的连接请求。这时可以通过fork()函数创建出多个子进程来...
  • Linux进程相关

    2017-04-28 21:51:53
    Linux进程相关   进程:程序的一次执行,通过PID识别,每个进程有自己特定的内存地址空间,其他进程无法访问 线程:一些代码片段   一个进程可以包含多个线程,同一进程的线程共享内存地址。   Linux进程...
  • Linux进程地址空间

    2020-03-17 22:02:18
    而我们在进程中所访问到的地址实际 都是一个虚拟地址。 虚拟地址空间: 为什么不直接使用物理内存? 因为直接使用内存利用率低,缺乏内存访问控制,所以才采用虚拟地址空间 Linux下是通过一个mm_struct结构体描述 出...
  • 进程的有效用户ID是0(root),则允许存取; 若进程的有效用户ID等于文件的所有者ID(即该进程拥有文件) -若所有者存取许可权被设置,则允许存取 -否则拒绝存取 若进程的有效组ID或进程的添加组ID之一等于...
  • LINUX监视进程退出

    千次阅读 2014-02-11 16:43:18
    1、为解决httpd、pppd两个进程退出导致WEB服务器不能访问、PPPD不拨号上线,开启conpid进程定期来检测这两个进程是否运行。 2、该进程编译到busybox中,功能是每隔1分钟查找一下httpd、pppd两个进程是否存在,当
  • linux创建进程

    2013-11-19 10:37:24
    前几天,做监控日志查询,php访问oracle...crontab最小单位是每分钟,所以想到用进程来执行。   crontab 脚本 * * * * * /usr/bin/php /var/www/html/bug_db/interface/transfer_monitor.php >>/var/log/transfe
  • Linux系统根据进程的寻址空间将其分为:内核进程和用户进程,以32位系统为例,内核进程寻址范围:3~4G,用户进程寻址范围:0~3G。内核进程和用户进程分别运行在内核空间和用户空间,彼此隔离。所有的内核进程均不能...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,910
精华内容 4,764
关键字:

linux访问进程

linux 订阅