Linux普通用户执行提示权限不够,sudo提示找不到命令

摘要:
env_重置2.编辑文件~/。bashrcsudovi~/。bashrc在文件末尾添加一行。好的,你可以在任何地方添加新行。

问题源于使用哈工大老师操作系统课程的环境时,运行run这个shell文件出现这样的情况:

song@ubuntu:~/workspace/oslab$ ./run
-bash: ./run: 权限不够
song@ubuntu:~/workspace/oslab$ sudo ./run
sudo: ./run:找不到命令

搜索网上有这样的解决过程

1.编辑文件 /etc/sudoers,将Defaults env_reset ,改为 Defaults !env_reset
sudo vi /etc/sudoers
Defaults !env_reset
2.编辑文件~/.bashrc
sudo vi ~/.bashrc
在文件末尾添加新行,好吧在哪添加新行都成。
alias sudo='sudo env PATH=$PATH'
添加完之后,再source一下
source ~/.bashrc

---------------------
作者:Fighter Fong
来源:CSDN
原文:https://blog.csdn.net/qq_34296627/article/details/82828545

但是结果如下:

song@ubuntu:~/workspace/oslab$ ./run
bash: ./run: 权限不够
song@ubuntu:~/workspace/oslab$ sudo ./run
env: "./run": 权限不够

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

root@ubuntu:/home/song/workspace/oslab# ll
总用量 74220drwxrwxr-x  5 song song     4096 Mar 14 21:54 ./drwxrwxr-x  3 song song     4096 Mar 14 14:51 ../drwxrwxr-x  2 song song     4096 Mar 14 20:19 bochs/
-rw-rw-r--  1 song song    18135 Mar 14 20:20bochsout.txt
-rw-rw-r--  1 song song      115 Mar 14 14:48 dbg-asm
-rw-rw-r--  1 song song      119 Mar 14 14:48 dbg-c
-rw-rw-r--  1 song song 12423461 Mar 14 14:48gdb
-rw-rw-r--  1 song song       75 Mar 14 14:48 gdb-cmd.txt
drwxrwxr-x  2 song song     4096 Mar 14 14:48 hdc/
-rw-rw-r--  1 song song 63504384 Mar 14 20:20 hdc-0.11.img
drwxrwxr-x 10 song song     4096 Mar 14 15:13 linux-0.11/
-rw-rw-r--  1 song song      126 Mar 14 14:48 mount-hdc
-rw-rw-r--  1 song song      254 Mar 14 21:07run
-rw-rw-r--  1 song song      268 Mar 14 14:48 rungdb

使用chmod命令给文件加权限

chmod的语法格式如下:

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

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

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

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

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

果断chmod +x run

-rwxrwxr-x  1 song song      254 Mar 14 21:07 run*

免责声明:文章转载自《Linux普通用户执行提示权限不够,sudo提示找不到命令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【原创】Spring连接、事务代码分析js之预解析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux使用inode(i节点号)删除文件

今天学习Linux的时候遇到的知识点,想起了以前一次线下AWD攻防赛的时候的不死马,记录一下 在Linux里面,有的时候我们会遇到奇奇怪怪的文件名,以至于我们删除不了,比如说我们创建了一个叫做"hello world"的文件,因为中间添加了空格,所以我们删除的时候如果使用 rm hello world 就会出错 当然我们可以使用 rm "hello wo...

关于安装ROS的资料备份

#关于rosdep update的解决方法常见的几种 1.排除网络问题 2.增加TIMEOUT的时间: 更改 /usr/lib/python2.7/dist-packages/rosdep2/下的三个文件sources_list.py、gbpdistro_support.py、rep3.py中的DOWNLOAD_TIMEOUT = 15.0值,改大一点就...

虚拟化之KVM virsh常用命令篇

1,查看运行的虚拟机 virsh list 2,查看所有的虚拟机(关闭和运行的虚拟机) virsh list --all 3,连接虚拟机 virsh console +域名(虚拟机的名称) 4,退出虚拟机 ctrl+] 5,关闭虚拟机 5.1    virsh shutdown +域名   这个时候我在virsh list发现 test02这个虚拟机还是在...

Linux计划任务.md

crond crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 Linux下的任务调度分为两类,系统任务调度和用户任务调度。...

ubuntu安装相关

安装系统参考:http://xinzhi.wenda.so.com/a/1523530837610141 首先进行更新源 sudo apt-get update 安装codeblocks sudo apt-get install codeblocks 安装josm、freeglut3-dev、aptitude 安装boost相关 sudo aptitude...

linux驱动编写之阻塞与非阻塞

一、概念       应用程序使用API接口,如open、read等来最终操作驱动,有两种结果--成功和失败。成功,很好处理,直接返回想要的结果;但是,失败,是继续等待,还是返回失败类型呢?  如果继续等待,将进程休眠,那么这类驱动设计就是阻塞式的;如果不等待,返回失败的类型(原因),那么这类驱动的设计就是非阻塞式的。       在应用程序打开驱动文件的...