3
我正在構建ram文件系統,並生成了一個「/」目錄。我想在生成的「etc/shadow」文件中設置默認的根密碼。 實際的文件是:Linux在etc/shadow文件上設置root密碼
root:*:15980:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
...
.....
我想換成「根:*:」與「根:Hashedpassword:」我知道這是很容易與「HASHEDPASSWORD」來代替「*」,但它應該通過使用「root:anything:」模式完成,這也不應該是困難的,甚至 - 儘管我想在這裏詢問它,因爲它可能對其他人有用。
例如:
我想設置的密碼是 「CentOS的」
鹽是 「XYZ」
我得到的散列通:
pass=$(openssl passwd -1 -salt xyz centos)
然後我想用「sed」命令用「root:Hashedpassword:」替換「root:anything:」中的「anything」。
謝謝你,但它給了「sed:-e表達式#1,字符51:未知選項's'」 –
@Survivor有可能散列密碼中有'/'字符?如果是這樣,你可能想嘗試使用不同的分隔符,例如's,^ root:[^:] \ + :, root:$ pass :,'來使用',',除非你的逗號哈希 –
「awk」一個工作,但「gawk」沒有「-i」,所以「awk」和「nawk」沒有它。 –