Edisonにsudoをインストール&rootでのssh禁止

WindowsユーザーなのでLinuxとかよくわからないのですが、昔ききかじった知識にrootでの作業は危ないという話がありました。

久々に触るLinux環境ですし、勉強がてら、ユーザを追加して普段の作業はそちらで行い、必要な場合のみrootになる運用方針としてみます。

1. ユーザー「testuser」の追加

adduserコマンドで「testuser」というユーザーを追加後、passwdコマンドでtestuserのパスワードを設定します。

root@edison:~# adduser testuser
root@edison:~# passwd testuser

2. suの制限とsudoの導入

デフォルトの設定だと、rootのパスワードさえ知っていればsuコマンドで誰でもrootになれてしまいます。

また、もし複数人で管理するような場合は全員でrootのパスワードを共有する必要があります。できれば避けたいので、suコマンドでrootになれないようにし、代わりにsudoコマンドを使うようにします。

2-1. suの制限

「wheel」というグループに所属するユーザー以外はsuコマンドでrootになれないよう制限します。

…本当はwheelに所属するユーザも無効にしたいのですが、やり方がわかりませんでした。Edisonの場合はデフォルトだと「wheel」というグループは存在しないため、この制限を行うことで、「誰もsuコマンドでrootになれない」としているつもりです。

具体的には/etc/login.defsテキストエディタ等で編集し、「SU_WHEEL_ONLY no」を「SU_WHEEL_ONLY yes」にすればOKです。

一応、編集前のlogin.defsを「login.defs.org」とした場合のdiffでの差分を示します。

--- login.defs.org
+++ login.defs
@@ -211,7 +211,7 @@
 # to uid 0 accounts.  If the group doesn't exist or is empty, no one
 # will be able to "su" to uid 0.
 #
-SU_WHEEL_ONLY  no
+SU_WHEEL_ONLY  yes

 #
 # If compiled with cracklib support, sets the path to the dictionaries

2-2. sudoの導入

sudoがインストールされていなかったのでインストールします。opkgでインストールした後、visudosudoを使用できるユーザーを設定します。

visudoでは環境変数$EDITORに設定されたテキストエディタ/etc/sudoersを編集します。この編集の際、とりあえず「testuser ALL=(ALL) ALL」と追加すればOKです。

一応、編集前のsudoersを「sudoers.org」とした場合のdiffでの差分を示します。

--- sudoers.org
+++ sudoers
@@ -70,6 +70,7 @@
 ## User privilege specification
 ##
 root ALL=(ALL) ALL
+testuser ALL=(ALL) ALL

 ## Uncomment to allow members of group wheel to execute any command
 # %wheel ALL=(ALL) ALL

2-3. 確認

  • Step1: testuserとしてログイン
root@edison:~# login testuser
Password:  ※ ←testuserのログインパスワード
edison:~$ whoami
testuser
edison:~$
  • Step2: 「etc/sudoers」を読む権限がないことを確認
edison:~$ head -n 1 /etc/sudoers
head: /etc/sudoers: Permission denied
edison:~$
  • Step3: suでrootになる権限がないことを確認
edison:~$ su
You are not authorized to su root
edison:~$
  • Step4: sudoを使えることを確認
edison:~$ sudo -s
Password:  ※ ←現在のユーザー(testuser)のログインパスワードを入力
edison:/home/testuser# whoami
root
edison:/home/testuser# head -n 1 /etc/sudoers
## sudoers file.
edison:/home/testuser# exit
edison:~$

3. sshの設定

sshに関してもセキュアな感じにしてみます。

3-1. ユーザー「testuser」でsshログインできるように設定

Git for Windowsをインストールしていたので、OpenSSHが入っていました。Tera Term使わなくてもいけます。

ssh-keygenで公開鍵と秘密鍵を「~/.ssh」に作成。ssh-copy-idでEdisonのtestuserのホームディレクトリに「~/.ssh」を適切なパーミッションで作成して公開鍵をコピー。sshでユーザー「testuser」としてEdisonにログイン。

windows:~$ ssh-keygen
windows:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub testuser@192.168.0.7
windows:~$ ssh testuser@192.168.0.7

3-2. sshd_configを設定

「/etc/ssh/sshd_config」を編集し、Edisonのsshサーバ側の設定を次のようにします。
※ 「/etc/ssh/sshd_config」の編集はsudoでrootとして行うこと

  • rootログインを禁止
    • 「PermitRootLogin」を「no」にする
  • 空のパスワードを禁止
    • 「PermitEmptyPasswords」を「no」にする
  • パスワード認証を禁止(公開鍵認証のみ許可)
    • 「+PermitEmptyPasswords」を「no」にする
    • 「ChallengeResponseAuthentication」を「no」にする

編集前のsshd_configを「sshd_config.org」とした場合のdiffでの差分を示します。

--- sshd_config.org
+++ sshd_config
@@ -38,7 +38,7 @@
 # Authentication:

 #LoginGraceTime 2m
-PermitRootLogin yes
+PermitRootLogin no
 #StrictModes yes
 #MaxAuthTries 6
 #MaxSessions 10
@@ -59,10 +59,12 @@

 # To disable tunneled clear text passwords, change to no here!
 #PasswordAuthentication yes
-PermitEmptyPasswords yes
+PasswordAuthentication no
+PermitEmptyPasswords no

 # Change to no to disable s/key passwords
 #ChallengeResponseAuthentication yes
+ChallengeResponseAuthentication no

 # Kerberos options
 #KerberosAuthentication no

4. 参考サイト

BusyBoxとは?

Edisonの/binls -lをしてみたところ、多数のものがbusyboxというものにシンボリックリンクされていました。busyboxってなんだろう?

ググってみたところ、BusyBoxは各種基本プログラムを1つの実行ファイルで実現し、ファイルサイズを小さくしたもので、組み込みLinuxで広く使われているものとのこと。

サイズを小さくするために独自実装したり、使用頻度の低いオプションを省いたりもしているらしい。へー。

root@edison:~# ls -lU
ls: invalid option -- 'U'
BusyBox v1.22.1 (2015-06-19 07:36:41 CEST) multi-call binary.

Usage: ls [-1AaCxdLHRFplinsehrSXvctu] [-w WIDTH] [FILE]...

確かにオプションが省かれているようです。

busybox --listで、使用できるもの一覧を確認可能。viとかも入っているようです。

いろいろ入っていてすごいし便利だとは思うんですが、既に存在するものを再実装って、バグが出たりセキュリティ面で少し怖いんですが大丈夫なんですかね。まあ、問題があれば個別に入れればいいだけの話なのでしょうが…。

Googleフォトを導入

スマホで撮った写真をブログに上げるにあたり、いちいちケーブル指したりアプリを立ち上げてファイル共有するのが面倒だと感じたため、Googleフォトを使ってみることにしました。

導入手順

Androidを使用しているのでGoogleのアカウントも持っています。そのため導入はとても簡単でした。

  • スマホ
    1. GoogleフォトをGooglePlayからインストールする
    2. インストールしたGoogleフォトを立ち上げて、初期設定を行い、自動で同期するようにする
    3. 同期が始まり、これまでスマホで撮影していた写真がアップロードされるのであとは放置
  • PC側
    1. ブラウザでGoogleにログインし、サービス一覧からフォトを選択
    2. スマホから同期された写真があることを確認する

懸念点の解消

外部サービスは便利な反面、いろいろな問題が付きもの。いくつか不安なものについて調べてみました。

写真が勝手に公開されるのでは?

共有というと、プライベートな写真が勝手に公開されてしまうようなことがないか懸念していたのですが、Googleフォトの場合は基本の設定が非公開で、写真ごとに設定した場合のみ公開されるようなので問題なさそうです。

無料の容量を使い切ってしまうのでは?

写真のように容量が大きいものの場合は無料の容量を使い切ってしまいそうですが、設定で「高画質」を選んだ場合、一定サイズまでの写真であれば容量無制限になるとのこと。この「一定サイズ」は1600万画素とのことですので、普通に使用する分には十分ですね。

ただし「高画質」の場合はファイルが圧縮されてしまいますので、「スマホの画像ファイルそのままで保存したい」という場合は「元のサイズ」を選ぶべきなのでしょう。「元のサイズ」を選んだ場合はGoogleドライブの容量をその分消費することになるので注意が必要です。

ブログに張り付ける

Googleフォトにある写真をブログに張り付けるにはどうすればよいのか。これが手間だと意味がありません。

はてなブログの「Googleフォト貼り付け」を利用する

はてなブログGoogleフォトからの貼り付け機能があります。これを使えば簡単に張り付けられますね。個人的にはこれを使っていこうと思います。 staff.hatenablog.com

はてなブログの「クリップボードからの画像の貼り付け」を利用する

PCでChromeを使用していてはてなブログを利用している場合であれば、画像ファイルをコピーして編集画面で貼り付けするだけで写真を張り付けられるようです。便利。 staff.hatenablog.com

Googleドライブを使う

Googleフォト利用開始後にGoggleドライブを開くと、GoogleドライブののフォルダとしてGoogleフォトを追加することができます。そして、PC用のGoggleドライブアプリをインストールすることで、PCのフォルダとしてGoggleドライブを追加することができます。

これでPCにあるファイルとしてGoogleフォトのファイルを見れるようになるので、あとはいつも通りのやり方でブログに写真を張り付ければ完了です。

名前を付けて画像を保存

手間はかかるけど一番シンプルではあります。Googleフォトで写真を開いて、右クリックから名前を付けて保存。あとはいつも通りのやり方でブログに写真を張り付ければ完了です。

雑感

Googleさんマジパネェっす…。

クラクライベント

クラクラことアニメ「Clasroom☆Crisis」のイベント、『株式会社エイテック・エンジニアリング 発足式』に行ってきました。

アニメ放映時、毎週観ていました。TrySailちゃんが主題歌だったり、キャラ絵がかわいいことをきっかけに視聴した作品でしたが、シリアス展開多めで、ちょっと恥ずかしい熱血台詞もキャラ性で違和感なかったりする人間ドラマとして楽しめました。オリジナル作品ということもあってか、丁寧にしっかりと作ってあるアニメで好きでした。

今日のイベントも、ちょっとしたところにもアニメの中から抜き出したカットを使ったり、アンケートとして客側の手間をかけず集計側も楽になるであろう練られた投票形式を使っていたりと、丁寧な作りでした。製作スタッフの愛を感じます。

ボイス収録現場の雰囲気も良かったようで、イベントに出演したキャスト陣も仲良さげに和気あいあいとしており、イベントも盛り上がりました。

  • ナギサに積極的に迫るミズキとイリス。作品の途中まではイリスはミズキにべったりだったのに…
  • ジャケット姿の天ちゃんかわいい
  • みんなから愛されるハート強いゆうまたそかわいい
  • 司会のアナウンサーがいい味してた。鈴木健太。だが小林ゆうに頼るのは危険だ
  • スバルの女性疑惑高まる
  • 出る杭は打つ森久保さん全力でゆうまたその炎上支援
  • 近藤さんまさかの衣装忘れで私服出演。私服が殺し屋
  • 無罪証言を懇願する安定のユウジ兄さん
  • 小澤亜李、イベントで初めてみたけどぶっこんでいくスタイル。不安
  • 「みなさんは私たちを応援してくださるので…」なんす天使
  • 豊永利行もイベントで初めて見た。三バカのバカすぎるネタが素晴らしかった。鍛えねば
  • ほっちゃんの観察力、侮りがたし。商品券かかると強いというのは本当だった
  • なかなか出てこないナギサ社長。噛んでしまうナギサ社長
  • イベント後にそれぞれの挨拶。本当に楽しい現場だったんだろうなあ…

非常に良いイベントでした。

「ソフト」と「アプリ」

「ソフト」と「アプリ」、カテゴリを作るのにどちらが良いのか迷いました。

PCで使用するアプリケーションソフトウェアのことをこれまでは「ソフト」と呼んでいたのですが、Androidなどでは「アプリ」と呼んでいます。どっちでも意味は通じるものの、できればどちらかに統一したいところ。

Wikipediaで「ソフトウェア」を調べるとこんな感じ。

  • ソフトウェア
    • システムソフトウェア(基本ソフト)
      • 説明
        • コンピュータのハードウェアを管理・制御するなど、コンピュータの稼動自体に必要となるソフトウェア
    • アプリケーションソフトウェア(応用ソフト)
      • 説明
        • 利用者の目的に応じた機能を提供するソフトウェア
      • 略称
        • アプリケーション、アプリ、App、app

うーん、より範囲が狭くて意味を絞るという意味では「アプリ」のほうが良さげですね。「ソフト」という単語のみで使用する場合、OSやドライバ、シェルを指すことは少ないでしょうし(例えば、「OSはなに使ってるの?」という意味で「ソフトはなにを使ってるの?」と言うことは稀だと思われる)。

個人的に今後はなるべく「アプリ」という呼び方に統一していこうと思います。そしてカテゴリは「app」で。

茨城に行ってきた

日帰りで茨城に行ってきました。

東京に住んでいるので茨城までは1時間ちょい。プチ一人旅です。

鈍行だと酔いやすいため特急ひたちを利用しました。事前に「えきねっと」で「えきねっとトクだ値」で購入したため若干お得な10%引きでした。もっと早い時期に購入するともう少し割り引かれるのですが、今回は直前に決まったので止む無し。

えきねっとトクだ値」は気軽に購入できてキャンセルもしやすいのでおすすめです。JR東海エクスプレス予約と違い、年間会費も不要です。 www.eki-net.com

上野から水戸まで約1時間。特急ひたちは快適でした。なんと全座席にコンセント付き。親の実家がいわきにあるため、過去にひたちを何度か利用したことはあったのですが、その時はこんなに綺麗で快適な車両ではありませんでした。日々発展していくものなのですね。

水戸駅の改札から出て、再び入ろうとした際に若干のトラブル発生。Suicaに退場履歴がないということで入れなくなってしまいました。駅員さんに解除してもらったのですが、どうやら、Suicaで入場し、えきねっとトクだ値で購入した切符で退場したのがまずかったようです。考えてみれば確かにそうですね。しかしこのあたり、すべてSuicaに統一してほしいものですが難しいのでしょうね…

水戸駅から路線バスに乗り換え、大洗まで行きました。片道40分ほど。目的は「アクアワールド茨城県大洗水族館」。大きな水族館で、特にサメの種類が豊富な水族館です。とまっちゃんこと声優の戸松遥がサメ好きで、以前に企画でこの水族館に来ていたので訪れてみました。

以下、水族館でパシャパシャ撮ってきた写真です。

「上にウバザメがおった!!」
(戸松遥のココロ☆ハルカス RADIO FANDISK3&4 連動購入特典番組ロケ映像DVDでとまっちゃんが水族館に入るなり興奮して放った言葉)

↑大量のミズクラゲミズクラゲ展示でやたらとミズクラゲが大量にいてインパクトが強かったです。個人的には少ないクラゲがふよふよしてるほうが好き。

↑写真ではイマイチですがギヤマンクラゲが綺麗でした。クラゲの良さは展示方法によるものが大きいなと思ってます。

↑タコクラゲもお気に入り。この肉厚な感じがかわいくて好きです。

↑名前忘れましたが、じっとこっちを見ているのが面白かったので。

シロワニというサメがたくさんいました。大きな魚がたくさん泳いでる姿はの迫力があります。

カブトガニもいました。毎度思いますが不思議な形です。

↑うまく撮れなかったけど綺麗で気に入った魚。キンギョなんとか的な名前でした。

↑ふてぶてしい表情が気に入りました

↑サメらしいフォルムってことでとまっちゃんが好きなツマグロ。何度もシャッターをきったのですが動きが速くてぶれたものしか撮れませんでした。

イワシの大群。青魚がキラキラ光る姿が綺麗でずっと見ていられます。食べてもおいしい。いいやつら。

3時間くらい滞在してから帰りました。水族館楽しいですね。周りが家族連れやカップルばかりで始めは尻込みしていたのですが、途中からは慣れて好きにじっくりと水槽をみて楽しめました。

帰りは大洗駅前でバスを降り、大洗駅から水戸へ。大洗の町はガルパンことガールズ&パンツァーの聖地ということで、町のいたるところにキャラの看板がありました。そして聖地巡礼している人がたくさん。これだけ町全体で盛り上げていて来訪者も多いと楽しいですね。前に夏色キセキ聖地巡礼には行ったことがあるのですが、下田は人が少なくて寂しかった…。今度はガルパン聖地巡礼として大洗に来てみようと思います。

水戸に戻った後、徒歩で茨城県立県民文化センターへ。今日茨城に来たのはこれが目的でした。

UNISON SQUARE GARDENのライブです。楽しかった。楽しかった。

帰りは水戸駅前の居酒屋で軽く飲んで、再び特急ひたちで東京へ。楽しい一日でした。