Linux普通用戶執行提示權限不夠,sudo提示找不到命令


問題源於使用哈工大老師操作系統課程的環境時,運行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
總用量 74220
drwxrwxr-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:20 bochsout.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:48 gdb
-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:07 run
-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*

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM