KUSANAGIで作業用ユーザーを作る、ついでにsudoの説明もする【初心者向け・KUSANAGI9】

本稿ではKUSANAGIで作業用ユーザー(一般ユーザー)を作ってsudoできるようにします。
sudoの意味すら知らない初心者に向けて書いてますので、わかる方にはまどろこしいと思います。
(わかる方なら本稿を読まないと思いますが)

なお、サーバーによってKUSANAGIのデフォルト設定が異なる可能性があります。
その場合は適宜読み替えてください。
私の環境はConoHa VPSです。

天満川鈴 WRITTEN BY 天満川鈴
スポンサーリンク

はじめに #と$

コマンドを見ると頭に「#」と「$」がついています。

どちらも入力する必要ありません

かつて私はこれでドハマリしました。

そして#と$が混在していても気にしなくていいです。

rootか作業用ユーザーかの違いなだけです

本来はこんなに混在することはないのですが。
本記事は作業用ユーザーを作るという内容のため混在しています。
初心者の方は深く考えず読み進めてください。

作業用ユーザーを作る

まず、作業用ユーザーの名前とパスワードを考えましょう

名前は覚えやすければなんでもいいです。
パスワードは長くした方がいいですが、人によってはしょっちゅう使うことになるので覚えやすい方がいいです。
どうしても覚えるのが面倒ならパスワードなしで作業する設定にも後からできます(非推奨ですが)。

ターミナルソフトを起動して、rootでログイン。
黒い画面に次のコマンドを打ち込みます。
ユーザー名はtenzen パスワードはkouganinpoutyouとします。

# useradd tenzen

パスワードを設定します。

# passwd tenzen

パスワードを聞かれたら「kouganinpoutyou」と入力します。

wheelグループに追加する

作業用ユーザーのtenzenに権限を与えるためwheelグループに追加します。
wheelグループはsudoする権限を持つグループです。

# usermod -aG wheel tenzen

wheelグループに追加されたか確認します。

# getent group wheel

tenzenが表示されればOKです。

というか、sudoって何?

sudoとは?

sudoはKUSANAGIやるならとても重要なコマンドです

sudo:一般ユーザーがあるコマンドをroot権限で実行するためのコマンド

文中にコマンドが2回重なってわかりづらいかもしれません。
例を挙げて説明します。

rootからtenzenに切り替えます。
(rootはsu+ユーザー名を入力するとパスワードなしで当該ユーザーに切り替えられます)
サーバーを再起動しようとコマンドを打ち込みます。

# su tenzen
$ reboot

しかし作業用ユーザーのtenzenが実行しようとしても、こんなメッセージが出て怒られます。

Call to Reboot failed: Interactive authentication required.

「実行したければ権限が必要だよ」という意味です。
そこで、コマンドにコマンドを重ねる形で次のように打ち込みます。

$ sudo reboot
[sudo] tenzen のパスワード:
(↑パスワードが必要な設定にしている場合。パス無しにもできます)

これでrebootを実行できます。

sudoをするためには、sudoできる権限を与える必要があります。
そのためwheelグループに追加したわけです。

以降は飛ばしても構いません、急ぎたい方は次項に進んでください

KUSANAGI9(ConoHa VPS)の場合、wheelグループ以外はsudoできない設定になっています。
そしてwheelグループにはtenzenしかいません。
これがどういう意味か、kusanagiユーザーでテストをしましょう。

一旦rootに戻ってからkusanagiユーザーになります。

$ exit
# su kusanagi
$ sudo reboot
あなたはシステム管理者から通常の講習を受けたはずです。
これは通常、以下の3点に要約されます:
#1) 他人のプライバシーを尊重すること。
#2) タイプする前に考えること。
#3) 大いなる力には大いなる責任が伴うこと。
[sudo] kusanagi のパスワード:
kusanagi は sudoers ファイル内にありません。この事象は記録・報告されます。

sudoできずに怒られます。
パスワードが合っていても怒られます。
権限がないのですからどうやってもsudoできません。

言ってみれば、

tenzenの方がkusanagiより強いということだね

sudoの設定をする

次のコマンドを入力します。

# visudo

編集画面が開きます。
120行目あたりに次の記述があります。

## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

2行目か4行目のどちらかだけコメントアウト(#のこと)を外します。

2行目と4行目の意味は、

「%wheel ALL=(ALL) ALL」:「wheelグループのユーザーにパスワードありでsudoを許可する」
「%wheel ALL=(ALL) NOPASSWD: ALL」:「(略)パスワードなしでsudoを許可する」

後者はセキュリティ上推奨されません。
通常は2行目のコメントアウトを外して4行目をコメントアウトします。
パスワードなしにするなら自己責任でお願いします。

変更したなら、保存して編集画面を閉じます。

:wq

変更してないなら、そのまま閉じます。

:q

tenzenでsudoを実行してみて、設定通りになっているか確認してください。

鍵を作る

本来はローカル側で生成する方法もありますが、本稿では理解しやすさを優先しています

前項の続きならtenzenのままのはずです。
もしrootならtenzenに切り替えます。

# su tenzen

カレントディレクトリ(今、自分がいるディレクトリ)を移動します。
ディレクトリを移動するコマンドは「cd」です。
tenzenのホームディレクトリに移動します。

$ cd /home/tenzen

鍵を格納するフォルダ「.ssh」を作成します。

$ mkdir .ssh

パーミッション(権限)を700にします。

$ chmod 700 .ssh

700の意味は「所有者のみ読み・書き・実行できる」という意味です。
今はわからなくてもいいので、このまま続けてください。

ssh-keygenコマンドで鍵を作成します。

$ ssh-keygen

環境によって生成される鍵形式は異なります
この後は色々聞かれますが、全て空打ちでOKです。

Generating public/private rsa key pair.
Enter file in which to save the key (/home/tenzen/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/tenzen/.ssh/id_rsa
Your public key has been saved in /home/tenzen/.ssh/id_rsa.pub

(略)

パスフレーズは任意ですが、私は空打ち2回(パスフレーズ無し)に設定しています。

最後の2行から鍵が2つ出来たことがわかります。
秘密鍵(id_rsa)と公開鍵(id_rsa.pub)です。

公開鍵の名前をauthorized_keysにリネームして、権限を600に変更します。

$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
$  chmod 600 ~/.ssh/authorized_keys

秘密鍵の内容を表示します。

$ cat .ssh/id_rsa

こんな感じの画面が出ます。

-----BEGIN OPENSSH PRIVATE KEY-----




(英数字の羅列)



-----END OPENSSH PRIVATE KEY-----

この部分をローカル(自分のパソコン)でテキストファイルにコピペします。
ファイル名はtenzen.pem、「改行=LF」で保存します。
(tenzenの部分は自分でつけた名前に変えてください)。

この鍵を使ってログインしてみます。
ログインできたならOK&完了です。

まとめ

昔はこうした情報も出てこず、苦労したものでした。
コードその他設定はできる限り簡素化しています。
一方で自分が当時わからなくて詰まったことは徹底的に付け加えました。
現段階でのKUSANAGI最新版(ConoHa VPS)に完全対応させたつもりです。

次回はrootログインを禁止します
引き続きお読みいただけましたら嬉しいです!

スポンサーリンク
天満川 鈴のプロフィール画像
WRITTEN BY

天満川 鈴

未経験からWEB業界に入り、現在はWEBディレクターとして実務に従事。 要件整理・導線設計・コンテンツ構成などを学びながら、日々改善を重ねています。 AIを活用したコンテンツ制作・効率化を強みとし、プロンプト設計を含めた制作フローの最適化にも取り組んでいます。
本サイトでは、WordPressやサイト制作に関する試行錯誤・検証内容を中心に発信。 技術検証の一環として、KUSANAGI公式サイトにて記事を2回紹介いただきました。

KUSANAGI ON VPS

VPSは、もう「黒い画面」だけじゃない。

「VPSは難しそう」と諦めていませんか? ConoHaのKUSANAGIなら、ブラウザ上の管理画面(KUSANAGI Manager)で、ドメイン設定からSSL発行まで直感的に操作可能です。

コマンド操作なしで世界最速級の環境を構築できる、今の時代の初心者にとっての最適解。私が長年愛用している理由がここにあります。

※当サイト経由で新規申し込みいただくと、特典として1000円分のクーポンをもらえます。

公式サイトで詳細を見る
× 閉じる