網頁

2013年2月26日 星期二

passwd指令;批量修改密碼;/etc/passwd,/etc/shadow,/etc/group,/etc/gshadow 檔案介紹


  • 用來顯示密碼概要資訊…
    • passwd -S test100
  • 用來問答方式設定新的密碼
    • passwd canred
  • 使用 echo 來設密碼
    • echo 123456 | passwd --stdin  test100
  • /etc/passwd 檔案介紹
    • 這一個檔案是一個文字檔,包含了帳號的資訊。每一行表示一個帳號資訊,其格式如下
      • 名稱:密碼:UID:GID:註解:目錄:shell
        • 欄位說明:
          • 名稱:不要使用特殊符號即可…這應該不用多說了吧
          • 密碼:加密過的密碼欄位以*顯示,並存於shadwo中;若沒有使用shadow而且密碼欄為*時,刪無法登入系統。
          • UID :使用者的唯一識別碼,但0是給root帳號用的
            • 備註:UID在0-499為系統保留給系統用戶(通常是軟體的專有用戶)使用的,因此管理員在新增用戶id時通常大於500
          • GID :主群組的號碼,與名稱的對應定在 /etc/group 的檔案中
          • 註解:就是註解…
          • 目錄:使用者根目錄的所在的位置,你也可以使用usrmod -s的指令來修改
          • shell :登入時所使用的程式shell,常見的有sh csh ksh bash ,如果此欄位不存在則使用預設的sh,若為/sbin/nologin,則無法登入
        • 備註
          • 若是不想讓該使用者登入系統
            • 在shadow模式下;把使用的的密碼變成非*即可
            • 使用passwd -l account   ;參數 l 為lock
            • 在passwd的檔案修改shell部份的/sbin/nologin
  • chpasswd指令(資料來源為:鳥哥的 Linux 私房菜)
    • 說明:此指令可以『讀入未加密前的密碼,並且經過加密後, 將加密後的密碼寫入 /etc/shadow 當中。』這個指令很常被使用在大量建置帳號的情況中喔! 他可以由 Standard input 讀入資料,每筆資料的格式是『 username:password 』。 舉例來說,我的系統當中有個使用者帳號為 dmtsai ,我想要更新他的密碼 (update) , 假如他的密碼是 abcdefg 的話,那麼我可以這樣做:
      • echo "dmtsai:abcdefg" | chpasswd -m
  • /etc/shadow 檔案介紹
    • 這是一個加密的密碼檔,其中包含了使用者的重要資訊,格式如下
      • (A)使用者名稱:(B)加密的密碼:(C)密碼變動日:(D)密碼可能改變前的日期:(E)密碼必須在多少日後變更:(F)密碼失效前多少日提出警告:(G)密碼失效後多少日停用該帳號:(H)從1970/1/1,該帳後被停用的日數:(I)保留欄位
        • 密碼在(D)之前是不得變更的,而必須在(E)之前變更
        • (E)大於(D),應使用不能再變更密碼
        • (B)加密的密碼是一個md5加密(不可逆的加密方式),通常是以$1$開頭的。
        • (c)表示最後一次密碼修改的天數(從1970/1/1日算起)
        • (d)表示2次修改密碼之間的問隔天數,在此期間用戶不能修改密碼(0表示可以隨時修改密碼)
        • (e)表示密碼最長存留的天數
        • (f)用於標識密碼過期之前的警告天數(-1表示沒有警告)
        • (g)用於表示密碼過期之後禁止戶登錄的天數(1表示不會被禁用)若為空也表示不會被禁止登錄。
        • (h)表示過期後被禁用的天數(-1或空表示不會被禁用)
        • 在shadow文件中出現2個『!!』號,表示是空的密碼
        • 在shadow文件中二個用戶相同的密碼的情況下,密文若然是不同的
用戶組管理
  • 用於保存用戶組的文件為/etc/group,其密碼文件在/etc/gshadow中,概念於用戶管理是相同的
  • /etc/group
    • 它定義群組的名稱,gid,以及使用者的對應,格式如下:
      • group_name:passwd:GID:user_list
        • group_name:是群組名稱
        • passwd:加過密的密碼,也就是使用shadow時則欄就以*/x表示,而加過密的密碼置於/etc/gshadow
        • GID:群組id
        • user_list:使用者列表,這邊可列出群組的所有人員,以逗號分隔
  • /etc/gshadow
    • 用於保存用戶組密碼、用戶組管理員等設置。
      • group_name:用戶組密碼:用戶組管理員:組的成員
        • group_name:組名稱
        • 用戶組的密碼
        • 用戶組管理員;若為多個時以『,』分隔
        • 用戶組成員;若為多個時以『,』分隔
      • 系統用戶組文件和用戶shadow都是由系統自動生成的,不建議使用手動修改。

沒有留言:

張貼留言