Linux報錯:mkdir:無法創建目錄“/opt/apps/xxx/logs“: Permission denied


1 chmod簡單使用

Linux chmod(英文全拼:change mode)命令是控制用戶對文件的權限的命令
Linux/Unix 的文件調用權限分為三級 : 文件所有者(Owner)、用戶組(Group)、其它用戶(Other Users)。

img

只有文件所有者和超級用戶可以修改文件或目錄的權限。可以使用絕對模式(八進制數字模式),符號模式指定文件的權限。

img

使用權限 : 所有使用者

語法

chmod [-cfvR] [--help] [--version] mode file...

八進制語法

chmod命令可以使用八進制數來指定權限。文件或目錄的權限位是由9個權限位來控制,每三位為一組,它們分別是文件所有者(User)的讀、寫、執行,用戶組(Group)的讀、寫、執行以及其它用戶(Other)的讀、寫、執行。歷史上,文件權限被放在一個比特掩碼中,掩碼中指定的比特位設為1,用來說明一個類具有相應的優先級。

# 權限 rwx 二進制
7 讀 + 寫 + 執行 rwx 111
6 讀 + 寫 rw- 110
5 讀 + 執行 r-x 101
4 只讀 r– 100
3 寫 + 執行 -wx 011
2 只寫 -w- 010
1 只執行 –x 001
0 000

例如, 765 將這樣解釋:

  • 所有者的權限用數字表達:屬主的那三個權限位的數字加起來的總和。如 rwx ,也就是 4+2+1 ,應該是 7。
  • 用戶組的權限用數字表達:屬組的那個權限位數字的相加的總和。如 rw- ,也就是 4+2+0 ,應該是 6。
  • 其它用戶的權限數字表達:其它用戶權限位的數字相加的總和。如 r-x ,也就是 4+0+1 ,應該是 5。

實例

chmod用數字來表示權限如 :

chmod 777 file

語法為:

chmod abc file

其中a,b,c各為一個數字,分別表示User、Group、及Other的權限。

r=4,w=2,x=1

  • 若要 rwx 屬性則 4+2+1=7;
  • 若要 rw- 屬性則 4+2=6;
  • 若要 r-x 屬性則 4+1=5。
chmod a=rwx file

chmod 777 file

效果相同

chmod ug=rwx,o=x file

chmod 771 file

效果相同

若用 chmod 4755 filename 可使此程序具有 root 的權限。

2 啟動時提示權限不夠

出現了slave1:mkdir :無法創建目錄"/opt/apps/hadoop/logs":權限不夠
slave2:mkdir:無法創建目錄"/opt/apps/hadoop/logs":權限不夠
顧名思義肯定是slave1,和slave2不能自動創建日志文件,slave1,和slave2都是通過master克隆,都有root權限,所以使用以下指令:sudo chown -R 你自己電腦的用戶名 /usr/local/hadoop
這個指令肯定是要在slave1,slave2下執行的,執行后,再回到master下start-all.sh,成功。

如果hdfs先檢查hdfs下是不是有/hbase ,如果沒有先新建/hbase,新建后更改權限
hdfs dfs -chmod 777 /hbase
重啟Hbase


免責聲明!

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



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