Try   HackMD

/etc/passwd、/etc/shadow 上課講義

/etc/passwd

  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

    • 不用 sudo 就可以查看
    • 每行代表一個帳號
    • 有些帳號是為了系統正常運作而存在的,不可以亂刪
      • 例如:nobody
  • 欄位架構

    • 使用者名稱
    • 密碼
    • 使用者 id (uid)
      • 在 Linux 中,是透過 uid 來辨別使用者
      • 使用者名稱只是參考用的 XD
    • 使用者所在的群組 id (gid)
      • cat /etc/group 可以查看結果是不是對得起來
    • 使用者的資訊
      • adduser 指令中輸入的資訊都會存在這個欄位
      • , 隔開
      • Image Not Showing Possible Reasons
        • The image was uploaded to a note which you don't have access to
        • The note which the image was originally uploaded to has been deleted
        Learn More →
    • 登入後的起始目錄 (家目錄)
    • 登入後 shell 的路徑
  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

/etc/shadow

  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

    • 要用 sudo 才可以查看
  • 欄位架構

    • 使用者名稱
    • 加密後的密碼
    • 上一次密碼變更的天數
      • 從 1970 年 1 月 1 日算起的天數
      • Unix Time
    • 密碼最短使用期限
      • 兩次變更密碼最短需要間隔多久,單位為天
      • 如果此欄位為 0 則表示隨時可更改密碼
    • 密碼最長使用期限
      • 密碼最多可以使用多久,單位為天
      • 如果此欄位是空的則代表關閉此功能

      如果 密碼最短使用期限 大於 密碼最長使用期限

      • 使用者就不能改密碼
      • 例如
        • 密碼最短使用期限 設定 100 天
        • 密碼最長使用期限 設定 10 天
        • 密碼 123 最長可以使用 10 天,但我需要等 100 天才可以改密碼
    • 密碼過期前發出警告的期限
      • 密碼過期前多久,系統會對使用者發出警告,單位為天
      • 如果此欄位是 0 則代表關閉此功能
    • 密碼過期後的放寬天數
      • 當密碼過期後,使用者還有多久的時間可以登入更改密碼,單位為天
      • 如果此欄位是空的則代表關閉此功能
    • 帳號過期時間
      • 此帳號過期的時間點
      • 從 1970 年 1 月 1 日算起的天數
      • 如果此欄位是空的則代表關閉此功能

密碼的欄位

  • x/etc/passwd 中的密碼都顯示為 x
    • 對應到存在 /etc/shadow 的密碼
  • !:此帳號被鎖定,不能用密碼登入
    • 用於使用者
  • *:此帳號被鎖定,不能用密碼登入
    • 用於服務
  • :沒有密碼
    • 如果此時 passwd 會直接進入設定密碼的環節
    • 有些讀取 /etc/shadow 的檔案,可能會因為此欄位是空的,就不提供服務

實作

注意事項
要清楚自己下什麼指令,並做好改壞要重裝的決心

  • 玩之前先建立一個 user
    • sudo adduser <使用者名稱>
  • cat /etc/passwd
  • sudo cat /etc/shadow

/etc/shadow

  • 密碼欄位
    • 刪掉一個字
    • 變成 *!
    • 變成

/etc/passwd

  • 密碼欄位
    • 變成 *!
    • 變成
  • uid
    • 變成
    • 變成別人的 id
      • 可以到其他使用者的家目錄底下 touch 檔案
        • ls -al 查看 owner
  • 起始目錄
    • 改成不存在的路徑
    • 改成 /etc
      • pwd 查看當前路徑
  • shell 路徑
    • 改成不存在的路徑
    • 改成 /bin/false
      • 使用者無法登入
      • 不會提供任何提示,然後狠狠地把你甩到一邊去
    • 改成 /usr/sbin/nologin
      • 使用者無法登入
      • 會給你提示,This account is currently not available.
      • 然後狠狠地把你甩到一邊去
    • 改成 /usr/game/sl
      • sudo apt install sl