#author("2022-12-13T13:17:53+09:00","default:honma","honma")
#author("2022-12-13T13:20:00+09:00","default:honma","honma")
* パスワードファイル [#eb2d794e]

以前は[[/etc/passwd:https://linuxjm.osdn.jp/html/shadow/man5/passwd.5.html]] に直接パスワードが書かれていたが、現在は[[/etc/shadow:https://linuxjm.osdn.jp/html/shadow/man5/shadow.5.html]]に格納するシャドウパスワード方式になった。

ファイル属性は/etc/shadowはrootしか読み書きできないようになっている。

 pi@raspberrypi:~$ ls -l /etc/shadow
 -rw-r----- 1 root shadow 921 11月 21 17:05 /etc/shadow
 pi@raspberrypi:~$ ls -l /etc/passwd
 -rw-r--r-- 1 root root 1665 11月 21 17:05 /etc/passwd

実際に/etc/shadowに書かれているパスワードを確認。~
中身はハッシュ値が格納されている。

 pi@raspberrypi:~$ sudo cat /etc/shadow | grep pi
 pi:$5$clhzvEqPUI$X2QJCtWBs22x0hfMq3WEcuALgRth13MmLE9m2Emt6V9:19257:0:99999:7:::

格納されている形式は

 $id$salt$encrypted

暗号化は[[crypt:https://linuxjm.osdn.jp/html/LDP_man-pages/man3/crypt.3.html]]関数を使用している。

前半の clhzvEqPUI が slat になっていて、同じパスワードをセットしても値が変わるのはここが原因。~
上記の id が 5 になっているのは SHA-256 を使用していることを示す。~
encrypted は SHA-256 では 43文字固定で出力される。

** パスワードハッシュの生成 [#m5ea0f8f]

perl でワンライナーで書くとこんな感じ

 perl -e 'print crypt("raspberry", "\$5\$clhzvEqPUI"), "\n";'

実行させると

 pi@raspberrypi:~$ perl -e 'print crypt("raspberry", "\$5\$clhzvEqPUI"), "\n";'
 $5$clhzvEqPUI$X2QJCtWBs22x0hfMq3WEcuALgRth13MmLE9m2Emt6V9
 pi@raspberrypi:~$

と無事に同じ出力を確認することができる。

~
~
#htmlinsert(amazon_pc.html);

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS