1. 程式人生 > >Linux許可權管理(使用者和組以及檔案許可權)

Linux許可權管理(使用者和組以及檔案許可權)

目錄

1.linux系統啟動級別管理

2.linux終端工具CRT

3.使用者和組

4.配置使用者sudoers許可權

5.切換使用者

6.檔案許可權


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.使用者操作:新增使用者、修改密碼、修改使用者和刪除使用者

新增使用者

  1. useradd spark
  2. usermod -G bigdata spark #設定組
  3. usermod -c "mylove spark" spark #添加註釋資訊
  4. useradd -G bigdata -c "mylove spark" spark #一步完成上面的操作

設定密碼:passwd spark #根據提示設定密碼即可

修改使用者

  1. usermod -l storm spark #修改spark登入名
  2. usermod -G root,bigdata spark #將spark新增到bigdata和root組
  3. 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.使用者組操作:新增組、修改組、刪除組

  1. groupadd bigdata #新增一個叫bigdata的組
  2. cat /etc/group #檢視系統當前有哪些組
  3. 將spark使用者新增到bigdata組中
    1. usermod -G bigdata spark
    2. gpasswd -a spark bigdata
  4. gpasswd -d spark bigdata #將spark使用者從bigdata組刪除
  5. groupmod -n bigspark bigdata #將bigdata組名修改為bigspark
  6. 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來執行系統級別的指令。如下:

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是目錄,表示修改當前目錄及其所有子目錄和檔案的所屬使用者和所屬組