一、shell命令以及運行原理
Linux嚴格意義上說的是一個操作系統,我們稱之為“核心(kernel)“ ,但我們一般用戶,不能直接使用kernel。
而是通過kernel的“外殼”程序,也就是所謂的shell,來與kernel溝通。如何理解?為什么不能直接使用kernel?
? ? 從技術角度,Shell的最簡單定義:命令行解釋器(command Interpreter)主要包含:
? ? 將使用者的命令翻譯給核心(kernel)處理。
? ? 同時,將核心的處理結果翻譯給使用者。
對比windows GUI,我們操作windows 不是直接操作windows內核,而是通過圖形接口,點擊,從而完成我們的操作(比如進入D盤的操作,我們通常是雙擊D盤盤符.或者運行起來一個應用程序)。
shell 對于Linux,有相同的作用,主要是對我們的指令進行解析,解析指令給Linux內核。反饋結果在通過內核運行出結果,通過shell解析給用戶。
二、Linux權限的概念
Linux下有兩種用戶:超級用戶(root)、普通用戶。
. 超級用戶:可以再linux系統下做任何事情,不受限制
. 普通用戶:在linux下做有限的事情。
. 超級用戶的命令提示符是“#”,普通用戶的命令提示符是“$”。
命令:su [用戶名]
功能:切換用戶。
? ? 例如,要從root用戶切換到普通用戶user,則使用 su user。 要從普通用戶user切換到root用戶則使用 su
? ? root(root可以省略),此時系統會提示輸入root用戶的口令
Linux權限管理
文件訪問者的分類(人)
. 文件和文件目錄的所有者:u—User(中國平民 法律問題)
. 文件和文件目錄的所有者所在的組的用戶:g—Group(不多說)
. 其它用戶:o—Others (外國人)
基本權限
i.讀(r/4):Read對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽該目錄信息的權限
ii.寫(w/2):Write對文件而言,具有修改文件內容的權限;對目錄來說具有刪除移動目錄內文件的權限
iii.執行(x/1):execute對文件而言,具有執行文件的權限;對目錄來說,具有進入目錄的權限
iv.“—”表示不具有該項權限
文件訪問權限的相關設置方法
chmod
功能: 設置文件的訪問權限
格式: chmod [參數] 權限 文件名
? ? 常用選項:
? ? R -> 遞歸修改目錄文件的權限
? ? 說明:只有文件的擁有者和root才可以改變文件的權限
chmod命令權限值的格式
用戶表示符+/-=權限字符
# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt
chmod a=x /home/abc.txt
三位8進制數字
# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt
chown
功能: 修改文件的擁有者
格式: chown [參數] 用戶名 文件名
實例:
# chown user1 f1
# chown -R user1 filegroup1
chgrp
功能: 修改文件或目錄的所屬組
格式: chgrp [參數] 用戶組名 文件名
常用選項:-R 遞歸修改文件或目錄的所屬組
實例:
chgrp users /abc/f2
umask
功能:
查看或修改文件掩碼
新建文件夾默認權限=0666
新建目錄默認權限=0777
但實際上你所創建的文件和目錄,看到的權限往往不是上面這個值。原因就是創建文件或目錄的時候還要受到umask的影響。假設默認權限是mask,則實際創建的出來的文件權限是: mask & ~umask
格式: umask 權限值
說明: 將現有的存取權限減去權限掩碼后,即可產生建立文件時預設權限。超級用戶默認掩碼值為0022,普通用戶默認為0002。
實例:
# umask 755
# umask //查看
# umask 044//設置