Linux:用戶許可權管理

来源:https://www.cnblogs.com/yanlzy/archive/2019/11/22/11914589.html
-Advertisement-
Play Games

用戶與用戶組的概念 超級用戶 擁有對系統的最高管理許可權,預設是 root 用戶 普通用戶 只能對自己目錄下的文件進行訪問和修改,具有登錄系統的許可權。 虛擬用戶 也叫“偽”用戶,這類用戶最大的特點是不能登錄系統,它們的存在主要是 方便系統管理,滿足相應的系統進程對文件屬主的要求。 主要組 每個用戶有且 ...


用戶與用戶組的概念

超級用戶

擁有對系統的最高管理許可權,預設是 root 用戶

普通用戶

只能對自己目錄下的文件進行訪問和修改,具有登錄系統的許可權。

虛擬用戶

也叫“偽”用戶,這類用戶最大的特點是不能登錄系統,它們的存在主要是 方便系統管理,滿足相應的系統進程對文件屬主的要求。

主要組

每個用戶有且只有一個主要組,創建用戶時預設創建。

附屬組

用戶可以是零個或多個附屬組成員。一般用於幫助確保用戶具有對 系統中文件及其他資源的訪問許可權。

文件許可權

文件屬性的說明
drwxr-xr-x. 2 root root 4096 sep 26 08:31 Templastes

第 1 組:
文件類型,其中第一個字元代表文件的類別。 
- 普通文件 
d 目錄 
- 普通文件
l 鏈接文件
c 字元設備 
b 塊設備 
文件的許可權
r:可讀 
w:可寫 
x:可執行 
-:沒有許可權 

第 2 組:文件件的連接數 

第 3 組:文件所有者 

第 4 組:文件屬組 

第 5 組:文件大小,預設單位為位元組 

第 6 組:文件創建時間

第 7 組:文件名稱
藍色:目錄
黑色:文件
天藍色:鏈接文件
綠色:可執行文件
紅色:壓縮文件
修改文件的許可權

chmod
字母方式修改許可權
文件所有者許可權(u)
所屬組許可權(g)
其他用戶許可權(o)
所有用戶(a)
舉例:
/mnt 的許可權是drwxr-x--
chmod u-w /mnt 許可權變為:dr-xr-x--
chmod o+rx /mnt 許可權變為:dr-xr-xr-x
chmod g+w /mnt 許可權變為:dr-xrwxr-x
chmod a+w /mnt 許可權變為:drwxrwxrwx
數字方式修改許可權
r=4 w=2 x=1 -=0
chmod 770 /mnt 許可權為:drwxrwx---

修改文件的所有者與所屬組

chown命令
舉例:chown teacher:teacher /test1 同時修改所有者與所屬組
chown root /test1 修改所有者
chown :student /test1 修改所屬組

特殊許可權

訪問控制:ACL

ACL:訪問控制
【針對其他用戶當中的部份或個別用戶設置特殊許可權】
setfacl -m u:stu1:rwx A 創建一個 ACL 規則,使 stu1 用戶對 A 目錄具有 rwx 許可權
getfacl A 查看 ACL 規則
setfacl -x u:stu3 A 刪除 stu3 對 A 目錄的 ACL 許可權,只刪除了一條規則
setfacl -b A 刪除 A 目錄的所有 ACL 規則

強制位許可權:SBIT

SBIT:粘滯位許可權(強制位許可權)
【針對其他用戶,只能刪除自己的文件,不能刪除其他的用戶的文件】
chmod o+t A

SGID

針對其他用戶設置,以所屬組的身份去執行。
chmod g+s A

SUID

以文件所有者的身份執行文件,只針對可執行文件。
chmod u+s A

用戶管理

用戶配置文件
用戶名配置文件

用戶配置文件/etc/passwd
在 passwd 配置文件中,從左到右各個欄位的含義如下: 用戶名:用戶登錄系統時使用的用戶名。
用戶名:用戶登錄系統時使用的用戶名。
口令:存放加密的口令,被/etc/shadow 文件保護。
用戶標識號(UID):系統內部用它來標識用戶,每個用戶的 UID 都是唯一的。
用戶組標識號(GID):系統內部用它來標識用戶所屬的組,這裡的 GID 是主組 GID。
註釋性描述:為了方便管理和記憶該用戶而添加的信息。
用戶主目錄:也稱家目錄,用戶登錄系統後所進入的目錄。
命令解釋器:指示該用戶使用的 Shell,CentOS Linux 7 預設的是 bash。如果指定 Shell為/sbin/nologin,則代表用戶無法登錄系統。

用戶密碼配置文件

用戶密碼配置文件/etc/shadow
用戶名:用戶賬戶名。
密碼:用戶的加密密碼。
最後一次修改的時間:從 1970 年 1 月 1 日起,到用戶最後一次更改密碼的天數。
最小時間間隔:從 1970 年 1 月 1 日起,到用戶可以更改密碼的天數,(0 表示隨時可以變更)。
最大時間間隔:從 1970 年 1 月 1 日起,到必須更改密碼的天數,否則密碼將過期,(99999 表示永遠不 過期)。
警告時間:在密碼過期之前多少天提醒用戶更新,預設值是 7 天。
不活動時間:在用戶密碼過期之後到禁用賬戶的天數。
失效時間:從 1970 年 1 月 1 日起,到賬戶被禁用的天數。
標誌:保留位。

用戶組配置文件
用戶組名配置文件

用戶組配置文件/etc/group
文件中各欄位的含義從左到右分別是:
組名:組的名稱。
組口令:用戶組的口令,用 x 表示口令是被/etc/gshadow 文件保護的。
組標識號(GID):系統內部用它來標識用戶組,每個用戶組的 GID 都是唯一的。
組成員:該組的成員。

用戶組密碼配置文件

用戶組密碼配置文件/etc/gshadow
文件中各欄位的含義從左到右分別是:

組名:組的名稱。
組口令:用戶組的口令,保存已加密的口令。
組的管理員帳號:組的管理員帳號,管理員有權對該組添加、刪除帳號。
組成員:該組的成員,多個用戶用“,”分開。

管理用戶操作
創建用戶
命令格式:useradd [選項] 用戶名
-d 指定用戶主目錄
-g 指定用戶組
-m 若主目錄不存在,則創建
-M 不創建主目錄
-s 指定登錄時使用的 Shell 類型,預設為/bin/bash,如果為 /bin/nologin 就是虛擬用戶
-c 設置對該賬號的註釋說明文字
-r 創建系統賬號(用戶 ID 小於 1000, 從 999 起按照遞減的順序創建), 預設不創建對應的主目錄
-u 手工指定新用戶的 ID 值,該值必須唯一,且大於 999
管理用戶登錄密碼
命令格式:passwd [選項] [用戶名稱] 
-l 鎖定用戶密碼
-u 解鎖用戶密碼
-S 查詢用戶密碼狀態
-d 刪除用戶密碼
【舉例 1】創建用戶 zhangsan,指定登錄類型為/bin/bash;用戶 lisi,登錄類型為 /sbin/nologin,並分別設置密碼為:123456。並測試兩個用戶能否登錄系統。 
#useradd -s /bin/bash zhangsan 
#useradd -s /bin/nologin lisi 
【舉例 2】創建用戶 tom,並設置 tom 的真實姓名為:tom-sing,家庭電話:13911202319,公 司地址:tf5jie,公司電話:028-85699999 
#useradd -c "tom-sing 13911202319 tf5jie 028-85699999" tom
修改用戶屬性
命令格式:usermod 選項 用戶
-l 修改用戶名
-c 修改用戶描述信息
-d 修改主目錄
-L 鎖定帳號,臨時禁止用戶登錄
-U 對帳號解鎖
-g 修改用戶所屬組
-G 修改用戶附加組
-s 修改用戶登錄的 shell 類型
-u 修改用戶 ID 號
-e 修改用戶有效期
-f 修改用戶密碼在多少天後過期
【舉例 1】修改用戶 tom 的名字為 jack 
#usermod -l jack tom 
【舉例 2】修改用戶 jack 的註釋名為 jack-sing 
# usermod -c jack-sing jack 
【舉例 3】# usermod -s /bin/nologin jack
修改用戶口令有效期
命令格式:chage [選項] 用戶名
-m 密碼可更改的最小天數。為零時代表任何時候都可以更改密碼
-W 用戶密碼到期前,提前收到警告信息的天數
-M 密碼保持有效的最大天數
-E 賬號到期的日期。過了這天,此賬號將不可用
-d 上一次更改的日期
-I 停滯時期。如果一個密碼已過期這些天,那麼此賬號將不可用
-l 列出當前的設置。由非特權用戶來確定他們的密碼或賬號何時過期 
【舉例】設置 jack 用戶的密碼最大有效期為 30 天,提前 9 天警告,失效時間 40 天。 
#chage -M 18054 -W 9 -E 18064
刪除用戶
命令格式:userdel [-r] 用戶名
修改用戶註釋信息
命令格式:chfn [選項] [用戶名] 
-f 設置真實姓名。
-h 設置家中的電話號碼。
-o 設置辦公室的地址。
-p 設置辦公室的電話號碼。
修改用戶Shell類型
命令格式:chsh [s] [用戶名]
切換用戶名
# 由 root 用戶切換到普通用戶不需要輸入密碼 由普通用戶切換到其他用戶就必須輸入密碼
命令格式:su 用戶名
查看系統所有用戶
wc --lines /etc/passwd

用戶組管理

創建用戶組
命令格式:groupadd [r] 用戶組名稱
修改用戶組屬性
命令格式:groupmod 選項 組名 
-n 修改組名
-g 修改組標識號 GID
刪除用戶組
 命令格式:groupdel 組名
維護組中成員
命令格式:gpasswd 選項 用戶名 組名 
-a 添加用戶到組。
-d 將用戶從組中刪除。
-A 設置用戶為組管理員。

其他命令

查看用戶信息 
id 命令 

輸出指定用戶所在組 
groups 命令 

查看當前登錄用戶 
who am i 命令 

查看當前用戶 
w 命令 

查看登錄用戶 
who 命令 

查看登錄用戶歷史 
last 命令

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 當我們的系統時間不正常,比如設置一個日期-1999年9月9日,會引發證書問題。 系統時間不正常-IE有概率能訪問 觸發NavigateError事件,異常代碼INET_E_INVALID_CERTIFICATE -- 這是一個必要不充分條件,系統時間不正常時IE有相關證書異常,更新時間能解決此類異常 ...
  • asp.net 使用 Application 限制單一登錄 原理:用戶登錄後系統會分配一個與用戶唯一對應的SessionID,將當前用戶ID與其SessionID對應保存在Application中,一旦該用戶在其他地方重覆登錄則Application中保存的SessionID就會被更新,導致當前se ...
  • 場景 使用Visual Studio 開發Winform程式,使用SVN進行項目版本管理。 在添加引用時,會出現在A電腦中添加了絕對路徑的引用,在B電腦中就會出現找不到 並且將此引用標識為?的狀態。 註: 博客主頁: https://blog.csdn.net/badao_liumang_qizhi ...
  • asp.net 使用NPOI讀取excel文件內容 NPOI下載地址:NPOI public class ExcelHelper { /// <summary> /// 讀取Excel文件數據到DataSet,一個Sheet對應一個DataTable /// </summary> /// <para ...
  • asp.net 根據html模板導出excel public class ExcelHelper { /// <summary> /// 根據html模板文件生成excel文件 /// </summary> /// <param name="ds">數據源</param> /// <param na ...
  • 場景 在Winfom中可以在頁面上多個按鈕或者右鍵的點擊事件中觸發同一個自定義的委托事件。 實現 在位置一按鈕點擊事件中觸發 string parentPath = System.IO.Directory.GetParent("指定路徑").ToString(); //獲取指定路徑的父級目錄並作為參 ...
  • 下載安裝並啟動apache服務 apache伺服器的目錄及存放文件的作用 /etc/httpd/conf:該目錄存放Apache伺服器的配置文件 /var/www/html:該目錄是Apache伺服器的預設站點根目錄 /etc/httpd/logs:Apache伺服器的日誌文件目錄 測試apache ...
  • 打開vim編輯器 vim編輯器的工作模式 游標的移動 翻頁 行內快速跳轉 行間快速跳轉 行號顯示 複製/粘貼/刪除 複製 粘貼 刪除 文件內容查找 撤銷編輯 保存文件及退出vim編輯器 保存文件 退出編輯器 保存文件退出編輯器 文件內容替換 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...