Linux環境下帳號和權限管理
bash
1、管理用戶帳號和組帳號服務器
1.1用戶帳號和組帳號概述ide
與Windows系統相比,Linux系統中的用戶帳號和組帳號的做用在本質上是同樣的。測試
1.1.1用戶帳號spa
Linux系統中,系統管理獎用戶帳號分爲不一樣的類型,其權限、角色也各不相同。3d
超級用戶: Root默認超級管理員,擁有最高權限blog
普通用戶: 由root用戶或其餘管理員建立,在本身宿主目錄中有文正權限遞歸
程序用戶: 安裝Linux系統及部分應用程序是,添加的一些特定的低權限用戶,通常不容許登陸系統,而僅用於維持系統或某個程序的正常運行
開發
1.1.2組帳號 get
每一個用戶至少屬於一個組,稱爲基本組(私有組),若用戶同時還包括在其餘的組中,稱爲附加組(公共組)。
1.1.3UID和GID號
每一個用戶帳號都有一個數字形式的身份標記,稱爲UID(user Identity用戶標識號),對系統核心來講,UID做爲區分用戶的基本依據,原則上每一個用戶的UID號應該是惟一的,root用戶的UID爲固定值0,而程序用戶UID號默認1~499, 500~60000UID號默認分配給普通用戶使用。
每一個組帳號都有一個數字形式的身份標記,稱爲GID(group Identity組標識號),root組帳號的GID爲固定值0,而程序組帳號GID號默認1~499, 500~60000UID號默認分配給普通組帳號使用。
2.2 用戶帳號管理
2.1.1 用戶帳號文件
/etc/passwd 保存用戶名稱、宿主目錄、登陸Shell等基本信息
/etc/shadow 保存用戶的密碼,帳號有效期等信息
/etc/skel 用戶模板目錄
查看/etc/passwd和/etc/shadow文件
2.2.2 添加、刪除、修改用戶帳號
useradd命令
命令格式 useradd [選項] [用戶名]
經常使用命令選項
-u:指定 UID 標記號
-d:指定宿主目錄,缺省爲 /home/用戶名
-e:指定賬號失效時間
-g:指定用戶的基本組名(或UID號)
-G:指定用戶的附加組名(或GID號)
-M:不爲用戶創建並初始化宿主目錄
-s:指定用戶的登陸Shell
建立用戶並查看信息
passswd命令——爲用戶建立密碼
命令格式 passwd [選項] 用戶名
經常使用命令選項
-d:清空用戶的密碼,使之無需密碼便可登陸
-l:鎖定用戶賬號
-S:查看用戶帳號的狀態(是否被鎖定)
-u:解鎖用戶帳號
usermod命令——修改用戶帳號屬性
命令格式 passwd [選項] 用戶名
經常使用命令選項
-l:更改用戶賬號的登陸名稱
-L:鎖定用戶帳戶
-U:解鎖用戶帳戶
如下選項與useradd命令中的含義相同
-u、-d、-e、-g、-G、-s
userdel 命令——刪除用戶帳號
命令格式 passwd [選項] 用戶名
添加 -r 選項時,表示連用戶的宿主目錄一併刪除
2.2.3 用戶帳號的初始配置文件
文件來源 新建用戶賬號時,從 /etc/skel 目錄中複製而來
主要的用戶初始配置文件
~/.bash_profile:用戶每次登陸時執行
~/.bashrc:每次進入新的Bash環境時執行
~/.bash_logout:用戶每次退出登陸時執行
3.1 組帳號管理
3.1.1 組帳號文件
與用戶賬號文件相相似
/etc/group:保存組賬號基本信息包括名稱、GID號、組成員等
/etc/gshadow:保存組賬號的密碼信息
3.1.2 添加、刪除、修改組帳號
groupadd命令——添加組帳號
命令格式 groupadd [選項] 組帳號名稱
選項 -g 指定GID號
gpasswd命令——添加、設置、刪除組成員
用途:設置組賬號密碼(極少用)、添加/刪除組成員
命令格式 gpasswd [選項] 組帳號名
選項 -a 添加組成員
-d 刪除組成員
groupdel命令——刪除組帳號
命令格式 groupdel 組帳號
4.1 查詢帳號信息
id命令
用途:查詢用戶身份標識
命令格式 id [用戶名]
groups命令
用途:查詢用戶所屬的組
命令格式 groups [用戶名]
finger命令
用途:查詢用戶賬號的詳細信息
命令格式 finger [用戶名]
users、w 、who命令
用途:查詢已登陸到主機的用戶信息
命令格式 user
w
who
2、管理目錄和文件的屬性
Linux文件系統賦予了兩個屬性:訪問權限和文件全部者,簡稱爲權限和歸屬。
訪問權限
讀取 r:容許查看文件內容、顯示目錄列表
寫入 w:容許修改文件內容,容許在目錄中新建、移動、刪除文件或子目錄
可執行 x:容許運行程序、切換目錄
歸屬(全部權)
屬主:擁有該文件或目錄的用戶賬號
屬組:擁有該文件或目錄的組賬號
1.1查看目錄和文件的屬性
上圖 紅框內共有11個字符,解釋以下:
第1個字符:表示該文件的類型,d(目錄)、b(塊設備文件)、c(字符設備文件)、-(普通文件)、字母l(連接文件)等。
第2~4個字符:文件的屬主用戶對文件的訪問權限
第5~7個字符:文件的屬組內各成員用戶對文件的訪問 權限。
第8~10個字符:其餘任何用戶對文件的訪問權限
第11個字符:這裏「 . 」 與SELinux有關,目前沒必要關注
權限字符在文件和目錄中的含義
權限 文件 目錄
r查看文件內容 查看目錄內容(顯示子目錄、文件列表)
w修改文件內容 修改目錄內容(在目錄中新建、移動、刪除文件或子目錄)
x執行該文件(程序或腳本) 執行cd命令進入或退出該目錄
1.2設置目錄和文件 的權限
chmod 命令——設置文件或目錄的權限
命令格式 chmod nnn 文件或目錄
nnn 表示數字權限或者rwx
經常使用選項 -R 表示遞歸修改指定目錄下全部子項的權限
1.3 設置目錄和文件的歸屬
chown 命令——設置文件或目錄的權限
命令格式 chown 屬主:[屬組] 文件或目錄
chown 屬主 文件或目錄
chown :屬組 文件或目錄
經常使用選項 -R 表示遞歸修改指定目錄下全部子項的權限
3、實驗演示
公司的Linux主機即將提供給技術部做爲開發服務器使用,根據部門內項目組的構成狀況,首先須要創建相應的組帳號、用戶帳號,併爲相關目錄設置權限;還須要設置一個公用的數據存儲目錄,便於同事之間的數據交換。
需求描述
創建用戶目錄
建立目錄/tech/kaifa和/tech/ceshi,分別用於存放各項目組中用戶帳號的宿主文件夾。例如:kaifa1用戶的宿主目錄應位於/tech/kaifa。
添加組帳號
爲兩個項目組添加組帳號kaifa、ceshi,GID號碼分別設置1001,1002.
爲kaifa部添加組帳號tech,GID號設置爲200。
添加用戶帳號
kaifa組包括三個用戶,分別是kaifa一、kaifa二、kaifa3。宿主目錄均使用/tech/kaifa/目錄中與帳號同名的文件夾,其中kaifa3用戶帳號設置爲2017年12月31日失效。
ceshi組包括兩個用戶,分別是ceshi一、ceshi2。宿主目錄均使用/tech/ceshi/目錄中與帳號同名的文件夾,其中ceshi2用戶帳號的登陸Sell設置爲/bin/sh。
上述全部用戶要求加入到tech組內。
設置目錄權限及歸屬。
將/tech目錄的屬組設置爲tech,去除其餘用戶的全部權限。
將/tech/kaifa目錄的屬組設置爲kaifa,去除其餘用戶的全部權限。
將/tech/ceshi目錄的屬組設置爲ceshi,去除其餘用戶的全部權限。
創建公共數據存儲目錄
建立/public目錄,容許全部kaifa組內的用戶讀取,寫入,執行,非kaifa組的用戶禁止訪問此目錄。
實驗步驟:
一、使用mkdir建立/tech/kaifa,/tech/ceshi和/public公共目錄
二、使用groupadd命令依添加上述組帳號,並指定GID號
三、使用useradd命令依次建立上述要求的用戶帳號和普通用戶
查看失效用戶
四、使用passwd命令爲用戶建立密碼
五、將全部用戶加入到tech組內
六、 使用chown、chmod命令設置上述目錄權限和歸屬。
七、 設置公共文件夾的權限和歸屬。
八、 測試