2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Raspberry Pi Zero W】OSインストール直後にやったこと

Last updated at Posted at 2018-04-06

##前提条件
モデル : Raspberry Pi Zero W
OS : Raspbian Stretch Lite
    Version:March 2018
    Release date:2018-03-13
    Kernel version:4.9

##初期設定(ネットワーク接続前)
raspi-configを実行して、ネットワーク(Wi-fi)やインターフェース(ssh)の設定を実施します。

$ sudo raspi-config

    2 Network Options
        N2 Wi-fi # SSid/passphraseの入力

    4 Localisation Options
        I4 Change Wi-fi Country # JP

    5 Interfacing Options
        P2 SSH # sshを有効化(Enable)

##初期設定(ネットワーク接続後)
sshでログインし、raspi-configの続きを実施します。
この辺りは、詳しいサイトがいっぱいあるので省略。

参考サイト:
https://qiita.com/nakkaa/items/9871e0ebe0e8f9bb9c48

$ sudo raspi-config

##最低限のセキュリティ設定
raspi-configでWi-fi設定をしましたが、設定ファイルを見るとpassphraseが平文でした。これはよろしくないので暗号化します。

参考サイト:
https://qiita.com/tkyko13/items/1bc472ab777cc9375f06

$ cat /etc/wpa_supplicant/wpa_supplicant.conf # 設定ファイル確認
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="SSid_name" # 設定したSSid
        psk="passphrase" # 設定したpassphrase(平文)
}

$ sudo wpa_passphrase "SSid_name" "passphrase" # passphraseの暗号化
network={
        ssid="SSid_name"
        #psk="passphrase"
        psk=777619be6c78..........(省略)
}

$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf # 設定ファイル編集

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="SSid_name"
        psk=777619be6c78..........(省略) # 変更
}

sshのポートをデフォルトの22から任意のポート番号(推奨ポート番号は参考サイト参照)に変更し、rootユーザのログインを無効にします。

参考サイト:
http://sawara.me/linux/890/

$ sudo vi /etc/ssh/sshd_config # 設定ファイル編集

    #Port 22
    ↓
    Port xxxxx # 任意のポート番号を設定

    #PermitRootLogin prohibit-password
    ↓
    PermitRootLogin no # rootユーザのログインを拒否

$ sudo service ssh restart # sshサービス再起動

設定を間違えると繋がらないので、設定後は接続確認しましょう(手順は省略)。

続いて、piユーザのデフォルトパスワードはバレバレなので、変更します(raspi-configで変更してもOK)。別ユーザ作って、piユーザは削除したほうが安全ですが、それは後回し。

$ sudo passwd pi # コマンド実行後、パスワードを2回入力

$ su - pi # 確認
$ exit

同様に、rootユーザのパスワードも設定します。
パスワードを設定しなければ、そもそもログインできないらしく、設定しないほうが安全らしい(2018/4/16追記)。

$ sudo passwd root # コマンド実行後、パスワードを2回入力

$ su - # 確認
$ exit

##新規ユーザ作成とpiユーザ無効化(2018/4/16追記)
参考サイト:
https://qiita.com/rshibasa/items/6cb37878a521a7aecb04
https://jyn.jp/raspberrypi-username-change/

必要に応じてですが、例としてnewpiユーザを追加し、piユーザを無効化します。
最初にnewpiユーザの追加です。

$ groups pi # piユーザが所属しているグループを確認
pi : pi adm dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio
$ sudo adduser newpi
Adding user `newpi' ...
Adding new group `newpi' (1001) ...
Adding new user `newpi' (1001) with group `newpi' ...
Creating home directory `/home/newpi' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:         # パスワード
Retype new UNIX password:         # パスワード(2回目)
passwd: password updated successfully
Changing the user information for newpi
Enter the new value, or press ENTER for the default
        Full Name []: # 空Enter
        Room Number []: # 空Enter
        Work Phone []: # 空Enter
        Home Phone []: # 空Enter
        Other []: # 空Enter
Is the information correct? [Y/n] Y
$ sudo usermod -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio newpi # 確認したグループの追加
$ sudo cat /etc/passwd # 設定ファイル確認(なんとなくpiと同じ)
$ sudo cat /etc/group # 設定ファイル確認(なんとなくpiと同じ)

$ su - newpi
Password:         # パスワード
$ sudo whoami
[sudo] password for newpi:         # パスワード
root
$ exit

次にpiユーザの無効化です。個人的にpiユーザを削除したり、変更したくなかったので、ログイン不可にしました。これで大丈夫だよね?
作業はnewpiユーザで実施してください。設定後、piユーザで接続できないことを確認してください。

$ sudo usermod -s /bin/false pi
[sudo] password for newpi:         # パスワード
$ sudo vi /etc/shadow
pi:*:17637:0:99999:7::: # 暗号化されたパスワードの部分を*に置換
root:*:17603:0:99999:7::: # (参考)同様にrootにもパスワードを設定していたら*に置換

sudoコマンドで毎回のパスワード入力がうざい方は、sudoersでググってください。以下は非推奨。

$ sudo cp -p /etc/sudoers.d/010_pi-nopasswd /etc/sudoers.d/020_newpi-nopasswd
$ sudo vi /etc/sudoers.d/020_newpi-nopasswd
newpi ALL=(ALL) NOPASSWD: ALL

##ちょっとした設定(2018/4/10追記)
必要に応じて。。。

$ vi .bashrc # エイリアスの設定
alias ll='ls -l'

$ vi .vimrc # viの設定
set nocompatible

##ネットワークインターフェース名がいつもと違うとき(2018/4/16追記)
eth0がない?/boot/cmdline.txtにnet.ifnames=0を追記すればいいらしい。
参考サイト:
http://carol-net.co.jp/ikakashi/2017/08/24/raspbian-stretchで今まで通りのinterface名を使うには/

$ sudo vi /boot/cmdline.txt
~~~ net.ifnames=0 # 行末に追記

##各種アップデート

$ sudo apt-get update # パッケージリストの更新
$ sudo apt-get upgrade # インストールされてるパッケージの更新
$ sudo apt-get dist-upgrade # ディストリビューションの更新
$ sudo rpi-update # ファームウェアの更新
$ sudo reboot # 再起動

##各種インストール(2018/4/10追記)
必要に応じて。。。

$ sudo apt-get install -y vim
$ sudo apt-get install -y samba

##再起動

$ sudo reboot # 再起動
2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?