Arch Linux on Raspi で固定IPを使えるようにする

DHCP による IP アドレスの割り当ては便利な反面,外部(Windows など)からネットワーク越しにログインする時は不便だ.
たまに違う IP アドレスが割り当てられることがあるのが問題だ.


よし.今回は IP アドレスの固定化を実践する.
とはいえ,毎度毎度 root で作業するのは怖すぎるので,ユーザーを作ってから作業することにする.


ユーザー追加

まずは root でログイン.
そして,ユーザー cota を useradd コマンドを利用して追加する.

# useradd -m cota

これで cota というログインアカウントが作成された.
次に,cota アカウントのパスワードを passwd コマンドを利用して設定する.

# passwd cota
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

これでユーザー追加は終了.


sudo コマンドのインストール

ユーザー cota には root 権限がない.
root 権限がないとできない作業があるが,その都度,root でログインしていたら面倒だ.


そこで安全に,かつ簡単に root になるためのコマンドが sudo.
まずは pacman で sudo をインストール.

# pacman -S sudo

次に,ユーザー cota が sudo で root 権限を使えるように設定.

# visudo

以下のように root の設定の下に cota の設定を追加する.

root ALL=(ALL) ALL
cota ALL=(ALL) ALL

これで cota が sudo コマンドを利用して root 権限を取得できるようになった.
一度,ログアウトする.

# logout

cota でログインしなおすと,次のように表示される.

Welcome to Arch Linux ARM

Website: http://archlinuxarm.org
Forum: http://archlinuxarm.org/forum
IRC: #archlinux-arm on irc.Freenode.net

[cota@alarmpi ~]$

cota でログインしていることが分かる.
今後は,ユーザー権限でログインしている場合に $ を使って以下のように表示する.

$

ここで,以下のコマンドを実行してみる.

$ pacman -S sudo
error: you cannot perform this operation unless you are root.

このコマンドは先ほど sudo をインストールした際に入力したコマンドだが,エラーとなる.
このエラーは,pacman が root 権限で実行されていないことを意味する.


これを sudo コマンドを用いて root 権限で実行するには,以下のようにコマンドの前に sudo を追加するだけだ.

$ sudo pacman -S sudo

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

[sudo] password for cota:

すると,cota のパスワードを聞いてくるので,パスワードを入力すると,次のように表示される.

warning: sudo-1.8.10.p3-1 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...

Packages (1): sudo-1.8.10.p3-1

Total Installed Size: 3.33 MiB
Net Upgrade Size: 0.00 MiB

:: Proceed with installation? [Y/n]

sudo を再インストールするのは無駄なので n と入力しておく.


wlan0 の固定 IP 化

wifi-menu で wlan0 を設定したことが前提.
Arch Linuxのラズパイで無線LANが使えるようになったの続き.


現在の無線 LAN の設定は以下のようになってる.

$ sudo cat /etc/netctl/wlan0-SSID
[sudo] password for cota:
Description='Automatically generated profile by wifi-menu'
Interface=wlan0
Connection=wireless
Security=wpa
ESSID=XXXXXXXXXXXXXXXX
IP=dhcp
Key=YYYYYYYYYYYYYYYY

ファイル名のSSIDやXXXXXX,YYYYYYは個別の値.
各自の環境ごとに異なる.


この /etc/netctl/wlan0-SSID を以下のように修正する.
変更・追加するものを赤色で表している.

$ sudo vi /etc/netctl/wlan0-SSID
[sudo] password for cota:
Description='Automatically generated profile by wifi-menu'
Interface=wlan0
Connection=wireless
Security=wpa
ESSID=XXXXXXXXXXXXXXXX
IP=static
Key=YYYYYYYYYYYYYYYY
Address=('192.168.aaa.bbb/24')
gateway=('192.168.aaa.ccc')
DNS=('8.8.8.8')

192.168.aaa.bbb は与えたい固定 IP ,192.168.aaa.ccc はゲートウェイを指定する.
DNS はグーグルのパブリック DNS である 8.8.8.8 にしてあるが,適切なものを指定する.
/24 はネットマスクを表している.
左から何ビットのマスクをかけるかという表現方法なので,255.255.255.0 と同じ意味.
ネットワーク環境に沿って指定する必要があるが,/24 が多いと思う.


そして,再起動すれば,192.168.aaa.bbb に ssh でログインできるようになる.


ついでに sshd の設定もしておく.
sudo の設定もしたし,ssh による root ログインを禁止する.
以下のように /etc/ssh/sshd_config を編集して PermitRootLogin を no にする.

$ sudo vi /etc/ssh/sshd_config
...
PermitRootLogin no
...

再起動すれば,ssh 経由で root ログインできないようになっている.
コンソールからは root でログインできるので,sudo が使えなくなった場合や,どうしても root でログインしないといけない場合は,コンソールからログインすればよい.


今日はこの辺で.

応援よろしくにゃ~.
にほんブログ村 科学ブログ 科学実験・工作へ
にほんブログ村

コメント

このブログの人気の投稿

第1回 ラムダ抽象と関数適用

パソコンの Arch Linux に Emacs をインストール

パソコンの Arch Linux に Chrome をインストール