一种修改文件权限的方法----------------bash: ./run: 权限不够---sudo: ./run:找不到命令

Linux sudoers文件权限不足:从故障排查到权限管理最佳实践 在Linux系统管理中,权限控制是保障系统安全与运维效率的核心机制。sudo命令作为实现最小权限原则的关键工具,其背后依赖/etc/sudoers文件的精确配置。该文件定义了用户执行特权命令的规则,通过用户、主机、命令的灵活组合实现细粒度访问控制。当出现“用户不在sudoers文件中”的权限不足问题时,往往源于配置遗漏、文件权限异常或语法错误。理解sudoers的工作原理不仅能快速解决紧急故障,更能构建基于角色的权限管理体系,实现安全审计与自动化运维。本文针对sudoers文件配置与故障恢复,提供了从基础修 阅读详情

一种修改文件权限的方法

cxl@cxl-laptop:~/OpenTracker/example$ ./run_opentracker_example.bin
bash: ./run_opentracker_example.bin: 权限不够
cxl@cxl-laptop:~/OpenTracker/example$ sudo ./run_opentracker_example.bin
[sudo] cxl 的密码: 
env: "./run_opentracker_example.bin": 权限不够

修改文件权限的方法
https://www.cnblogs.com/songbeyond/p/12494622.html

1.编辑文件 /etc/sudoers,将Defaults env_reset ,改为 Defaults !env_reset
sudo vi /etc/sudoers
Defaults !env_reset
出现e45问题的话https://blog.youkuaiyun.com/RogerThat_Li/article/details/90139408

===========================================
出现这种错误后解决的方法有两种:

一、第一种方法:如果有root权限,可以输入 :wq!强行保存退出。

二、第二种方法:

(1)按ESC

(2)输入 :set noreadonly

(3)输入 :wq就可保存退出

===========================================
2.编辑文件~/.bashrc
sudo vi ~/.bashrc
在文件末尾添加新行,好吧在哪添加新行都成。
alias sudo=‘sudo env PATH=$PATH’
添加完之后,再source一下
source ~/.bashrc

结果是
song@ubuntu:~/workspace/oslab$ ./run
bash: ./run: 权限不够
song@ubuntu:~/workspace/oslab$ sudo ./run
env: “./run”: 权限不够

想到是不是文件本身没有执行权限,一查果真如此:

cxl@cxl-laptop:~/OpenTracker/example$ ll
总用量 420
drwxr-xr-x  5 cxl cxl   4096 9月  14 11:00 ./
drwxr-xr-x 15 cxl cxl   4096 9月  14 09:39 ../
-rw-r--r--  1 cxl cxl  12999 9月  14 10:56 CMakeCache.txt
drwxr-xr-x  4 cxl cxl   4096 9月  14 10:58 CMakeFiles/
-rw-r--r--  1 cxl cxl   1667 9月  14 10:56 cmake_install.cmake
-rw-------  1 cxl cxl    526 9月   7 21:11 CMakeLists.txt
drwxr-xr-x  3 cxl cxl   4096 9月  14 10:58 eco/
drwxr-xr-x  2 cxl cxl   4096 9月  14 10:56 lib/
-rw-------  1 cxl cxl    506 9月   7 21:11 makefile
-rw-r--r--  1 cxl cxl   4654 9月  14 10:58 Makefile
-rw-------  1 cxl cxl   2059 9月   7 21:11 readme.md
-rwx--x--x  1 cxl cxl 124232 9月   7 21:11 run_opentracker_example.bin*
-rw-------  1 cxl cxl   6390 9月   7 21:11 run_opentracker_example.cc
-rwx--x--x  1 cxl cxl 232784 9月   7 21:11 run_opentracker_example.o*

cxl@cxl-laptop:~/OpenTracker/example$ chmod +x run_opentracker_example.cc

使用chmod命令给文件加权限

chmod的语法格式如下:

chmod [who] [opt] [mode] 文件/目录名

其中who表示对象,是以下字母中的一个或组合:

u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户

opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限

mode则代表权限:
r:可读
w:可写
x:可执行

Ubuntu用户管理:adduser/deluser/visudo/sudo权限体系深度解析 Linux用户管理是操作系统安全与权限控制的基础概念,其核心在于理解用户、组、身份认证与特权执行之间的协同机制。在Debian系发行版如Ubuntu中,adduser和deluser并非简单封装,而是遵循严格的文件系统约定、密码策略与审计规范;sudo则依赖setuid机制与/etc/sudoers语法实现细粒度授权,而visudo是保障该配置不致系统瘫痪的关键工具。掌握这些组件的原理与耦合关系,不仅能规避Authentication failure、effective uid is not 0等高频故障, 阅读详情

相关推荐

Linux权限提升实战指南:从SUID、Sudo到内核漏洞的完整攻防解析

权限提升(Privilege Escalation)是Linux系统安全与渗透测试中的核心概念,指低权限用户通过利用系统配置缺陷、软件漏洞或逻辑错误,获取更高权限(通常是root)执行能力的过程。其技术原理主要围绕操作系统权限模型、进程权限继承机制以及访问控制策略的绕过展开。掌握权限提升技术对于系统管理员加固防线、安全人员评估风险具有重要价值,广泛应用于渗透测试、红蓝对抗、系统安全审计等场景。本文聚焦Linux环境下六大经典提权方式,包括SUID/SGID文件滥用、Sudo权限配置漏洞、内核漏洞利用、Cro

weixin_34130389的博客 407

linux环境变量

1.环境变量的概念 通俗的讲,环境变量就是告诉电脑(实际是操作系统) 几个目录。 这几个目录下存储又可执行文件,如前面显示的/usr/bin目录,大部分的系统命令都在这个目录下。 当我们输入命令mkdir 时,系统就会在环境变量所代表的几个目录从前都厚去查找,哪个里面有mkdir 文件,然后去执行mkdir 命令。 系统中环境变量的名字是PATH,其内容可通过下面的命令显示(根据操作系统不同和配置不同,略有差别,但格式是统一的,: 分割的一堆路径) # 查看环境变量 echo $PATH # /usr/

weixin_41242128的博客 617

Ubuntu用户管理:adduser/deluser底层原理与sudo权限实战

Linux用户管理是操作系统安全体系的基石,其核心在于UID/GID分配、家目录权限控制、Shell配置及sudo提权机制。理解adduser与useradd的本质差异,关键在于前者封装了家目录初始化、组自动加入和密码加密等完整流程;而deluser提供的备份删除与审计日志能力,远超userdel的简单清理。sudo并非魔法,而是依赖setuid位与/etc/sudoers规则链共同实现的细粒度权限委托,任何属主变更或权限位丢失都会导致‘effective uid is not 0’类故障。在VMware、

diyudong4681的博客 501

-bash: xxx: 未找到命令

-bash: xxx: 未找到命令 1.-bash: netstat: 未找到命令 yum -y install net-tools 2.javac java-version 找不到命令 yum install java-devel 3.linux安装jdk时,vim 未找到命令 当进行安装jdk时,往往需要配置系统环境,当输入vim命令时,找不到vim命令,那么就需要加载插件了。 1、输入命令 rpm -qa|grep vim 查询已有的vim插件,正常此命令需要系统存在这样4条。.

记录学习生活的点滴(Linux运维、java) 5万+

Linux sudo权限配置安全深度解析:从提权攻击到立体防御

在Linux系统管理中,权限控制是保障系统安全的核心机制。sudo作为最常用的权限提升工具,其设计原理基于最小权限原则,允许普通用户以管理员身份执行特定命令。然而,不当配置会破坏这一安全模型,导致权限提升风险。从技术价值看,理解sudo的配置逻辑不仅能提升系统管理效率,更是防范本地提权攻击的关键。在实际应用场景中,无论是服务器运维、容器环境管理还是自动化脚本执行,sudo都扮演着重要角色。本文聚焦sudo配置中的常见安全漏洞,特别是环境变量继承和命令授权不当等问题,通过分析经典提权路径,提供从配置硬化到行为

weixin_30336061的博客 381

机械工程师如何用Codex实现CAD自动化:从重复劳动到智能设计

在机械设计领域,CAD二次开发长期面临学习门槛高、维护成本大的难题。随着AI编程助手如Codex的出现,通过自然语言生成可执行代码,工程师无需精通编程即可实现图纸批量处理、BOM表自动生成、参数化建模等任务。这种技术将重复性操作自动化,显著提升设计效率,让工程师聚焦于核心创新。应用场景涵盖批量修改图纸属性、跨软件数据流转、自动打印等。本文分享机械工程师利用Codex落地自动化的实战经验与避坑指南。

weixin_32296621的博客 357

Oracle 安装“权限不够”

在VMware 6.0 虚拟机下使用RHE5安装Oralce 10G,安装前的一切准备就绪后,把Oracle10g的ISO文件映射到虚拟机光驱中,执行. ./media/10g_linux_x86_db/install/runInstaller出现:    bash: /media/10g_linux_x86_db/install/runInstaller:权限不够解决方法:(1)

碎心的专栏 1万+

基于STM32F4的NRF24L01驱动程序

基于STM32F4xx的NRF24L01驱动程序 提示:硬件平台基于STM32F427VIT6、NRF24L01模块 文章目录基于STM32F4xx的NRF24L01驱动程序前言一、NRF24L01简单介绍1,什么是NRF24L012,NRF24L01通信方法3,NRF24L01通信原理4,地址分配&通道分配问题二、STM32CubeMX配置三、添加底层文件1,添加.c/.h文件到工程中2,使用说明四,下载 前言 提示:本例程采用STM32CubeMX配置底层,采用硬件SPI方式驱动NRF24

qq_43603289的博客 2813

提示-bash: command not found的解决方法集锦

3、export PATH=“$PATH:/phpstudy/mysql/bin” #在该文件中加入 command not found 的应用 bin 目录,这里我是将 mysql 的 bin 放到这里,因为我是 mysqld / mysqldump / mysqladmin 命令用不了。第三个这和Windows是相同的道理,都是环境变量惹的祸,就是说你的 命令的 执行文件不在 /usr/bin 或者 /etc/init.d 中,他就找不到 执行该命令的 文件来执行。1.你将命令的名称拼错了。

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 8万+

[STM32]HAL STM32F103 软件I2C读写MPU6050(附DMP库移植)

本文介绍了如何在STM32F103C8T6上通过I2C协议与MPU6050传感器通信并实现DMP功能。首先,使用STM32CubeMX配置项目,设置时钟和I2C接口。然后,编写软件I2C协议的读写函数与MPU6050交互。接着,移植DMP库并进行必要修改,获取加速度计和陀螺仪数据,并将其转换为欧拉角显示在OLED上。最后,利用Keil的逻辑分析仪监测I2C时序。

m0_56841583的博客 2321

示波器面板上的隐藏功能:如何利用BW Limit和EXT TRIG提升测量精度

本文深入探讨示波器面板上的隐藏功能BW Limit和EXT TRIG,揭示它们如何提升测量精度。通过带宽限制(BW Limit)有效滤除高频噪声,结合外部触发(EXT TRIG)确保稳定信号捕获,为电子测量提供专业解决方案。特别适用于开关电源、传感器信号等复杂场景的高精度测量需求。

weixin_30300225的博客 518

linux所有命令都用不了:-bash: **: 未找到命令

描述: 环境变量文件改坏了,不管输入什么命令都显示 “-bash: **: 未找到命令” 解决办法: 终端输入: export PATH=/bin:/usr/bin:$PATH

AnnyYoung的后花园 1万+

DLMS—Cryptographic algorithms—(Green-Book)加密算法

密码学是数学的一个分支,基于数据的转换,并且可以用来提供多种安全服务:保密性、数据完整性、认证、授权和不可否认性。密码学依赖于两个基本组成部分:算法(或密码学方法)和密钥。算法是一个数学函数,而密钥是在转换过程中使用的参数。密码算法和密钥用于对数据应用密码保护(例如,加密数据或生成数字签名),以及移除或检查保护(例如,解密加密的数据或验证数字签名)。密码哈希函数:这类函数不需要密钥(尽管它们可以以使用密钥的模式使用)。哈希函数通常用作算法的一个组成部分,以提供安全服务。见9.2.3.2节。对称密钥算法。

一个bug是bug,多个bug能work 1707

sudo加入授权用户后使用命令报找不到命令错误

在linux使用sudo操作root权限的时候遇到与下面类似的问题, 1.先以root身份将能执行sudo命令的用户加入到sudo配置文件中 2.执行visudo,其实就是修改/etc/sudoers 3.添加用户,规则如下: youuser ALL=(ALL) ALL %youuser ALL=(ALL) ALL youuser ALL=(ALL) N

m0_37695902的博客 7064

【Unity Shader】Special Effects(十二)Glow 外发光(UI)

Properties_GlowColor ("外发光颜色", Color) = (0, 0, 0, 1)_GlowIntensity("外发光强度", Range(0, 1)) = 1参数详解:_GlowColor:外发光颜色,指定外发光的显示颜色。_GlowIntensity:外发光强度,指定外发光的显示强度,0为不可见,1为最强强度。

神码编程 931

基于STM32单片机智能循迹小车毕业设计

本文介绍了一种利用STM32F103C8T6单片机为控制核心,结合多种传感器以及PID算法实现循迹避障功能的智能小车。随着我国高科技水平的不断提高和工业自动化进程的不断推进,智能小车被广泛应用于各种玩具和其他产品的设计中,极大地丰富了人们的生活。本次设计利用反射式红外光电传感器探测路面黑线实现小车循迹,利用超声波测距传感器探测路径上的障碍,控制小车自动避障,整个系统具有自动循迹、自动避障、速度检测和无线遥控功能。其中,控制部分采用STM32F103C8T6单片机,STM32F103C8T6单片机是一

qq_48771816的博客 3974

Linux/Mac文件权限管理与chmod命令详解

文件权限是Unix-like系统中的基础安全机制,通过权限位控制用户对文件的访问。Linux和Mac系统使用rwx(读、写、执行)权限模型,配合chmod命令可精确控制文件访问权限。合理设置权限既能保障系统安全,又能确保脚本正常执行,特别是在部署自动化脚本、管理共享文件等场景中尤为重要。针对常见的Permission denied错误,掌握chmod命令的数字表示法(如755、644)和符号表示法(如+x)是开发者的必备技能。本文通过典型场景分析,详解如何解决从GitHub下载脚本、Docker容器执行等实

lizaochengwen的专栏 457

【FPGA教程案例49】控制案例1——基于FPGA的PID控制器verilog实现

PID控制器产生于1915年,PID控制律的概念最早是由LYAPIMOV提出的,到目前为止,PID控制器以及改进的PID控制器在工业控制领域里最为常见。PID控制器(比例-积分-微分控制器),由比例单元 P、积分单元 I 和微分单元 D 组成。通过Kp,Ki和Kd三个参数的设定。PID控制器主要适用于基本线性和动态特性不随时间变化的系统。图1为PID控制器的基本结构框图。PID控制器以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。...

FPGA/MATLAB学习教程/源码/项目合作开发 4527

运行Docker需要频繁sudo问题

运行Docker需要频繁sudo问题 运行docker命令时,如果不用root或在命令前添加sudo,经常会遇上这样的提示 lawaias233@ILoveU:~ 16:39:$ docker ps -a Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/con

qq_43304321的博客 388

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

CentOS 8 用户管理:从 adduser/userdel 到 wheel 组与 sudo 权限闭环

Linux 用户管理是操作系统权限体系(AAA:认证、授权、审计)的基础实践,其核心在于用户身份与权限策略的精准绑定。在 CentOS 8 这一广泛用于教学、嵌入式及遗留生产环境的 EOL 发行版中,`adduser` 与 `userdel` 并非简单增删账号,而是触发 PAM 认证、shadow 密码数据库更新、sudoers 策略加载及 setuid 机制激活的关键操作。尤其 `wheel` 组作为 RHEL/CentOS 系列提权的强制入口,与 `sudo` 的 setuid 位共同构成权限提升的物理

leonard61306500的专栏 409

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Ubuntu 18.04 创建sudo用户完整指南:权限、验证与排错

sudo是Linux系统中实现最小权限提权的核心机制,其本质是通过组成员关系(而非修改UID)动态授予临时root能力,并依赖setuid位和严格的/etc/sudoers策略文件进行控制。该机制保障了操作可审计(记录于/var/log/auth.log)、行为可追溯、权限可收敛,是生产环境安全基线的关键组成。在Ubuntu 18.04中,标准实践是使用adduser创建用户、usermod -aG sudo授予权限,并通过sudo -l和日志验证生效;常见失效原因包括组权限未重登录生效、sudoers语法

weixin_34326558的博客 328

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Linux:以非root宿主机用户同名身份使用docker容器,共享文件读写执行权限,并能够在容器中执行sudo命令

场景 笔者在宿主机上的用户,是一个具有“宿主机上sudo权限”的非root用户。现在在宿主机有资源文件夹CPP,里边有各种库。但是有的库需要glibc 2.31才能用。然而,宿主机ubuntu 16.04的glibc版本为2.23,且无法升级(升级了可能16.04的系统就打不开了,这系统太老)。所以,笔者决定采用docker拉取一个ubuntu 20.04 的镜像,挂载宿主机CPP文件夹到容器的/mnt文件夹,从而完成开发工作。 问题 docker run创建容器时,在容器中默认使用root用户。或者可以通

weixin_44115162的博客 6189

docker容器里面如何查看runtime/logs/的权限?底层原理是什么?

是通过 Docker 卷挂载到宿主机的目录,需要确保宿主机上的目录权限正确。在构建镜像时,可以通过 Dockerfile 设置权限。如果使用 Docker Compose,可以在。进入容器后,运行以下命令检查。

长风破浪会有时的博客 931

CentOS 8 创建带sudo权限的普通用户最佳实践

在Linux系统中,普通用户通过sudo机制获得临时特权是权限管理的核心范式。其原理基于setuid机制与PAM认证链协同工作,确保命令执行时有效用户ID(EUID)动态提升并受审计约束。该技术显著降低root账户滥用风险,提升系统可追溯性与合规性,广泛应用于生产服务器、虚拟化开发环境(如VMware/VirtualBox)及自动化运维场景。本文聚焦CentOS 8原生安全体系,深入解析wheel组的SELinux上下文继承、pam_wheel模块联动等关键机制,并结合密码策略强制落地、sudo日志闭环验证

weixin_30764883的博客 484

Linux环境变量劫持与sudo权限滥用实战:从Web渗透到Root提权

在Linux系统安全与渗透测试领域,理解操作系统核心机制是发现和利用安全漏洞的基础。环境变量(如PATH)作为进程执行时查找命令的关键路径,其配置不当可能引发严重的安全风险。当用户通过sudo执行特定命令时,若环境变量未被安全重置或过滤,攻击者可通过劫持PATH变量,诱使系统优先执行恶意程序,从而实现权限提升。这种技术常与sudo权限配置缺陷结合,形成从Web应用漏洞到系统级提权的完整攻击链。本文以一次靶机渗透实战为例,深入剖析了环境变量劫持与sudo权限滥用的原理、利用方法及防御思路,为系统安全加固与渗透

weixin_34121304的博客 382

CentOS 8 创建 sudo 用户:从 setuid 权限到 wheel 组深度解析

sudo 是 Linux 系统中实现权限提升的核心机制,其本质依赖于 setuid 位与用户组策略的协同工作。当执行 sudo 命令时,内核通过 setuid 机制将进程的有效用户 ID(euid)临时提升为 root(UID=0),从而获得高权限执行能力;若 /usr/bin/sudo 权限位丢失(如显示 -rwxr-xr-x 而非 -rwsr-xr-x),则触发 'effective user id is not 0' 错误。在 CentOS 8 中,该机制与 wheel 组深度绑定——用户需加入 wh

jlins_you的专栏 440
上一篇: 运行opentracker时遇到以下错误,显示找不到共享库文件libopentracker.so
下一篇: ros控制小乌龟
hinihao234
博客等级 码龄7年 37粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值