4クロックで支度しな

脊髄反射で思ったことを書き垂れます。68060とか名乗っときながら4クロックはヌルいとか言わないで。

Raspberry Piでユーザアカウントを追加する正しい方法

Linux Boxとして使うには罠が多い件について

Raspberry Pi2を買うまでは玄箱でちまちまやってきたわたしとしては、 /etc/shadow とか知らなかったのですよ。
で、ググりつつユーザアカウントでも追加してみるかと思ったところ、ハマってしまったわけで。

$ sudouseradd -m -g users -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,netdev,input,spi,gpio foo

で、アカウントを有効化しようと思ったら、passwdコマンドかusermodコマンドでパスワードを設定しないといけない。
まず、passwdを使おうと思って、

$ sudo su - foo
$ passwd
foo 用にパスワードを変更中
現在のUNIXパスワード:

・・・今はパスワードなんか無いと言うに。
で、usermodの方を調べてみると、

  • p password
  crypt(3) の返り値である暗号化パスワード。

とか書いてあるわけですよ。どないせえと。
で、強引に /etc/shadow のパスワードエントリをユーザpiからコピペしてきたりすると、 /etc/passwd との不整合が起こって、

$ sudo pwconv

とかやる羽目になったり。

正しい方法

で、色々見てて、passwdコマンドのmanpageを見てやっと分かった次第。それは、

  • rootがpasswdコマンドを使う場合、現在のパスワードの入力を省略できる。

・・・これ。これをもっとアピールしてくれれば、・・・
で、正しい手順

  1. sudo useradd でユーザアカウントを作成する
  2. sudo passwd でパスワードを設定する
    • パスワードを設定したらアカウントは有効化されるので、sudo usermod -U とかはしなくて良い

少しでもまともなUnixを触った人なら常識なんだろうけれど、シャドウパスワードとか何それ?、と言う人も恐らく触っていると思うので、誰かの役に立つことを願って。