嵌入式Linux基礎知識6(ubuntu16 下操作目錄,出現Permission denied的解決辦法)
需求說明:IPC專案需要Linux系統,知識儲備
來自:時間的詩
1、問題
在對目錄(share_windows)進行操作的時候,出現這樣一個提示Permission denied
查閱資料是許可權沒設好
解決的辦法:
$ sudo chmod -R 777 share_windows
注:-R 是指級聯應用到目錄裡的所有子目錄和檔案
777 是所有使用者都擁有最高許可權
檔案/目錄許可權設定命令:chmod
這是Linux系統管理員最常用到的命令之一,它用於改變檔案或目錄的訪問許可權。該命令有兩種用法:
用包含字母和操作符表示式的文字設定法
其語法格式為:chmod [who] [opt] [mode] 檔案/目錄名
其中who表示物件,是以下字母中的一個或組合:
u:表示檔案所有者
g:表示同組使用者
o:表示其它使用者
a:表示所有使用者
opt則是代表操作,可以為:
+:新增某個許可權
-:取消某個許可權
=:賦予給定的許可權,並取消原有的許可權
而mode則代表權限:
r:可讀
w:可寫
x:可執行
例如:為同組使用者增加對檔案a.txt的讀寫許可權:
chmod g+rw a.txt
用數字設定法
而數字設定法則更為簡單:chmod [mode] 檔名
關鍵是mode的取值,一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進位制數,如果有則有1表示,沒有則有0表示,那麼rwx r-x r- -則可以表示成為:
111 101 100
再將其每三位轉換成為一個十進位制數,就是754。
例如,我們想讓a.txt這個檔案的許可權為:
自己 同組使用者 其他使用者
可讀 是 是 是
可寫 是 是 可執行
那麼,我們先根據上表得到許可權串為:rw-rw-r--,那麼轉換成二進位制數就是110 110 100,再每三位轉換成為一個十進位制數,就得到664,因此我 們執行命令:
chmod 664 a.txt