当我试图为故意崩溃的程序生成核心文件时,最初的核心文件生成似乎被abrt-ccpp阻碍了.所以我尝试用vim手动编辑/ proc / sys / kernel / core_pattern:

> sudo vim /proc/sys/kernel/core_pattern

当我试图保存文件时,vim报告了这个错误:

"/proc/sys/kernel/core_pattern" E667: Fsync failed

我认为这是一个权限问题,所以我尝试更改权限:

> sudo chmod 666 /proc/sys/kernel/core_pattern

chmod: changing permissions of '/proc/sys/kernel/core_pattern\': Operation not permitted

最后,根据this post,我尝试了这个:

>sudo bash -c 'echo /home/user/foo/core.%e.%p > /proc/sys/kernel/core_pattern'

这很有效.

基于工作解决方案,我也试过这些,但失败了:

> echo "/home/user/foo/core.%e.%p" > /proc/sys/kernel/core_pattern

-bash: /proc/sys/kernel/core_pattern: Permission denied

>

> sudo echo "/home/user/foo/core.%e.%p" > /proc/sys/kernel/core_pattern

-bash: /proc/sys/kernel/core_pattern: Permission denied

题:

为什么编辑,修改和重定向到文件/ proc / sys / kernel / core_pattern的echo输出都失败了,只有注意到的sudo bash的调用才能覆盖/编辑文件?

题:

具体来说,尝试在上面的失败尝试中调用sudo:为什么它们会失败?我认为sudo使用root权限执行了后续命令,我认为这可以让你在Linux中做任何事情.

解决方法:

procfs中的条目由特殊代码管理.在/ proc / sys(proc_sys_setattr)下设置文件权限和所有权的代码拒绝使用EPERM更改权限和所有权.因此无法更改这些文件的权限或所有权,完全停止.这些更改未实现,因此root无效.

当您尝试以非root用户身份进行编写时,会收到权限错误.即使使用sudo echo“/home/user/foo/core.%e.%p”> / proc / sys / kernel / core_pattern,您尝试以非root用户身份编写:sudo以root身份运行echo,但重定向发生在执行sudo的shell中,并且该shell没有提升权限.使用sudo bash -c’…> …’,重定向在由sudo启动并以root身份运行的bash实例中执行,因此写入成功.

必须允许root设置kernel.core_pattern sysctl的原因是它允许指定命令,并且由于这是一个全局设置,因此任何用户都可以执行此命令.事实上,所有sysctl设置的情况都是不同程度的:它们都是全局设置,因此只有root才能更改它们. kernel.core_pattern只是一个特别危险的案例.

标签:linux,permissions,sudo,sysctl,proc

来源: https://codeday.me/bug/20190810/1639812.html

linux core无权限,linux – 为什么编辑core_pattern受限制?相关推荐

  1. linux创建目录无权限,linux下文件夹权限 linux 创建文件夹没有权限

    linux 给所有文件下文件加权限 更改文件用户组.使用命令chgrp,命令如下. 更改文件所有者.使用命令chown. chown命令可以同时修改所有者和用户组名称(即拥有chgrp的功能),命令如 ...

  2. 不是Linux文件系统的权限,Linux中文件系统的权限管理(普通权限,特殊权限,文件的扩展属性,FACL)...

    文件系统的权限管理(DAC体系:自主访问控制体系): 普通权限 特殊权限 文件的扩展属性 FACL(文件系统访问控制列表) 安全上下文: 任何在计算机中执行的任务都是由进程来实现的,所以进程就有必要访 ...

  3. linux twiki 添加权限,Linux安装TWiki

    听说twiki是一个很好的管理知识的工具,今天我们就来安装体验一下. 1.安装apache2 apt-get install apache2或者yum install httpd 2.下载twiki ...

  4. o在linux是什么权限,Linux权限管理基本知识大全

    Linux权限管理基本知识大全 Linux系统有什么基本权限,权限管理命令是什么?下面跟yjbys小编一起来看看吧! 一.基本权限 linux权限机制采用UGO模式.其中 u(user)表示所属用户. ...

  5. linux 修改驱动权限,Linux Kernel 'MSR' 驱动程序本地权限提升漏洞

    发布日期:2013-02-07 更新日期:2013-03-05 受影响系统: Linux kernel 2.6.x 描述: -------------------------------------- ...

  6. linux的rwx权限,linux权限管理:rwx

    标签:rwx 权限管理简介: r,w,x 对文件及目录进行权限管理,从而达到文件及目录管理. 1.rwx对于文件而言: r:可读,可以使用类似cat等命令查看文件内容: w:可写,可以编辑或删除此文件 ...

  7. linux mkdir -m权限,Linux中mkdir和touch命令区别

    一.目的 本文将介绍linux下新建文件或文件夹.删除文件或文件夹命令.         touch能够新建文件,mkdir用来新建文件夹.rm用来删除文件或文件夹.         本文将选取ubu ...

  8. oracle监听启动无权限,Linux中Oracle启动侦听报错TNS:permission denied的解决方法

    前言 最近在开发环境 oracle 启动侦听的时候,出现了 TNS:permission denied 的问题,通过网上和咨询朋友,最终找到了解决方案,现在共享出来给有需要的朋友. 错误描述 [ora ...

  9. linux chattr 无权限,从零开始学习Linux(二十八):文件权限之chattr权限

    1.chattr命令 命令格式: chattr [+-=] [选项] 文件名或者目录名: 参数说明: +:增加权限: -:删除权限: = 等于某权限: 选项说明: i:如果对文件设置i属性,则不允许对 ...

最新文章

  1. notepad++添加插件管理器
  2. 润乾报表与DERBY数据库的创建连接详解
  3. FFmpeg源代码:avcodec_receive_frame
  4. sonar 中质量指标(度量)
  5. 里程碑!中文版.NET官网发布,.NET开发起飞!
  6. js设置select列表中特定项为选中状态
  7. VC中的一些常用方法(20条)
  8. npm常用命令(扩展中...)
  9. the deep ritz method论文梳理
  10. 【前端】【labelme】labelme 保存 imageData 的 base64编码机制 —— python 源码探究与 js 实现
  11. [zz]Win8应用商店管理小工具
  12. java入门基础教程(三)写点代码熟悉一下java语言
  13. PLSQL 14.0.6 安装使用教程
  14. 为什么html字体之间有间隔,css字体间隔怎么调整?css文字间隔的调整方法
  15. 【微积分的本质|笔记】直观理解链式法则和乘积法则
  16. 计算机打印机图标删除吗,故障之:打印图标消失及打印任务无法取消
  17. 开心庄园html的代码,HTML第五章(示例代码)
  18. bugku中的misc题
  19. 7-22 验证手机号
  20. html加载页面转圈圈怎么打,js实现等待加载“转圈圈”效果

热门文章

  1. Java语言与sikuli配合
  2. 汇编跳转比较用的列表
  3. 小猿圈web前端之网站性能优化方案
  4. Android WindowManager和WindowManager.LayoutParams的使用以及实现悬浮窗口的方法
  5. Android界面菜单(4)—快捷菜单
  6. SQL 语句优化--IN语句优化案例
  7. takePic and Videos
  8. python 处理python编码的基本过程
  9. 2029. 石子游戏 IX
  10. leetcode117. 填充每个节点的下一个右侧节点指针 II(dfs)