Linux許可權管理(使用者和組以及檔案許可權)
目錄
1.linux系統啟動級別管理
檢視系統執行級別:runlevel
修改系統啟動級別:vim /etc/inittab,把末尾行id改為3即可,預設是5,即圖形介面(修改完重啟)
2.linux終端工具CRT
給大家推薦一個命令終端工具SecureCRT,類似的遠端終端工具有XShell,Putty等等。
3.使用者和組
3.1.概念
什麼是使用者?什麼是使用者組?使用者就是一組許可權的集合。組是許可權容器。
3.2.Linux使用者型別
使用者型別 |
描述 |
管理員root |
具有使用系統所有許可權的使用者,其UID為0 |
系統使用者 |
保障系統執行的使用者,一般不提供密碼登入系統,其UID為1-499之間 |
普通使用者 |
一般使用者,其使用系統的許可權受限,其UID為500-60000之間 |
3.3.與linux使用者資訊相關的2個檔案
與使用者資訊相關的2個檔案分別是/etc/passwd和/etc/shadow。
檔案內容含義解釋
檢視檔案cat /etc/passwd的內容,選取第一行:root:x:0:0:root:/root:/bin/bash root:使用者名稱 x:密碼佔位符,密碼儲存在/etc/shadow檔案內 0:使用者id,UID 0:組id,GID root:註釋資訊 /root:使用者家目錄 /bin/bash:使用者預設使用shell |
3.3.使用者操作:新增使用者、修改密碼、修改使用者和刪除使用者
新增使用者:
- useradd spark
- usermod -G bigdata spark #設定組
- usermod -c "mylove spark" spark #添加註釋資訊
- useradd -G bigdata -c "mylove spark" spark #一步完成上面的操作
設定密碼:passwd spark #根據提示設定密碼即可
修改使用者:
- usermod -l storm spark #修改spark登入名
- usermod -G root,bigdata spark #將spark新增到bigdata和root組
- groups spark #檢視spark組資訊
刪除使用者:userdel -r spark #加一個 -r 就表示把使用者及使用者的主目錄都刪除
3.4.使用者組型別
使用者組型別 |
描述 |
系統組 |
一般加入一些系統使用者 |
普通使用者組 |
可以加入多個使用者 |
私有組 / 基本組 |
當建立使用者時,如果沒有為其指明所屬組,則就為其定義一個私有的使用者組,起名稱與使用者名稱同名,當把其他使用者加入到該組中,則其就變成了普通組 |
3.5.與linux使用者組資訊相關的2個檔案
與使用者組資訊相關的2個檔案分別是 /etc/group 和 /etc/gshadow。
檔案內容含義解釋:
檢視檔案/etc/group 檔案內容,選取一個普通組行:hdp01:x:500: hdp01:組名 x:組密碼佔位符 500:組id |
3.6.使用者組操作:新增組、修改組、刪除組
- groupadd bigdata #新增一個叫bigdata的組
- cat /etc/group #檢視系統當前有哪些組
- 將spark使用者新增到bigdata組中
- usermod -G bigdata spark
- gpasswd -a spark bigdata
- gpasswd -d spark bigdata #將spark使用者從bigdata組刪除
- groupmod -n bigspark bigdata #將bigdata組名修改為bigspark
- groupdel bigdata #刪除組
4.配置普通使用者sudoers許可權
為什麼需要為普通使用者配置sudoers許可權?
一般情況下,使用普通使用者進行一些簡單的操作就ok,但是普通使用者和root使用者的區別就在於root使用者能對系統做任何事,但是普通使用者就不行,處處受限。那麼假如在某些情況下,普通使用者想要擁有更大的許可權做更多的事情,雖然有許可權限制,但也不是不可以。部分操作還是可以賦予更高的許可權讓普通使用者做一次。這就需要給普通使用者配置root許可權了。意思是讓普通使用者使用root許可權去做一些操作,這當然是需要配置的。
如何為使用者配置sudoers許可權?步驟如下:
1.切換到root使用者
2.執行:vim /etc/sudoers #只有root使用者才能修改此檔案,只讀就強制修改即 wq!
3.在檔案的如下位置,為hadoop使用者和spark使用者新增一行即可:
- root ALL=(ALL) ALL
- hadoop ALL=(ALL) ALL
- spark ALL=(ALL) ALL
4.然後,hadoop使用者和spark使用者就可以用sudo來執行系統級別的指令。如下:
- [[email protected] ~]$ sudo useradd huangxiaoming
5.切換使用者
在linux系統使用過程中,免不了會有多個使用者來回切換使用。所以在此提供切換使用者的操作:切換使用者使用的命令是 su(swith user)
從普通使用者切換到root使用者:
[[email protected] ~]$ su root 或者 [[email protected] ~]$ su ## 然後根據提示輸入密碼即可
從root使用者切換到普通使用者:
[[email protected] ~]# su hadoop ## 不用輸入密碼
退出登入:
[[email protected] ~]$ exit
6.檔案許可權
6.1.檔案資訊含義解釋
檔案資訊:drwxr-xr-x. 2 root root 4096 Oct 29 16:43 Desktop
- drwxr-xr-x:檔案型別和許可權。第1位:檔案型別,剩餘9位:檔案許可權
- 2:連結數,普通檔案連結數是1,目錄連結數是子目錄的個數。空目錄有.. 和.目錄,所以是2。
- root:當前檔案所屬使用者
- root :當前檔案所屬組
- 4096:檔案大小
- Oct 29 16:43:最後修改日期
- Desktop:檔名稱
檔案型別:
- d:目錄
- -:普通檔案
- l:連結檔案
- c:字元裝置
- b:二進位制裝置檔案
- p:管道
檔案許可權:rwx r-x r-x
- 前3位:所屬使用者許可權(u)。是否可讀,是否可寫,是否可執行。每一位可以用二進位制0/1表示,3為合起來就是十進位制數字。比如rwx,二進位制表示就是111,十進位制表示就是7。
- 中3位:所屬組許可權(g)。是否可讀,是否可寫,是否可執行。每一位可以用二進位制0/1表示,3為合起來就是十進位制數字。比如r-x,二進位制表示就是101,十進位制表示就是5。
- 後3位:其他使用者許可權(o)。是否可讀,是否可寫,是否可執行。每一位可以用二進位制0/1表示,3為合起來就是十進位制數字。比如r-x,二進位制表示就是101,十進位制表示就是5。
檔案 |
資料夾 |
|
r |
可讀取內容 |
可以ls |
w |
可修改檔案的內容 |
可以在其中建立或者刪除子節點 |
x |
能否執行這個檔案 |
能否cd進入這個目錄 |
6.2.修改檔案許可權
- chmod g-rw haha.txt ##表示將haha.txt對所屬組的rw許可權取消
- chmod o-rw haha.txt ##表示將haha.txt對其他人的rw許可權取消
- chmod u+x haha.txt ##表示將haha.txt對所屬使用者的許可權增加x
- chmod a-x haha.txt ##表示將haha.txt對所有使用者取消x許可權
- chmod 664 haha.txt ##也可以用數字的方式來修改許可權,就會改成rw-rw-r--
- chmod -R 770 aaa/ ##將資料夾的所有內容許可權統一修改,則可使用-R引數
6.3.修改檔案所有權
只有root許可權能執行,普通使用者使用sudo:
- chown angela aaa ##改變所屬使用者
- chown :angela aaa ##改變所屬組
- chown angela:angela aaa ##同時修改所屬使用者和所屬組
- chown -R angela:angela bb ##bb是目錄,表示修改當前目錄及其所有子目錄和檔案的所屬使用者和所屬組