LINUX–權限

1.權限模型

  • 密碼學發展:
    1. 古典密碼學(數據的安全基於算法保密)
    2. 近代密碼學(成爲一個真正的一門科學)
    3. 現代密碼學(解決了密鑰分發和管理的問題)
  • 影響密碼學系統安全性的因素:
    1. 密碼算法複雜性,密鑰機密性,密鑰長度
    2. 科克霍夫原則;密碼體制應該對外公開,僅需要對密鑰進行保密;如果一個密碼系統需要保密的越多,那麼此加密方式越弱.
    3. 應用:機密性.完整性.可鑑別性,不可否性
  • 兩大算法
    1. 對稱加密算法:加密密碼和解密密碼相同,典型算法:DES,(不安全了),3DES,AES,IDEA有點:加密速度簡單,快.
    2. 非對稱加密:密鑰對;典型算法,RSA.ECC:安全性高,資源消耗高.
  • 哈希:MD5,SHA-256,SHA-512(單向性,弱抗碰撞性,強抗碰撞性)
  • 數字簽名
  • PKI:CA,RA,證書存放.終端

2.操作系統類型

1.單用戶操作系統;2.多用戶操作系統

  • 用戶的分類
    • root(uid:0)
    • 普通用戶(uid:1000-65535)
    • 僞用戶:(uid:1-1000):系統用戶
  • 密碼配置文件
    • /etc/passwd
passwd文件
  • 第一列:用戶名
  • 第二列:x表示已經設置密碼,!!表示沒有加密還不可使用
  • 第三列:UID
  • 第四列:GID
  • 第五列:描述字樣
  • 第六列:家目錄
  • 第七列:使用的shell
/etc/shadow文件
  • /etc/shadow
    1. 第一列:用戶的登錄名
    2. 第二列:用戶加密後的密碼
      • 第一部分加密算法:
        • 1:MD5加密
        • 5:SHA-256加密
        • 6:SHA-512加密
      • 第二部分:隨機序列號
      • 第三部分:隨機序列號和密碼共同加密後的字符串
    3. 第三列:最後一次更改密碼時間(從1970年1月1號)
    4. 第四列:密碼最小使用時間
    5. 第五列:密碼最長使用時間
    6. 第六列:通知密碼失效前的天數
    7. 第七列:賬戶過期日期

3.賬戶管理

  1. 用戶管理
    • 添加用戶:useradd <用戶名>,設置密碼 passwd <用戶名>
    • 同時添加用戶和命令:useradd abc;echo “123” | passwd –stdin abc
    • 模板目錄:/etc/skel此目錄下的隱藏文件在新建用戶時,會全部拷貝到新建用戶目錄下.
    • 管理用戶:usermod
      1. -l改名
      2. -L鎖定用戶
      3. -U解除鎖定
      4. -a添加用戶到組結合-G使用
  2. 組管理
    1. 添加組groupadd <組名>
    2. 修改組名:groupmod <new_name> <old_name>
    3. 組添加用戶: gpasswd -a <user_name> <group_name>
      • -a:組中添加成員
      • -d:組中刪除成員
      • -A:設置組的管理員
    4. 刪除組:groupdel groupname
  3. passwd
    1. -l鎖定用戶
    2. -u解鎖用戶
    3. -n密碼最小使用期限
    4. -x密碼最大使用期限
    5. -w密碼過期前提醒天數
  4. whoami id查看用戶信息
  5. chage
    1. chage -d 0 用戶名 用戶下次登陸必須更改密碼
    2. chage -m 2 用戶名 修改密碼最少使用天數
    3. chage -M 50用戶名 修改密碼最大使用天數
    4. chage -l 5用戶名 密碼過期後到賬戶失效的天數
    5. chage -W 3用戶名 密碼過期的警告的天數
  6. /etc/login.defs默認建立新用戶的配置文件
  7. 全局配置/etc/profile 局部配置:~/.bash_profile
    1. /etc/profile設置命令歷史 HISTSIZE 此文件爲系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行. 並從/etc/profile.d目錄的配置文件中搜集shell的設置
    2. /etc/bashrc爲每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取
    3. ~username/.bashrc每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件
    4. ~username/.bash_profile該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。
  8. /etc/profile.d/*
    1. profile類的文件:
      1. 設定環境變量
      2. 運行命令或腳本
    2. bashrc類文件:
      1. 設定本地變量
      2. 定義命令別名

讀取配置文件過程: /etc/profile –>/etc/profile.d/*.sh –>~/.bash_profile –>~/.bashrc –>/etc/bashrc

4.批量建立用戶

  1. 按照passwd格式編輯好用戶名文件,編輯好用戶名密碼對應文件
  2. 導入用戶數據:newusers < user.txt
  3. 將/etc/shashow產生的shadow密碼解碼:pwunconv
  4. 將密碼寫入發哦passwd密碼欄中:chpasswd < passwd.txt
  5. 同部到/etc/shadow:pwconv

5.權限(R W X)

  1. 文件權限
    • r:可讀,w:可寫,x:可執行
    • 單獨權限的意義:
      • r單獨存在,可查看文件內容
      • w:單獨存在,看不到內容,但是可以強制修改文件內容,會覆蓋源文件內容,單獨存在的意義不大
      • x單獨存在毫無意義.
    • 常用組合權限:
      • rx:文件可讀,可執行不可修改,不可刪除
      • rw:可讀,可寫,不可執行
      • wx:不可讀,不可執行,可以覆蓋
  2. 目錄權限
    • r:可列出ls,w:可建立文件,x:可進入文件夾
    • 單獨權限存在意義:
      • r:可以讀,不能寫,也不能進入目錄
      • w:毫無意義
      • x:只能進入,不能讀,不能寫
    • 常用組合權限:
      • rw:可查看內容(ls),不可以進入目錄,不能刪除目錄或者裏面的文件
      • rx:可以查看內容,可以進入目錄,不可以修改目錄的內容
      • wx:不可以查看目錄的內容,可以進入目錄,可以刪除目錄下的文件但是前提是要知道目錄下有什麼文件.
  • 權限管理
    • chmod:修改文件或目錄的權限
    • chown:修改文件的所有者:
      • chown xiaoming abc將abc的所有者都改爲xiaoming
      • chown -R root /abc將此目錄下所有子文件改變其所有者有root
    • chgrp:修改文件所有組

6.鏈接

  • 軟連接(快捷方式):ln -s <別名> <舊名>
  • 硬鏈接 : ln <別名> <old_name>

7.suid:4,guid:2,sbit:1

  • suid
    • 以文件所有者來運行此文件,而與用戶無關
    • chmod u+s file
    • find / -perm -u=s
  • guid
    • 運行某程序是,相應的程序所屬組是程序文件所屬組,而不是用戶本身所屬組
    • chmod g+ file
  • sbit
    • 只針對目錄設置有效,當目錄設置爲粘滯位時,其下的文件只能所有者和root可以刪除,但是其他人不可刪除文件

8.umask

  • 默認爲022
  • 新建文件夾:666-umask
  • 新建文件默認權限:777-umask

9.文件系統訪問控制列表

  • 文件的擴展權限
  • 查看擴展權限:getfacl
  • 設置擴展權限:setfacl [-bkRd] [-m|x acl 參數] user:rw 目標文件夾
    • -b:刪除所有的acl參數
    • -k:刪除默認的acl參數
    • -R:遞歸設置ACL參數
    • -設置默認ACL參數,只對目錄有效

10.sudo提權

11.visudo(終端中直接輸入visudo即可打開配置界面)

  • 設置了一個普通用戶可執行root的命令

基本配置格式:user <host list > = <operator list > <tag list > <command list>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章