成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于Linux用戶登錄密碼的生成

系統 Linux
如何生成一個Linux用戶登錄密碼?可能有人會說用passwd生成。的確,passwd命令能夠幫助我們重置用戶登錄密碼,但是這并沒有解答如何生成一個Linux用戶登錄密碼的疑問。

Linux用戶登錄密碼的生成

一、從自動化需求說起

如何生成一個Linux用戶登錄密碼?可能有人會說用passwd生成。的確,passwd命令能夠幫助我們重置用戶登錄密碼,但是這并沒有解答如何生成一個Linux用戶登錄密碼的疑問。

對于這個問題,秉承著實用主義的精神,我原本也不會去深究。畢竟,安裝的時候會設置密碼,安裝完畢后能通過passwd命令重置密碼,學會這兩點后已滿足一般的需求已經綽綽有余了。

但是,對于自動化而言,知道以上的兩點是不夠的。Linux的自動化安裝過程中,設置用戶登錄密碼這事,肯定不能有人為干預,否則談什么自動化。操作系統安裝完畢后,也有可能會有重置用戶密碼的自動化需求,此時使用passwd命令來重置用戶密碼,也不見得是最佳的選擇。

如果明白了密碼的生成機制,那么這個自動化需求的難題也就迎刃而解了。

二、密碼生成理論

有Linux基礎的人一定知道,Linux的用戶登錄密碼信息是存放在/etc/shadow文件當中的,并且該文件只有root用戶能夠訪問。以下會以voidint這個用戶為例,看一下這個用戶的密碼信息。

  1. $ sudo cat /etc/shadow | grep voidint 
  2.  
  3. [sudo] password for voidint: 
  4.  
  5. voidint:$6$3kheX/Vg$TGum9JEjfmGsj8Mfk3SUY/d/bWkJgnRimCxoaDTX7wcgrraYvU.fiziEUdpDglWc58uPZqWJhKNjiXayP9Q6b0:16892::::::  

很明顯,這個字符串被:符號分隔成了9段。我們這里只關注前兩段,至于每一段具體的含義,可以戳這里自行閱讀。第一段,是用戶名稱。第二段,即為用戶密碼。其實密碼這種稱呼并不準確。相對準確的說法是,用戶密碼明文經過某種哈希算法計算所獲得的密文。但是,鑒于這個相對準確的說法實在太長太拗口,不便于表達。因此,以下提到的密碼在無特別說明情況下,一律指的是密碼明文的密文。

言歸正傳,看到這里相信好多人會和我有一樣的思考: 是不是只要知道了密碼生成的算法,并按照此算法生成一個滿足Linux要求的密碼,再把密碼覆蓋這個第二段的內容,那么用戶密碼就被重置了嗎?

仔細看這段密碼,會發現它是由$xxx$xxx$xxx的格式構成,即由$符號分隔的3端字符串構成。查閱資料后得知,這個格式可以進一步概括為$id$salt$encrypted。簡要說明下$id$salt$encrypted中各個部分的含義:

  • id: 加密(確切說是哈希)所用算法的代號。
ID Method
1 MD5
2a Blowfish (not in mainline glibc; added in some Linux distributions)
5 SHA-256 (since glibc 2.7)
6 SHA-512 (since glibc 2.7)
  • salt: 由程序隨機生成的字符串,即鹽)。
  • encrypted: 用戶密碼明文字符串加鹽后使用哈希算法所得的哈希值,即哈希(明文+鹽)。

特別說明

資料中還提到了另外一種形式的密碼——$id$rounds=yyy$salt$encrypted。其中,鹽的部分換成了rounds=yyy。yyy是一個由用戶(調用方)提供的[1000, 999999999]之間的整數。

三、密碼生成實踐

知道了上面這部分基礎知識,那么接下來就是理論指導實踐的環節了。具體可以借助什么工具來生成密碼呢?這里使用的grub-crypt工具。你可以在某個Linux發行版中安裝這個工具,也可以使用我提供的這個dockerfile。

  • 使用sha512算法生成密碼 
  1. $ grub-crypt --sha-512 
  2. Password
  3. Retype password
  4. $6$r1jcut3Crl8bSIMo$XfKnrl4Ykzk2KPQ59MCXcUef9OjZWoZrIp7aeWwnCzIVQY1p/G1EiJQE4DYFej783NlvR5KtKYXs4P/hQaVst.  
  • 將生成的密碼寫入/etc/shadow文件中(該文件只有root用戶才有權限讀寫,若root也無權限,則賦予600權限即可)
  1. $ sudo cat /etc/shadow | grep voidint 
  2.  
  3. voidint:$6$r1jcut3Crl8bSIMo$XfKnrl4Ykzk2KPQ59MCXcUef9OjZWoZrIp7aeWwnCzIVQY1p/G1EiJQE4DYFej783NlvR5KtKYXs4P/hQaVst.:16892::::::  
  • 退出當前用戶并使用新修改的密碼登錄

四、參考

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2017-06-07 12:48:07

Linuxmimipenguin轉儲登錄

2009-09-03 09:08:08

Linuxroot密碼遺忘

2018-07-26 11:10:13

Linux命令更改密碼

2022-06-24 08:48:47

用戶名密碼登錄

2013-08-21 09:58:05

2020-03-03 08:00:00

Linux創建用戶登錄

2013-06-26 15:35:33

2011-04-07 16:54:42

2017-06-06 14:44:37

2023-09-13 22:54:06

2011-07-27 15:45:29

MySQL數據庫root用戶遠程登錄

2023-10-18 13:26:54

2009-07-06 18:27:09

SUSE Linux超級用戶密碼修改

2015-10-12 09:36:24

登錄密碼Linux

2010-04-07 11:04:52

Oracle用戶密碼

2021-07-15 13:32:12

Linux生成密碼

2010-01-12 15:14:42

Linux MySQL

2015-10-21 11:03:21

ssh登錄Linux

2023-02-23 09:26:40

Linux登錄用戶

2022-04-23 16:36:30

Linux密碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www亚洲成人 | 天堂久久一区 | 黄视频网站免费观看 | 国产成人在线一区 | 亚洲精品一区二三区不卡 | 色综合久久天天综合网 | 日韩免费在线 | 蜜桃官网 | 成人免费视频在线观看 | 国产精品精品久久久 | 69av在线视频 | 亚洲精品国产偷自在线观看 | 夜夜艹 | 一区二区日韩 | 欧美午夜精品理论片a级按摩 | 在线观看 亚洲 | 亚洲视频免费在线观看 | 亚洲乱码一区二区三区在线观看 | av中文字幕在线 | 在线国产一区二区 | 丁香久久 | 精品一区二区av | 精品一区二区三区中文字幕 | 久草综合在线 | 欧美久久一区二区三区 | 成人av大全 | 日韩欧美一区二区三区 | 国产美女一区 | 欧美精品1区2区3区 免费黄篇 | 久久99精品久久久久久秒播九色 | 日韩一区二区视频 | 国产精品69av| 夜夜爽99久久国产综合精品女不卡 | 超碰av免费 | av电影一区二区 | 久久久久久久久91 | 国产成人综合网 | 一级a性色生活片久久毛片 午夜精品在线观看 | 九九热精品视频 | 久草.com| 亚洲视频在线看 |