Linux用戶、組、權限管理

Linux用戶與組管理

Linux系統上,用戶通過內核拷貝程序到內存中,從此發起進程。進程以發起者的身份進行,進程對文件的訪問權限,取決于發起進程的用戶的權限。而有些后臺進程或服務類進程以非管理員身份運行,為此也需要創建多個普通用戶,此類用戶不需登錄。

系統中,用戶類別分為管理員和普通用戶(系統用戶和登錄用戶),組類別分為基本組和附加組。管理系統上的用戶與組主要通過以下四個文件來實現

  • /etc/passwd 用戶的基本信息

  • /etc/shadow 用戶密碼

  • /etc/group 組的基本信息

  • /etc/gshadow 組密碼

生成密碼采用單向加密算法,并借助salt完成。分別用數字1-6來標識md5, sha1, sha225, sha256, sha384, sha512六種加密算法。對用戶與組的管理一般涉及以下幾類工作:用戶/組的創建、修改、刪除、切換、設置密碼四個方面。

用戶管理

創建用戶 useradd

useradd [option] login-name
    -u 指定UID
    -g 指定基本的GID,但指定的組必須事先存在
    -G 指定用戶所屬的附加組,多個組之間用","隔開
    -c 指定注釋信息comment
    -d /path/to/home-dir 指定用戶家目錄;通過復制/etc/skel目錄并重命名實現;如果指定的及目錄已經存在,不從skel文件夾中復制文件
    -s 指定用戶默認shell,可用的所有可選shell存儲在/etc/shells文件中
    -r 創建系統用戶
    -m 強制創建用戶主目錄
    -M 不為用戶創建主目錄
    -f 用戶非活動期 -1 永不過期
注意:創建用戶時的諸多默認設定,配置文件為/etc/login.defs
        useradd -D 顯示創建用戶的配置信息
        useradd -D [options] 修改默認選項的值,修改的結果保存在/etc/default/useradd文件中

修改用戶屬性 usermod

usermod [option] login-name
    -u newUID 修改用戶的UID為此處指定的UID
    -g 修改用戶的GID,修改用戶所屬的基本組
    -G 修改用戶所述的附加組。注意:此處修改只能覆蓋原有附加組設置
    -a 與-G共同使用,為用戶添加附加組
    -c 修改用戶的注釋信息
    -d /path/to/new-home-dir 修改用戶的家目錄,用戶原有的文件不會被轉移至新目錄
    -m 只能與-d一同使用,將原有的家目錄轉移為新的家目錄;
    -l 修改用戶的登錄名
    -s 修改用戶的默認shell
    -L 鎖定用戶的賬號,禁止用戶登錄;即在用戶原來的面字符之前添加一個“!”
    -U 解鎖用戶的賬號

設置密碼信息 passwd

passwd [option] [login-name]    命令后不指明login-name時,用戶可為自己的賬號修改密碼信息
    passwd login-name 只有root能修改其他用戶的密碼信息
        -l/-u 鎖定/解鎖用戶賬戶
        -d 清除用戶密碼
        -e date 指明用戶賬戶過期明確的日期
        -n days 密碼最小使用期限
        -x days 密碼最長使用期限
        -i days 非活動期限
        -w days 警告期限
        --stdin 從標準輸入讀取密碼

切換用戶 su

登錄式切換:會通過重新讀取用戶的配置文件來重新初始化
    su - username
    su -l username  
非登錄式切換:
    su username
        注意:管理員可以無密碼切換至其他任何用戶
        su - username -c "COMMAND" 以某用戶的身份運行“COMMAND”

顯示用戶有效ID

id [option] [user]
    -u 僅顯示UID
    -g 僅顯示用戶基本組ID
    -G 僅顯示用戶所屬的所有組ID
    -n 顯示用戶的名稱而非ID

刪除用戶 userdel

userdel [option] login-name
    -r 刪除用戶時一并刪除其家目錄

組管理

創建新組 groupadd

groupadd [option] group-name
    -g GID 指定GID;默認為上一個GID+1
    -r 創建系統組

修改組屬性 groupmod

groupmod [option] group-name
    -g GID修改組ID
    -u new-group-name 修改組名

修改組密碼 gpasswd

gpasswd [option] group
    -a username 向組中添加用戶
    -d username 從組中移除用戶
    -r 刪除指定組的組密碼

組切換 newgrp

newgrp [-] [group-name]   如果命令后不跟group-name,則用戶切換回/etc/passwd文件中記錄的默認組
    - 會模擬用戶以新組重新登錄,以實現重新初始化工作環境

刪除組 groupdel

groupdel [option] group-name

權限管理

Linux文件中的權限有9位字符,通過ls命令的-l選項可以查看。

[root@localhost ~]# ls -l .
total 8
-rw-------. 1 root root 1624 Nov 13 08:29 anaconda-ks.cfg
-rw-------. 1 root root 1672 Nov 13 00:36 initial-setup-ks.cfg
  • 左三位是文件屬主的權限,中三位是文件屬組的權限,右三位是其他用戶對該文件的權限。

  • 每類用戶的權限共有8種組合“—, –x, -w-, r–, -wx, r-x, rw-, rwx”,r:可讀取文件的內容,w:可以修改文件的數據,x:可將文件運行為進程。8種組合表示為數字分別為:0,1,2,3,4,5,6,7。

Linux中進程對文件的訪問權限遵從以下模型:1 如果進程的屬主與文件的屬主一致,則應用屬主對該文件的權限;2 如果屬主不一致,如果進程的屬主屬于用戶的屬組,則應用該文件的屬組對該文件的權限;3 如果進程的屬主以上兩條都不滿足,則應用other權限。

Linux中權限的管理主要涉及兩個方面:設定文件的屬主、屬組;設定文件屬主、屬組以及其他用戶分別所具有的權限。

設置文件屬主、屬組以及其他用戶的權限 chmod

chmod [option] mode[,mode]... fiel...
    mode表示法:
        賦權表示法:直接操作一類用戶的所有權限位rwx;
            u/g/o/a=
        授權表示法:直接操作一類用戶的一些權限位r,w,x;
            u+, u-
            g+, g-
            o+, o-
            a+, a-
    --reference=/path/to/reference 以reference文件的權限作為參考標準
    -R 遞歸修改

修改文件的從屬關系 chown

chown [option]... [owener][:group] file
    --reference=/path/to/reference 以reference文件的屬主屬作為參考標準修改之
    -R 遞歸修改

文件的權限反向掩碼,遮罩碼 umask

新建文件:其權限為666-umask;新建目錄:其權限為777-umask。Linux中新建文件默認不能擁有執行權限,如果(666-umask)結果中有執行權限,則自動為其加一。

umask 查看當前命令
umask MASK 設置umask,只對當前shell進程有效

原創文章,作者:N24_fynl,如若轉載,請注明出處:http://www.www58058.com/62961

(0)
N24_fynlN24_fynl
上一篇 2016-12-07 20:36
下一篇 2016-12-07 20:42

相關推薦

  • 進程管理和計劃任務

    進程管理使用的工具以及命令,計劃任務的創建和執行,以及工作中需要的注意事項

    2017-12-21
  • 系統基礎之shell腳本編程詳解3(函數)

    shell腳本編程詳解3:    在前兩節我們分別介紹了shell腳本編程的基礎和循環,判斷的知識,今天我們分享腳本的另一種用法,函數. 概論:     函數function是由若干條shell命令組成的語句塊,實現代碼重用和模塊化編程。    它與shell…

    Linux干貨 2016-08-22
  • week8

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:          連接不同子網,使其透明通信,它們工作在鏈路層。它們處理的是鏈路層數據,一般來說就是以太     網幀格式的 &nb…

    Linux干貨 2016-12-19
  • 22期第8周課堂練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。     2、IP地址的分類有哪些?子網掩碼的表示形式及其作用   A類:第一段為網絡號,后三段為主機號            網絡號0 000 0000 – 0 111 1111…

    Linux干貨 2016-10-09
  • 2017-10-4Linux基礎知識(3)

    在上一章中講到了操作系統的歷史的發展以及Linux的如何誕生,在1991年的8月份,創始人Linus宣布成立Linux的,Larry Wall開發diff和patch打補丁的命令程序使得Linux可以在安全性方面有很大的提升。

    Linux干貨 2017-10-05
  • Linux下的查找命令

           Linux下的查找命令有很多,常用的有grep、which、whereis、locate、find。使用linux系統難免會忘記文件所在的位置,小編就是如此。所以我們在文件系統上常常需要根據文件的各種屬性去查找符合條件的文件,所以小編今天特意寫一篇文章來介紹一下這幾個常用的查找命令。 一、Gre…

    Linux干貨 2017-08-13

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-14 15:02

    基礎命令總結的得非常好,希望你能牢記這些基礎知識。加油!

欧美性久久久久