Linux-A-基礎-第4章-用戶及權限基礎


目錄(持續更新)


基礎-第0章-安裝
基礎-第1章-基本操作
基礎-第2章-磁盤及文件系統管理
基礎-第3章-獲得幫助
基礎-第4章-用戶及權限基礎
基礎-第5章-網絡基本配置
基礎-第6章-管道,重定向及文本處理
基礎-第7章-系統啟動詳解

進階-第1章-日志服務
進階-第2章-DNS域名服務器
進階-第3章-FTP文件共享服務
進階-第4章-NFS文件共享服務
進階-第5章-SMB文件共享服務
進階-第6章-WEB服務Apache篇
進階-第7章-電子郵件服務
進階-第8章-Linux服務基礎及管理

高級-第1章-LVM邏輯卷
高級-第2章-高級權限ACL
高級-第3章-RAID提升速度及冗余
高級-第4章-高級網絡-網卡綁定,子端口
高級-第5章-SELinux安全系統基礎
高級-第6章-IPTable防火墻基礎
高級-第7章-Linux遠程管理-SSH、VNC


第4章 用戶及權限基礎


第一節 linux用戶基礎
  • 用戶,組

    當我們用linux是需要一個用戶的身份登入,
    一個進程也需要一個用戶的身份運行,
    希望根據用戶來限制使用或者進程可使用的資源

  • 組用來方便組織管理用戶

      每個用戶擁有一個userID,操作系統實際使用的是用戶ID,而非用戶名
      每個用戶屬于一個主組,屬于一個或多個附屬組
      每個組擁有一個GroupID
      每個進程以一個用戶身份運行,并受到該用戶可訪問的資源限制
      每個可登陸用戶擁有一個指定的shell
    
  • 用戶

      用戶ID為32位  從0開始,但是為了和老系統兼容 ID限制在60000一下
      root用戶(ID為0的用戶就是root用戶)
      系統用戶(1~499)為了進程服務創建的   沒有shell 
      普通用戶(500個以上)
      
      系統中的文件都有一個所屬用戶及所屬組
      使用id命令可以顯示當前用戶的信息
      使用passwd命令可以顯示當前用戶的信息
    
  • 相關文件

      /etc/passwd 保存用戶信息
      /etc/shadow 保存用戶密碼,加密的
      /etc/group  保存組信息
    
      passwd文件中
          7個部分每個都用:隔開
          第一個是用戶名
          第二個是密碼x 表示保存在shadow當中
          第三個是用戶ID號
          第四個是組ID
          第五個是用戶的描述信息  可能為空
          第六個是用戶家目錄信息
          第七個是用戶登錄的shell   1-499用戶使用sbin中的nologing
    
      shadow文件中
          每個部分都用:隔開
          第一個是用戶名
          第二個是密碼 ??!為用戶沒有創建密碼   或加密后密碼 $ 分割 加密類型  加密加入
          
      group文件中
          每個部分都用:隔開
          第一個是用戶名
          第二個是組密碼  早期換組用 
          第三個是用戶ID號
    
  • 查看登錄的用戶

      命令whoami顯示當前用戶
      命令who顯示有哪些用戶已經登錄系統
      命令w顯示有哪些用戶已經登錄并且在干什么
    
  • 創建一個用戶

      命令useradd用來創建用戶
    
          useradd 用戶名
    
      這個命令會執行以下操作
    
          在/etc/passwd中添加用戶信息
          如果使用passwd命令創建密碼 則將密碼加密保存在/etc/shadow
          為用戶建立一個新的家目錄/home/用戶名
          將/etc/skel中的文件復制到家目錄
          建立一個與用戶用戶名相同的組 并且新建用戶默認屬于這個組
      
      useradd支持的參數
    
          -d  指定家目錄
          -s  登錄shell
          -u  userID
          -g  主族
          -G  附屬組(最多31個,用“,”分割)
          
      也可以通過直接修改/etc/passwd的方式實現,
    
  • 修改用戶信息

      命令usermod用來修改用戶信息
    
          usermod 參數 username
      
      命令usermod支持一下參數
      
          -l  新用戶名
          -u  新userid
          -d  用戶家目錄位置
          -g  用戶所屬主組
          -G  用戶所屬附屬組
          -L  鎖定用戶使其不能登錄
          -U  解鎖用戶
    
  • 刪除用戶

      命令userdel用來刪除指定用戶
    
          userdel 用戶名     但保留用戶家目錄
    
          userdel -r 用戶名  同時刪除用戶的家目錄
    

  • 用過部門職能和地理創建組

          每個組都有一個ID
          組信息保存在/etc/group
          每個用戶有一個主組  最多可以有31個附屬組
    
  • 創建刪除修改組

      命令groupadd用來創建組
    
          groupadd 組名
    
      命令groupmod用來修改組信息
    
          groupmod -n 新組名 舊組名
      
          groupmod -g 新組ID 舊組ID
    
      命令groupdel用以刪除組
    
          groupdel 組名
    

第二節 linux權限機制
  • 權限

    權限是操作系統用來限制對資源訪問的機制,權限一般分為 讀 寫 執行
    每個文件都擁有特定的權限 有所屬用戶和組
    每個進程都是以用戶身份來運行

  • linux三種權限

      讀r  可讀取文件的內容    可可列出目錄內容
    
      寫w  可以修改文件內容    可在目錄中創建刪除文件
    
      執行x 可以作為命令執行    可訪問目錄內容
    
      目錄必須有X權限,否則無法查看其內容
    
  • UGO模型

      linux的權限基于UGO模型進行控制
    
          U代表User,G代表Group,O代表Other
    
          每個文件的權限基于UGO進行設置
      
          權限三個一組rwx,對應UGO分別設置
    
          每個文件擁有一個所屬用戶和所屬組,對應UG,
          不屬于該文件所屬用戶據或者所屬組的使用O權限
      
      命令 ls -l 可以查看當前目錄下文件的詳細信息
    
          drwx-xr-- 2 sky testing 208 Oct 2 14:03 linux
    
          drwx-xr--   表示UGO
    
          2       表示連接數量
    
          sky     表示所屬用戶
    
          testing     表示所屬組
    
          208     大小
      
          Oct 2 14:03     建立時間
    
          linux       文件名
    
          d為文件類型
    
          rwx 為U用戶權限
          r-x 為G組權限
          r-- 為其他權限
    
  • 修改文件所屬用戶和組

      命令chown用來改變文件的所屬用戶
    
          chown 用戶名 要修改的文件名
    
          -R 參數遞歸的修改目錄下所有文件的所屬用戶
    
      命令chgrp用來改變文件的所屬組
    
          chgrp 組名 要修改的文件名
    
          -R 參數遞歸的修改目錄下所有文件的所屬組
    
  • 修改權限

      命令chmod用來修改文件的權限
    
          chmod 模式 文件
    
      模式為如下格式:
    
          u g o 分別代表用戶,組和其他
    
          a可以代指ugo
      
          + - 代表加入或者刪除對應權限
    
          r w x 代表三種權限
    
      模式示例
    
          chmod u+rw linux    要修改所屬用戶權限 加入rw權限
    
          chmod g-x linux     為組刪掉X權限
    
          chmod go+r linux    為組和其他加上r權限
    
          chmod a-x linux     為所有組刪掉X權限
    
      -R可以遞歸修改目錄下所有文件權限
    
      也可以用數字的方式修改權限
    
          r=4     2^2
          w=2 2^1
          x=1 2^0
      
      使用數字權限表示
      
          rw  = 4+2   = 6
          rwx     = 4+2+1 = 7
    
      所以以數字修改要三個都修改
    

第三節 linxu默認權限 特殊權限
  • 默認權限

      每個終端都有 umask 屬性  來確定文件默認權限  umask可查看
    
      umask使用數字權限表示 (后三位)  如  022   777   
    
      目錄的默認權限是    777 - umask
    
      文件的默認權限是    666-umask
    
      普通用戶的默認umask是   002  
      
      root用戶的默認umask是 022
    
  • 特殊權限

      umask的第一位
    
      三個特殊權限
    
      suid    以文件命令的所屬用戶身份執行  對目錄無影響
          而非執行文件的用戶
    
      sgid    以文件所屬組身份執行      在該目錄中創建的任意性文件所屬組與該目錄的所屬組相同
                          所有子文件都繼承目錄的組
      
      sticky  對文件無影響          對目錄擁有寫入權限的用戶僅可以刪除其擁有的文件
                          無法刪除其他用戶文件
    
  • 設置特殊權限

      設置suid
    
          chmod u+s linux
    
      設置sgid
    
          chmod g+s linux
    
      設置sticky
    
          chmod o+t linux
    
      和普通權限一樣,特殊權限也可以使用數字方式表示
    
          - SUID = 4
    
          - SGID = 2 
    
          - STICKY = 1 
    
      所以我們可以通過以下命令設置
    
          chmod 1755 linux
    
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。