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

当我试图为故意崩溃的程序生成核心文件时,最初的核心文件生成似乎被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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392171.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nsa构架_我如何使用NSA的Ghidra解决了一个简单的CrackMe挑战

nsa构架by Denis Nuțiu丹尼斯努尤(Denis Nuțiu) 我如何使用NSA的Ghidra解决了一个简单的CrackMe挑战 (How I solved a simple CrackMe challenge with the NSA’s Ghidra) Hello!你好! I’ve been playing recently a bit with Ghidra, which is a reverse engi…

分布与并行计算—生产者消费者模型队列(Java)

在生产者-消费者模型中&#xff0c;在原有代码基础上&#xff0c;把队列独立为1个类实现&#xff0c;通过公布接口&#xff0c;由生产者和消费者调用。 public class Consumer implements Runnable {int n;CountDownLatch countDownLatch;public Consumer(BlockingQueue<In…

python 日志内容提取

问题&#xff1a;如下&#xff0c;一个很大的日志文件&#xff0c;提取 start: 到 end: 标志中间的内容 日志文件a.log xxxxx yyyyy start: start: hahahaha end: start: hahahahha end: ccccccc kkkkkkk cdcdcdcd start: hahahaha end: code import reisfindFalse with open(&…

同一服务器部署多个tomcat时的端口号修改详情

2019独角兽企业重金招聘Python工程师标准>>> 同一服务器部署多个tomcat时&#xff0c;存在端口号冲突的问题&#xff0c;所以需要修改tomcat配置文件server.xml&#xff0c;以tomcat7为例。 首先了解下tomcat的几个主要端口&#xff1a;<Connector port"808…

linux优盘驱动目录,Linux U盘加载阵列卡驱动步骤(.dd或img).doc

Linux U盘加载阵列卡驱动步骤(.dd或img)如果没有Linux的机器,可以使用安装光盘的Linux环境&#xff1a;将?U?盘完全慢速格式化&#xff0c;将驱动拷贝到U盘&#xff0c;将U盘插在服务器上&#xff0c;用Linux安装光盘第一张启动到图形安装界面&#xff0c;按Ctrl&#xff0b;…

第一章-从双向链表学习设计

链表学习链表是一种动态的数据结构使用节点作为链表的基本单位存储在节点包括数据元素和节点指针一个完整的数据链表应包括转载于:https://www.cnblogs.com/cjxltd/p/7125747.html

twitter 数据集处理_Twitter数据清理和数据科学预处理

twitter 数据集处理In the past decade, new forms of communication, such as microblogging and text messaging have emerged and become ubiquitous. While there is no limit to the range of information conveyed by tweets and texts, often these short messages are …

ios 动态化视图_如何在iOS应用中使高度收集视图动态化

ios 动态化视图by Payal Gupta通过Payal Gupta 如何在iOS应用中使集合视图的高度动态化 (How to make height of collection views dynamic in your iOS apps) 充满活力&#xff0c;就像生活一样… (Be dynamic, just like life…) Table views and collection views have alw…

新开通博客

新开通博客&#xff0c;希望兄弟们积极更新。 转载于:https://www.cnblogs.com/ydhliphonedev/archive/2011/07/28/2119720.html

思维导图分析http之http协议版本

1.结构总览 在http协议这一章&#xff0c;我将先后介绍上图六个部分&#xff0c;本文先介绍http的协议版本。 2.http协议版本 http协议的历史并不长&#xff0c;从1991的0.9版本到现在(2017)仅仅才20多年&#xff0c;算算下来,http还是正处青年&#xff0c;正是大好发展的好时光…

分布与并行计算—生产者消费者模型RabbitMQ(Java)

连接工具 public class ConnectionUtil {public static final String QUEUE_NAME"firstQueue";private static final String RABBIT_HOST "11";private static final String RABBIT_USERNAME "";private static final String RABBIT_PASSWORD…

飞腾 linux 内核,FT2004-Xenomai

移植Xenomai到基于飞腾FT2004 CPU的FT Linux系统1 目前飞腾FT2000/4相关设备驱动还没有开源&#xff0c;需要先联系飞腾软件生态部获取FT Linux源代码2 如需在x86交叉编译arm64内核&#xff0c;推荐使用Linaro gcc编译器&#xff0c;链接如下&#xff1a;https://releases.lina…

使用管道符组合使用命令_如何使用管道的魔力

使用管道符组合使用命令Surely you have heard of pipelines or ETL (Extract Transform Load), or seen some method in a library, or even heard of any tool to create pipelines. However, you aren’t using it yet. So, let me introduce you to the fantastic world of…

关于网页授权的两种scope的区别说明

关于网页授权的两种scope的区别说明 1、以snsapi_base为scope发起的网页授权&#xff0c;是用来获取进入页面的用户的openid的&#xff0c;并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页&#xff08;往往是业务页面&#xff09; 2、以snsapi_userinfo为…

安卓流行布局开源库_如何使用流行度在开源库之间进行选择

安卓流行布局开源库by Ashish Singal通过Ashish Singal 如何使用流行度在开源库之间进行选择 (How to choose between open source libraries using popularity) Through my career as a product manager, I’ve worked closely with engineers to build many technology prod…

TCP/IP分析(一) 协议概述

各协议层分工明确 转载于:https://www.cnblogs.com/HonkerYblogs/p/11247604.html

window 下分linux分区,如何在windows9x下访问linux分区

1. 简 介Linux 内 核 支 持 众 多 的 文 件 系 统 类 型, 目 前 它 可 以 读 写( 至 少 是 读) 大 部 分 的 文 件 系 统.Linux 经 常 与Microsoft Windows 共 存 于 一 个 系 统 或 者 硬 盘 中.Linux 对windows9x/NT 的 文 件 系 统 支 持 的 很 好, 反 之 你 想 在windows 下…

C# new关键字和对象类型转换(双括号、is操作符、as操作符)

一、new关键字 CLR要求所有的对象都通过new来创建,代码如下: Object objnew Object(); 以下是new操作符做的事情 1、计算类型及其所有基类型(一直到System.Object,虽然它没有定义自己的实例字段)中定义的所有实例字段需要的字节数.堆上每个对象都需要一些额外的成员,包括“类型…

JDBC01 利用JDBC连接数据库【不使用数据库连接池】

目录&#xff1a; 1 什么是JDBC 2 JDBC主要接口 3 JDBC编程步骤【学渣版本】 5 JDBC编程步骤【学神版本】 6 JDBC编程步骤【学霸版本】 1 什么是JDBC JDBC是JAVA提供的一套标准连接数据库的接口&#xff0c;规定了连接数据库的步骤和功能&#xff1b;不同的数据库提供商提供了一…

leetcode 778. 水位上升的泳池中游泳(并查集)

在一个 N x N 的坐标方格 grid 中&#xff0c;每一个方格的值 grid[i][j] 表示在位置 (i,j) 的平台高度。 现在开始下雨了。当时间为 t 时&#xff0c;此时雨水导致水池中任意位置的水位为 t 。你可以从一个平台游向四周相邻的任意一个平台&#xff0c;但是前提是此时水位必须…