centos用戶和組管理

来源:http://www.cnblogs.com/zhangxingshi/archive/2017/07/23/6613175.html
-Advertisement-
Play Games

用戶和用戶組及許可權管理: 一:基本概念 linux是一個多任務(multi-task)多用戶(multi-user)的操作系統,每個用戶和用戶組都有自己的ID號UID GID,每個用戶都有自己的家目錄不能隨意訪問其他用戶的家目錄,管理員root除外。 用戶的分類:(以centos7.x為例) 管理員 ...


用戶和用戶組及許可權管理

一:基本概念

linux是一個多任務(multi-task)多用戶(multi-user)的操作系統,每個用戶和用戶組都有自己的ID號UID GID,每個用戶都有自己的家目錄不能隨意訪問其他用戶的家目錄,管理員root除外。

  用戶的分類:(以centos7.x為例)

    管理員或root:0

    普通用戶:1-6000

      系統用戶:1-999(centos7)  1-499(centos6)

      登錄用戶:1000-65535(centos7)  500-65535(centos6)

  組的分類:

    私有組:組名同用戶名,而且只包含一個用戶,用useadd命令創建用戶是會預設創建一個私有組

    公共組:組中包含了多個用戶

  linux系統用戶安全機制:3A機制

    authentication  認證--->比對/etc/shdow中的單向加密過的密碼確定用戶身份

    authorization        授權--->通過許可權管理控制不同用戶的許可權

    audition      審計--->通過selinux

  加密方法:

    對稱加密:加密和解密使用同一個密鑰

    非對稱加密:加密使用私鑰解密使用公鑰

    單向加密:只能加密不能解密,而且定長輸出  作用於提取文件的特征碼

       演算法 md5  sda sha224  sha256  sha384  sha512

示例使用md5sum命令提取 iso鏡像文件的特征碼和使用sha224sum 加密字元串“123456”

[root@localhost zxs]# md5sum CentOS-6.8-x86_64-bin-DVD1.iso
f73c2c4dd333c202ca85ea66120cacdf  CentOS-6.8-x86_64-bin-DVD1.iso

 

[root@localhost zxs]# echo "123456" | sha224sum 
ec5abd86603445ecc6f37e2632724f7823cc5f81342060fecc39836d 

   進程的安全上下文

    進程是以用戶的身份運行的,當進程訪問文件是,先檢查發起進程的用戶和用戶所屬的組,在檢查文件的的屬主和屬組,如果文件的屬組就是發起進程的用戶則引用前三位的許可權,如果文件的屬組和發起進程的用戶的屬組相同則應用中三位的許可權,都不是的話及應用右三位的許可權

    查看文件的許可權命令  ls-l

[root@localhost ~]# ls -al
total 64
dr-xr-x---.  2 root root   219 Apr 26 17:31 .
dr-xr-xr-x. 17 root root   244 Apr 26 17:46 ..
-rw-------.  1 root root   742 Apr 27 10:22 .bash_history
-rw-r--r--.  1 root root    18 Dec 29  2013 .bash_logout

drwxrwxrwx:

左1位表示文件的類型

左rwx表示所屬主(owers) 的許可權  讀+寫+執行

中rwx表示所屬組(groups)的許可權

右rwx表示其他(others)的許可權

    許可權組合機制

    ---  000  0

    --x  001  1

    -w-  010  2

    -wx  011  3

    r--  100  4

    r-x  101  5

    rw-  110  6

    rwx  111  7 

示例 r-xr-x--x  551

   rwxr-xr-x  755

   rw-rw----  664

二:瞭解用戶和組相關配置文件

  /etc/passwd:用戶的密碼文件

[root@localhost zxs]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

說明:文件用戶“:”分隔一共有7個欄位每個欄位的含義是

username:password:UID:GID:GECUS:dircution:shell

用戶名:x:UID:GID:註釋:家目錄:shell (x表示占位符,為了安全表示密碼保存在/etc/shadow)

  /etc/shadow:用戶的密碼文件

[root@localhost ~]# cat /etc/shadow | grep "zxs\>"
zxs:$6$vF9dzSd/$dyIJLhXSAR8oB5RxgV2qt4W8eF.zMRX2bAoaxYM6nhbaz5xuhjQQKCRFSfNt1eo5jzdyEv44zDuLe55XakjwA.:17283:2:6:1:3::

文件9個欄位用戶“:”分隔分別表示

用戶名:加密後的密碼:最後一個更改密碼的天數(電腦元年至修改密碼的時候):密碼最短使用天數:密碼最長使用天數:警告時間段:禁用期限:賬戶過期時間(從電腦元年開始計算):保留欄位

三:用戶和組管理命令

1:創建新用戶的命令和用法

useradd   [選項]   登錄名

選項和參數說明:

  -u:指定用戶的UID

  -s:指定用戶的shell (系統可支持的shell在/etc/shells 下)

  -r:創建一個系統用戶(UID範圍centos6為1-499,centos7為1-999可在/etc/login.defs中查看)

  -c:關於登錄時的簡短描述  後跟描述的字元串

  -d:自定義用戶的家目錄  後跟家目錄路徑

  -e:用戶賬戶將被禁用的期限格式為 YYYY-MM-DD

  -f:表示過期後徹底禁用的天數 0表示馬上禁止 -1表示禁用這個功能

  -G[GROUP1],[GROUP2],... : 添加用戶的附加組多個組用“,”隔開

  -M:不創建用戶的家目錄 預設複製/etc/skel/目錄下的文件到/home/USERNAME/下作為USERNAME的家目錄 都是隱藏文件

  -N;不創建同名的私有組

2:修改創建新用戶的預設值:(D是default) 命令修改只對當前shell有效

useradd   -D   [選項]

註意:用  useradd -D  修改後的預設值只對當前shell進程,重啟或重新登錄無效永久生效需要修改配置文件/etc/default 或 /etc/login.defs    一般情況下linux系統下用命令行修改的設置都只對當前shell進程有

參數和選項說明:

  useradd -D 不帶選項:查看創建新用戶的預設值

                             GROUP=100                          #新用戶添加到UID為100的公共組

                             HOME=/home                        #預設家目錄路徑

                             INACTIVE=-1                         #過期後徹底禁用的天數  -1表示禁用此功能  0表示過期後馬上禁止

           EXPIRE=                               # 賬戶過期日期 

                             SHELL=/bin/sh                      # 預設shell       

                             SKEL= /etc/skel                     # 預設家目錄的複製目錄      

                             CREATE_MAIL_SPOOL=          #預設創建郵箱   

  帶選項就是修改上面的預設參數

  useradd -D -e   修改變數 EXPIRE=

  useradd -D -f   修改變數 INACTIVE=

  useradd -D -s   修改變數 SHELL

 

3:修改用戶的信息

usermod   [選項]   用戶名

參數和選項說明:

  -u:修改UID

  -g:修改用戶的基本組

  -d:修改用戶的家目錄 原來的家目錄文件不會轉移至新目錄 要想移動要與參數  -m 一起使用

  -G:修改用戶的附加組原來的附加組會被刪除 要想追加附加組使用參數  -a

  -c:修改註釋信息

  -e:修改過期日期

  -f:修改過期後可使用的天數

4:刪除用戶

userdel   [選項]   用戶名

   -r:刪除用戶一起刪除其家目錄

5:創建組

groupadd   [選項]   組名

  -r:創建系統組

  -g:指定GID  -f:如果指定GID重覆 強制創建

6:修改組信息

groupmod   [選項]   組名

  -g:改UID

  -n:改組名               

7:刪除組

groupdel   [選項]   組名

8:更新用戶密碼和信息

passwd  [選項]   用戶名

參數和選項說明:

  -d:刪除密碼

  -l:鎖定用戶  機制是在/etc/shadow 文件中用戶的密碼字元串前加“!”

  --stdin:與管道一起用將管道前輸出字元串作為密碼不需要與用戶交互 用於腳本編寫

示例:

[root@localhost ~]# echo "123456" | passwd --stdin zxs
更改用戶 zxs 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。

  -u:解鎖

  -e:密碼過期日期

  -i:密碼禁用期限

  -n:密碼最小年齡

  -x:密碼最長年齡

  -w:密碼警告日期

示例:

[root@localhost zxs]# echo "123456" | passwd -n 2 -x 6 -w 1  -i 3 --stdin zxs
調整用戶密碼老化數據zxs。
passwd: 操作成功

說明:假設在2號修改了用戶的密碼和其他日期設置  

  -n 2 (表示用戶在這個改的密碼至少要用到4號才能修改 2表天數為兩天)

  -x 6 (表示密碼用戶用到8號就到期了 使用天數為6)

  -w 1 (表示用戶密碼到期之前的前一天也就是7號,系統會提示密碼即將到期的消息提示用戶修改密碼,在到期之前用戶可以登錄系統)  

  -i 2  (表示賬號密碼過期後,到賬號完全禁用鎖定的天數,為寬限期3天,此期間用戶必須修改密碼才能登錄系統,禁用後完全無法登錄需用root 解鎖用戶)

 

9:給組添加密碼 一般不需要 用戶臨時切換基本組需要提供組密碼 沒有密碼不能切換

gpasswd  [選項]  組名:

             -a:組中添加用戶

             -d:組中刪除用戶

10:臨時切換基本組 然後輸入組密碼

newgrp  -  [組名]

   -:表示模擬重新初始化工作環境 同su -

11:顯示用戶信息

id   [選項]   [用戶名]

  -u 顯示用戶UID

  -g 顯示用戶基本組的GID

  -G 顯示所有組的GID

  -n 顯示用戶或組的名稱

su:切換用戶

           -:重新讀取用戶的配置文件初始化其工作環境 就是切換至用戶的家目錄

pwck:檢查用戶密碼文件

grpck:檢查組密碼文件

四:許可權管理命令

三類用戶:

u  owns

g  groups

o  others

a  all

1:賦權表示法即直接賦予某一類用戶的所有許可權

    chmod  u=

        g=

        o=

        a=

2:授權表示法即修改某一類用戶的一個許可權位(比較常用比較安全)

    chmod  u+

        g+

        o+

        a+(a可以省)

3:8進位數值修改許可權方法 直接修改所有類型用戶的許可權

    chmod 644

      選項:

        -R 修改目錄許可權時一併修改目錄下的所有文件

          註:此用法最好搭配授權表示法,為了安全起見文件最好不要擁有執行許可權,目錄最好不要有寫許可權

        --reference FILE  寫改文件的許可權使與文件FILE一樣

4:修改文件的屬主和屬組

chown [OPTION]... [OWNER][:[GROUP]] FILE...

例如

[root@localhost ~]# chown zxs:ftp text
[root@localhost ~]# ll text
-rw-r--r--. 1 zxs ftp 554 Apr 27 21:18 text

5:修改文件許可權的反向掩碼

  umask預設為002

  預設創建的文件的許可權是664  666-umask獲得

  預設創建的目錄的許可權是755  777-umask獲得

umask 掩碼數字:修改掩碼即修改創建文件和目錄時的預設許可權

6:install命令類似cp命令

  -m 複製是設置文件許可權預設為755

  -o 複製時修改文件的屬主

  -g 複製時修改文件的屬組

 


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

-Advertisement-
Play Games
更多相關文章
  • 總結下mysql rpm安裝的方式,與一些錯誤 環境[root@host2 ~]# uname -aLinux host2 2.6.32-504.3.3.el6.x86_64 #1 SMP Wed Dec 17 01:55:02 UTC 2014 x86_64 x86_64 x86_64 GNU/L ...
  • 1.Mapreduce是什麼? Mapreduce是一個分散式運算程式的編程框架,是用戶開發“基於hadoop的數據分析應用”的核心框架; Mapreduce核心功能是將用戶編寫的業務邏輯代碼和自帶預設組件整合成一個完整的分散式運算程式,併發運行在一個hadoop集群上; 2.作用 (1)海量數據在 ...
  • 單位用到了oracle存儲string類型到資料庫里的clob,上網查看資料找到解決方案。如下: 轉自:http://bestxiaok.iteye.com/blog/1027733 ...
  • 【文件管理、管道、用戶及組管理、用戶及許可權管理】\用戶及組管理 用戶與組管理 Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,並控制他們對系統資 ...
  • 暑假在家有些懈怠,不,非常懈怠— —||!良心已經發痛了,想快些補回原來的進度,但忽然發現,中斷了一段時間再重新去學習,有的地方連最基本的符號都忘記了 ,這次特意弄個最最基礎的,恢復一下,以前的進度。 1.建立一個工作空間 在home文件夾裡面發現新建好了相應的文件夾,當然裡面,空空的,什麼都沒有。 ...
  • 前言 因為比賽的限制是使用Hadoop2.7.2,估在此文章下麵的也是使用Hadoop2.7.2,具體下載地址為 "Hadoop2.7.2" 開始的準備 目前在我的實驗室上有三台Linux主機,因為需要參加一個關於spark數據分析的比賽,所以眼見那幾台伺服器沒有人用,我們團隊就拿來配置成集群。具體 ...
  • 一.環境: centos release 6.9 python 2.7.13 二.安裝工具bypy sudo pip install bypy 三.使用bypy 3.1 授權 3.2 上傳文件 bypy upload (在某個文件夾下就會將文件夾下的內容全部上傳到雲端) 3.3 下載文件 bypy ...
  • 把當前文件夾的文件名用","連接成一行,或者將多行轉變為一行 將行逆序輸出 刪除 開頭的註釋行 去掉每行開頭4個字元 對文件第一列進行統計 對文件第四列用":"切割成兩列並將最後一列結果+1,然後輸出全部列 對文件第二列求均值 實現DNA序列反向互補 某一行插入另外一個文件的內容 對一個文件按照第一 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...