前言
在Linux的開發測試環境中,會經常需要輸入使用者密碼,使用簡單密碼可以提高效率。
注意:只建議在開發測試環境中使用,生產環境切勿使用。
1. linux密碼檔案簡介1.1 密碼檔案/etc/shadow/etc/shadow 檔案,用於儲存 Linux 系統中使用者的密碼資訊,又稱為“影子檔案”。
只有 root 使用者擁有/etc/shadow的讀許可權,其他使用者沒有任何許可權。
# cat /etc/shadowroot:$6$JIyttpHYJZGypLH/$egLj6byiSujKdWVio9rm7laujXyDpiOxfKZy6YZ0aE1N6pgsMIXxEOF87/.F/OePSnNOJyY5zyLIUuUApINrG/:18632:0:99999:7:::daemon:*:18586:0:99999:7:::bin:*:18586:0:99999:7:::dev1:$6$LsV8HsdTzliloiek$5GG7L4MOez8EnYxblcgvycMsSLhIkvQhH0nRZlrKUqM3RC2LuaWkz.zohTbfKnb.dd380yaBn9W0Q0YoPGr9t.:18632:0:99999:7:::...
1.2 /etc/shadow欄位簡介檔案中每行代表一個使用者,同樣使用 “:” 作為分隔符,不同之處在於,每行使用者資訊被劃分為 9 個欄位。每個欄位的含義如下:
使用者名稱:加密密碼:最後一次修改時間:最小修改時間間隔:密碼有效期:密碼需要變更前的警告天數:密碼過期後的寬限時間:帳號過期時間:保留欄位
使用者名稱name
登入名稱,必須是有效使用者名稱
加密密碼password已加密密碼,分為三個部分用$分隔,第一部分表示用哪種雜湊演算法;第二部分是用於加密雜湊的salt;第三部分是已加密的雜湊
雜湊演算法:1表示MD5;6表示SHA-512;5表示SHA-256
注意:在密碼前一個感嘆號(!)代表該使用者被鎖定,可以在機器上轉到該使用者,但無法遠端
注意:密碼是兩個感嘆號(!),表示沒有設定密碼
最後一次修改時間lastchanage最近一次更改密碼的日期,以距離1970/1/1的天數表示
最小修改時間間隔min-age密碼更改後多少天內不能再次更改。0表示可以隨時更改
密碼有效期max-age密碼過期時間,必須在期限內修改密碼
密碼需要變更前的警告天數warning警告期,警告使用者再過多少天密碼將過期。0表示不提供警告
密碼過期後的寬限時間inactive寬限期,密碼過期多少天仍然可以使用
帳號過期時間expire帳號過期時間,以距離1970/1/1的天數表示。0或空字元表示永不過期
預留欄位blank預留欄位
2. linux使用簡單密碼2.1 uos/deep/ubuntu/dedain修改密碼sudo passwd <使用者名稱>
或
su rootpasswd <使用者名稱>
過於簡單的密碼會提示無效密碼
# passwd dev1新的 密碼:無效的密碼: 太短無效的密碼: 是迴文新的 密碼:無效的密碼: 太簡單或太有規律無效的密碼: 過於簡單
2.2 centos/redhat修改
非互動式修改密碼
echo 123456 | passwd --stdin t2
2.3 強制修改簡單密碼a.生成簡單密碼的加密密碼互動式
$ openssl passwd -6 -salt $(< /dev/urandom tr -dc '[:alnum:]' | head -c 32)Password: $6$LOsCVmwRuh96ukYE$zRMlncIfTrDNo6aJsfhEa8fVMieCIMVGvo9pEKMH21L.D1dQn.1mV/0SCDsNy11RRLCHARm77VAYoCeGy89jk0
shell
$ echo a | openssl passwd -6 -salt $(< /dev/urandom tr -dc '[:alnum:]' | head -c 32) -stdin$6$8Yly5hq92IA7TBqd$iW0EJgcx3mPBzFaYs47n0TeRu2HWeWRbZnr3mDphbtdjbDQ.tQ00jr6zduaQzdsI9quQNn8iEp76Y4sLYlqig1
b.強制修改密碼將密碼複製到/etc/shadow覆蓋到對應使用者的密碼欄位
License
License under CC BY-NC-ND 4.0: 署名-非商業使用-禁止演繹
最新評論