用戶(全部者):誰建立的目錄 至關於一個標識符,就跟點名冊是同一個道理,在系統上標識出有這麼一我的,對資源或服務有必定的訪問權限算法
用戶組(所屬組):能夠理解爲一個權限容器或者將權限的集合,把除了管理員以外的用戶放在裏頭讓他們擁有訪問服務和資源的權限,同時這個容器還能夠關聯權限 ,方便指派權限shell
進程到底可以訪問哪些權限,取決於進程自己的權限和所訪問文件的權限,這叫作進程的安全上下文。數據庫
r:可讀 ,可使用相似cat等命令查看安全
w:可寫 ,能夠編輯或刪除此文件bash
x:可執行,能夠在命令提示符下看成命令提交給內核運行,操作系統
r:可使用ls以列出內部的全部文件,但不能查看詳細信息翻譯
w:能夠再次目錄建立文件:刪除要取決於文件自身的權限3d
x:可使用cd切換進此目錄,也可以使用ls –l查看內部文件的詳細信息,沒有X執行權只能使用ls不能查看內部文件的詳細信息blog
例:rw- r-- ---:640 數字表示就是640遞歸
全部者具備讀寫權 所屬組具備寫的權利 而其餘人沒有權限
用戶:UID /etc/passwd
解釋:每一個用戶都有一個標識符 那麼UID就是用戶的標識符,操做系統會將用戶名自動翻譯成UID號 ,那麼操做系統怎麼知道一個用戶的UID號究竟是什麼?
那麼必需要有一個數據庫,從系統中查找 把用戶名轉換成UID號,這個轉換的過程就叫作解析
因此/etc/passwd就是一個數據庫 一個記錄用戶名解析成UID號的數據庫
組:GID /etc/group
解釋:組的標識,組的數據庫在/etc/group
影子口令:
用戶密碼:/etc/Shadow
用戶的密碼就存放在/etc/shadow裏
組密碼:/etc/gshadow
用戶類別:
用id -a 用戶名查看
管理員: root 0
系統用戶:0—500
通常用戶:500—60000
什麼叫系統用戶:其實進程也是須要做爲用戶去執行的,因此執行進程也能夠理解爲系統用戶
用戶組的類別
私有組:建立用戶時,若是沒有爲其指定所屬的組,系統會自動爲其建立一個和用戶名相同的組
附加組:額外組,默認組意外的其餘組
基本組:用戶默認的組
Chmod :更改用戶的使用權限
-R 遞歸修改權限 把文件夾的全部權限都更改
格式 Chmod 文件權限 文件名
例chmod 755 tmp
把文件夾的用戶使用權限 更改爲755
755到底什麼意思 上面都有解釋
另外一種方法
Chmod u +或者- 或者= r x w u是屬主 rxw分別是讀寫執行
g +或者- r x w g是屬組
o +或者- r x w o是其餘人
= :替換權限 若是是空格那麼就是不給權限
第一種適合 單個更改一種文件 第二種適合遞歸修改全部文件
第一種針對於文件權限 第二種則是更改成用戶權限,若是須要遞歸修改文件夾的裏的內容, 文件是不該該用有執行權的,若是使用755數字方式沒法再兼顧文件權限的同時還要區分文件和文件夾,因此使用第二種方式從用戶方面下手更改
Chown:更改文件的屬主,屬組
-R 遞歸修改權限 把文件夾的全部權限都更改
格式chown 文件的屬主:文件的屬組 文件或者文件夾名稱
例 chown wulei:wulei tmp
把文件tmp的屬主和屬組 所有更改爲wulei
爲何默認建立權限是755 664呢?
umask:遮罩碼
umask (用戶名):能夠直接查看用戶的遮罩碼
建立文件:666 –umask
建立目錄:777 –umask
如何設定 目錄或者文件的初始權限呢?
Umask -p後面跟須要減小的權限數字
umask –p 022 也就是如今的umask數值爲022
umask –p 權限號 用戶名 : 這種能夠直接更改指定用戶的初始建立權限
在用777 -022 就是用戶的初始權限了 目錄初始權限爲755
umaks –S 大寫S 直接用u= rxw g=rw o=x 這種數字方式顯示出來
在用777 -022 就是用戶的初始權限了 目錄初始權限爲755
站在用戶登陸的視角來看shell類型有兩種
登陸式shell
正常經過某終端登陸
Su – 用戶名
Su –l 用戶名
配置更改在全局配置裏,對全部人都生效
配置更改在我的配置裏只對某一我的生效,
若是兩個配置都有 以我的配置爲準
全局配置
全局配置文件:/etc/profile /etc/profile.d/*.sh /etc/bashrc
我的配置
我的配置文件:/home/用戶名/.bash_profile /home/用戶名/.bashrc
profile 類文件
設定環境變量
運行命令或腳本
這類文件裏面定義的環境設定是很是多的
bashrc類文件
設定本地變量
定義命令別名
登陸式shell如何讀取配置文件
最早讀取/etc/profile → /etc/profile.d/*.sh →/home/用戶/.bash_profile → /home/用戶/.bashrc → etc/bashrc
這種shell是登陸式登陸 也成徹底切換 徹底切換成用戶身份
非登陸式shell
Su 用戶名
非登陸
先讀取/home/用戶/.bashrc → etc/bashrc → /etc/profile.d/*.sh
profile 類文件
設定環境變量
運行命令或腳本
這類文件裏面定義的環境設定是很是多的
bashrc類文件
設定本地變量
定義命令別名
這種就是非登陸shell 沒有徹底切換
圖紙終端打開命令窗口 也是非登陸的
自動執行的shell腳本
Bashshell的配置文件
能夠根據須要進入/etc 自行更改配置文件 以達到須要