nagutabbyさんの助け合いフォーラム投稿一覧

助け合いフォーラムの投稿
2023/03/15 返信
SSHサーバの秘密鍵と公開鍵の作り方

以下の記事で丁寧に説明されています。
OpenSSHの認証に証明書を使う方法

サーバやクライアントはあくまでモデルの話であるため、どのLinuxコンピュータ上でもssh-keygenコマンドは同じ動作をします。

~/.ssh/以下に作成されるのはユーザ認証用の公開鍵と秘密鍵です。

/etc/ssh/以下に作成されるのはホスト認証用の公開鍵と秘密鍵です。

ssh-keygenコマンドは、ユーザ認証用の公開鍵と秘密鍵を作成するコマンドです。
鍵の名前、鍵長、アルゴリズムはオプションや対話環境で指定することができますが、何も指定しない場合は以下の内容で鍵が作成されます。

  • アルゴリズム: RSA
  • 鍵長: 2048ビット
  • パスフレーズ: なし
  • 公開鍵のパス: ~/.ssh/id_rsa.pub
  • 秘密鍵のパス: ~/.ssh/id_rsa

ユーザ認証用の公開鍵と秘密鍵はssh-keygenコマンドで手動で作成する必要があります。

一方で、ホスト認証用の公開鍵と秘密鍵は予め/etc/ssh/以下に配置されています。
先ほど提示した記事によると、OpenSSHをデーモンとして起動する際に自動で作成されるようです。

私のUbuntuの環境だと、/etc/ssh/の内容は以下の通りでした。

ubuntu@ubuntu:~$ ls /etc/ssh
moduli      ssh_config.d      ssh_host_dsa_key.pub  ssh_host_ecdsa_key.pub  ssh_host_ed25519_key.pub  ssh_host_rsa_key.pub  sshd_config
ssh_config  ssh_host_dsa_key  ssh_host_ecdsa_key    ssh_host_ed25519_key    ssh_host_rsa_key          ssh_import_id         sshd_config.d
2023/03/13 返信
yum groupinstallとyum groups install

yum group[キーワードA]とyum groups [キーワードA]の挙動は同じでした。

[nagutabby@fedora ~]$ yum groupinfo 最小限のインストール
メタデータの期限切れの最終確認: 0:04:54 時間前の 2023年03月13日 11時58分05秒 に実施しました。
環境グループ: 最小限のインストール
 説明: 基本的な機能の提供
 必須なグループ:
   Core
 任意なグループ:
   Common NetworkManager Submodules
   Guest Agents
   Standard
[nagutabby@fedora ~]$ yum groups info 最小限のインストール
メタデータの期限切れの最終確認: 0:04:59 時間前の 2023年03月13日 11時58分05秒 に実施しました。
環境グループ: 最小限のインストール
 説明: 基本的な機能の提供
 必須なグループ:
   Core
 任意なグループ:
   Common NetworkManager Submodules
   Guest Agents
   Standard
[nagutabby@fedora ~]$ yum groupisntall 最小限のインストール
そのようなコマンドはありません: groupisntall. /usr/bin/yum --help を使用してください
YUM プラグインコマンドを実行できません、試してください: "yum install 'dnf-command(groupisntall)'"
[nagutabby@fedora ~]$ yum groupinstall 最小限のインストール
エラー: このコマンドはスーパーユーザー特権(大概のシステムではrootユーザー)で実行しなければいけません。
[nagutabby@fedora ~]$ sudo yum groupinstall 最小限のインストール
メタデータの期限切れの最終確認: 0:02:33 時間前の 2023年03月13日 12時01分01秒 に実施しました。
依存関係が解決しました。
====================================================================================================================================================================================================================
 パッケージ                                         アーキテクチャー                                  バージョン                                           リポジトリー                                       サイズ
====================================================================================================================================================================================================================
環境グループのインストール中:
 Minimal Install                                                                                                                                                                                                   
グループのインストール中:
 Core                                                                                                                                                                                                              

トランザクションの概要
====================================================================================================================================================================================================================

これでよろしいですか? [y/N]: n
操作が中断されました。
[nagutabby@fedora ~]$ sudo yum groups install 最小限のインストール
メタデータの期限切れの最終確認: 0:02:42 時間前の 2023年03月13日 12時01分01秒 に実施しました。
依存関係が解決しました。
====================================================================================================================================================================================================================
 パッケージ                                         アーキテクチャー                                  バージョン                                           リポジトリー                                       サイズ
====================================================================================================================================================================================================================
環境グループのインストール中:
 Minimal Install                                                                                                                                                                                                   
グループのインストール中:
 Core                                                                                                                                                                                                              

トランザクションの概要
====================================================================================================================================================================================================================

これでよろしいですか? [y/N]: n
操作が中断されました。
2023/03/13 返信
パーミッションの設定

例えば、ディレクトリdirを作り、その直下にファイルfileを作った後で両方のパーミッションを022に変更してあるとします。
その状態でchmod -R +755 dirを実行すると、以下のようにdirとfileの両方のパーミッションが777になってしまい755と異なるため不適切です。

ubuntu@ubuntu:~$ mkdir dir
ubuntu@ubuntu:~$ touch dir/file
ubuntu@ubuntu:~$ sudo chmod -R 022 dir/
ubuntu@ubuntu:~$ sudo ls -lR
.:
total 4
d----w--w- 2 ubuntu ubuntu 4096 Mar 13 02:43 dir

./dir:
total 0
-----w--w- 1 ubuntu ubuntu 0 Mar 13 02:43 file
ubuntu@ubuntu:~$ sudo chmod -R +755 dir
ubuntu@ubuntu:~$ ls -lR
.:
total 4
drwxrwxrwx 2 ubuntu ubuntu 4096 Mar 13 02:43 dir

./dir:
total 0
-rwxrwxrwx 1 ubuntu ubuntu 0 Mar 13 02:43 file
2023/03/13 返信
使用中のプロセスの特定方法について。

psコマンドは、それぞれのプロセスが開いている(使用している)ディレクトリやファイルの名前は表示しません。

ubuntu@ubuntu:~$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.2  0.2  34864  9392 ?        Ss   01:25   0:08 /sbin/init fixrtc splash
root         2  0.0  0.0      0     0 ?        S    01:25   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        I<   01:25   0:00 [rcu_gp]
root         4  0.0  0.0      0     0 ?        I<   01:25   0:00 [rcu_par_gp]
root         5  0.0  0.0      0     0 ?        I<   01:25   0:00 [slub_flushwq]
root         6  0.0  0.0      0     0 ?        I<   01:25   0:00 [netns]
root        10  0.0  0.0      0     0 ?        I<   01:25   0:00 [mm_percpu_wq]
root        11  0.0  0.0      0     0 ?        I    01:25   0:00 [rcu_tasks_kthread]
root        12  0.0  0.0      0     0 ?        I    01:25   0:00 [rcu_tasks_rude_kthread]
root        13  0.0  0.0      0     0 ?        I    01:25   0:00 [rcu_tasks_trace_kthread]
root        14  0.0  0.0      0     0 ?        S    01:25   0:00 [ksoftirqd/0]
root        15  0.0  0.0      0     0 ?        I    01:25   0:00 [rcu_preempt]
root        16  0.0  0.0      0     0 ?        S    01:25   0:00 [migration/0]
root        17  0.0  0.0      0     0 ?        S    01:25   0:00 [idle_inject/0]
root        19  0.0  0.0      0     0 ?        S    01:25   0:00 [cpuhp/0]
root        20  0.0  0.0      0     0 ?        S    01:25   0:00 [cpuhp/1]
root        21  0.0  0.0      0     0 ?        S    01:25   0:00 [idle_inject/1]
root        22  0.0  0.0      0     0 ?        S    01:25   0:00 [migration/1]
root        23  0.0  0.0      0     0 ?        S    01:25   0:00 [ksoftirqd/1]
root        26  0.0  0.0      0     0 ?        S    01:25   0:00 [cpuhp/2]
root        27  0.0  0.0      0     0 ?        S    01:25   0:00 [idle_inject/2]
root        28  0.0  0.0      0     0 ?        S    01:25   0:00 [migration/2]
root        29  0.0  0.0      0     0 ?        S    01:25   0:00 [ksoftirqd/2]
root        32  0.0  0.0      0     0 ?        S    01:25   0:00 [cpuhp/3]
root        33  0.0  0.0      0     0 ?        S    01:25   0:00 [idle_inject/3]
root        34  0.0  0.0      0     0 ?        S    01:25   0:00 [migration/3]
root        35  0.0  0.0      0     0 ?        S    01:25   0:00 [ksoftirqd/3]
root        37  0.0  0.0      0     0 ?        I<   01:25   0:00 [kworker/3:0H-kblockd]
root        38  0.0  0.0      0     0 ?        S    01:25   0:00 [kdevtmpfs]
root        39  0.0  0.0      0     0 ?        I<   01:25   0:00 [inet_frag_wq]
root        41  0.0  0.0      0     0 ?        S    01:25   0:00 [kauditd]
root        42  0.0  0.0      0     0 ?        S    01:25   0:00 [khungtaskd]

一方で、LiSt Open Filesを意味するlsofコマンドは、指定したディレクトリやファイルを開いているプロセスの名前を表示します。

ubuntu@ubuntu:~$ lsof /
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
systemd  1255 ubuntu  cwd    DIR  179,2     4096      2 /
systemd  1255 ubuntu  rtd    DIR  179,2     4096      2 /
systemd  1255 ubuntu  txt    REG  179,2    67276  21482 /usr/lib/systemd/systemd
systemd  1255 ubuntu  mem    REG  179,2    95636   3124 /usr/lib/arm-linux-gnueabihf/libgpg-error.so.0.33.0
systemd  1255 ubuntu  mem    REG  179,2   460588   3321 /usr/lib/arm-linux-gnueabihf/libpcre2-8.so.0.11.0
systemd  1255 ubuntu  mem    REG  179,2    66924   3002 /usr/lib/arm-linux-gnueabihf/libcap-ng.so.0.0.0
systemd  1255 ubuntu  mem    REG  179,2   329216   3212 /usr/lib/arm-linux-gnueabihf/libm.so.6
systemd  1255 ubuntu  mem    REG  179,2   104024   3209 /usr/lib/arm-linux-gnueabihf/liblzma.so.5.2.5
systemd  1255 ubuntu  mem    REG  179,2   460428   3474 /usr/lib/arm-linux-gnueabihf/libzstd.so.1.5.2
systemd  1255 ubuntu  mem    REG  179,2  2561672   4871 /usr/lib/arm-linux-gnueabihf/libcrypto.so.3
systemd  1255 ubuntu  mem    REG  179,2    87428   3207 /usr/lib/arm-linux-gnueabihf/liblz4.so.1.9.3
systemd  1255 ubuntu  mem    REG  179,2    17988   3169 /usr/lib/arm-linux-gnueabihf/libip4tc.so.2.0.0
systemd  1255 ubuntu  mem    REG  179,2   762724   3104 /usr/lib/arm-linux-gnueabihf/libgcrypt.so.20.4.1
systemd  1255 ubuntu  mem    REG  179,2   198056   3011 /usr/lib/arm-linux-gnueabihf/libcrypt.so.1.1.0
systemd  1255 ubuntu  mem    REG  179,2    21844   3004 /usr/lib/arm-linux-gnueabihf/libcap.so.2.44
systemd  1255 ubuntu  mem    REG  179,2   223160   2979 /usr/lib/arm-linux-gnueabihf/libblkid.so.1.1.0
systemd  1255 ubuntu  mem    REG  179,2    21824   2936 /usr/lib/arm-linux-gnueabihf/libacl.so.1.1.2301
systemd  1255 ubuntu  mem    REG  179,2   259856   3236 /usr/lib/arm-linux-gnueabihf/libmount.so.1.1.0
systemd  1255 ubuntu  mem    REG  179,2   112132   3368 /usr/lib/arm-linux-gnueabihf/libselinux.so.1
systemd  1255 ubuntu  mem    REG  179,2    67332   2941 /usr/lib/arm-linux-gnueabihf/libapparmor.so.1.8.3
systemd  1255 ubuntu  mem    REG  179,2    67044   3192 /usr/lib/arm-linux-gnueabihf/libkmod.so.2.4.0
systemd  1255 ubuntu  mem    REG  179,2   132424   2960 /usr/lib/arm-linux-gnueabihf/libaudit.so.1.0.0
systemd  1255 ubuntu  mem    REG  179,2    66936   1691 /usr/lib/arm-linux-gnueabihf/libpam.so.0.85.1
systemd  1255 ubuntu  mem    REG  179,2   104012   3367 /usr/lib/arm-linux-gnueabihf/libseccomp.so.2.5.4
systemd  1255 ubuntu  mem    REG  179,2  1128388   2999 /usr/lib/arm-linux-gnueabihf/libc.so.6
systemd  1255 ubuntu  mem    REG  179,2  2169160  21127 /usr/lib/arm-linux-gnueabihf/systemd/libsystemd-shared-251.so
systemd  1255 ubuntu  mem    REG  179,2  1313224  21125 /usr/lib/arm-linux-gnueabihf/systemd/libsystemd-core-251.so
systemd  1255 ubuntu  mem    REG  179,2   135676   2877 /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3
bash    10935 ubuntu  cwd    DIR  179,2     4096 127315 /home/ubuntu
bash    10935 ubuntu  rtd    DIR  179,2     4096      2 /
bash    10935 ubuntu  txt    REG  179,2   871256   1592 /usr/bin/bash
2023/03/10 コメント
IPアドレスの変換方法について
"192.168.10.0/25というアドレス" という言い方よりも "192.168.10.0/25というサブネット"という言い方の方が適切かもしれません
2023/03/10 返信
IPアドレスの変換方法について

192.168.10.0/25は、

  • ネットワークアドレスが192.168.10.0である
  • IPv4アドレスの左から右に25ビットまでの部分がネットワーク部である

ことを表します。

IPv4アドレスの左から右に25ビットまでの部分がネットワーク部であることから、残りの32 - 25 = 7ビットはホスト部です。
つまり、192.168.10.0/25のサブネットには2 ^ 7 = 128個のIPアドレスが存在できることになります。

具体的には、ホスト部がすべて0のアドレスからすべての1のアドレスまでの連続するIPアドレスです

192.168.10.0 = (1100 0000.1010 1000.0000 1010.0000 0000) 2

(1100 0000.1010 1000.0000 1010.0000 0000) 2 = (192.168.10.0) 10

(1100 0000.1010 1000.0000 1010.0111 1111) 2 = (192.168.10.127) 10

*太字はホスト部を表します。

上記の計算をすることで、192.168.10.0から、192.168.10.127までの連続するIPアドレスが192.168.10.0/25のサブネットに存在できることが分かります。
そのため、192.168.10.0/25というアドレスは、192.168.10.10を含んだものであると言えます。

2023/03/06 コメント
/etc/default/useraddと/etc/skelの違いについて
ご質問ありがとうございました〜。私もちょうど同じ試験を学習中だったので、回答していて私も勉強になりました。
2023/03/04 返信
正答が間違えている気がする

ipv6アドレスを静的に定義するコマンドとして入力できないものを選ぶのであれば、ip add addr 2001:DB8::abcd/24 dev eth0は解説の通り動作しない不適切なコマンドであるため、正解の選択肢の1つになります。

問題の内容がすでに修正済みであればすみません。

2023/03/04 返信
/etc/default/useraddと/etc/skelの違いについて

/etc/skelディレクトリには、ユーザが新たに作成された際に、そのユーザのホームディレクトリにコピーされるディレクトリやファイルが配置されています。

user@debian:~$ ls -a /etc/skel
.  ..  .bash_logout  .bashrc  .profile

/etc/default/useraddファイルは、新たに作成されるユーザのデフォルトの設定を定義するファイルです。
そのファイルで定義されている変数の一部の意味は以下の通りです。

SHELL: ログインシェル
GROUP: グループID(GID)
HOME: ホームディレクトリ

user@debian:~$ cat /etc/default/useradd
# Default values for useradd(8)
#
# The SHELL variable specifies the default login shell on your
# system.
# Similar to DSHELL in adduser. However, we use "sh" here because
# useradd is a low level utility and should be as general
# as possible
SHELL=/bin/sh
#
# The default group for users
# 100=users on Debian systems
# Same as USERS_GID in adduser
# This argument is used when the -n flag is specified.
# The default behavior (when -n and -g are not specified) is to create a
# primary user group with the same name as the user being added to the
# system.
# GROUP=100
#
# The default home directory. Same as DHOME for adduser
# HOME=/home
#
# The number of days after a password expires until the account 
# is permanently disabled
# INACTIVE=-1
#
# The default expire date
# EXPIRE=
#
# The SKEL variable specifies the directory containing "skeletal" user
# files; in other words, files such as a sample .profile that will be
# copied to the new user's home directory when it is created.
# SKEL=/etc/skel
#
# Defines whether the mail spool should be created while
# creating the account
# CREATE_MAIL_SPOOL=yes

2023/03/01 投稿
systemdのタイマーの種類の解説の誤りについて

概要

解説の以下の箇所に誤りがございます。

timerユニットの実行タイミング指定には2つの方法があります。
・モノトニックタイマー:cronのように、起動後はジョブを定期的に実行する
・リアルタイムタイマー:atのように、指定した実行日時にジョブを1度だけ実行する

タイマーの種類に関することが書かれている記事を調べていくつか読みましたが、それらには以下のように書かれておりました。

  • モノトニックタイマー: OSが起動してから一定の時間が経過した後などのイベント発生後に1度だけ処理が実行され、その後は一定期間が経過するたびに処理が実行されるタイマー
  • リアルタイムタイマー: cronと同様に、処理が実行される日時をカレンダー形式で設定できるタイマー

参考記事

systemdによるスケジューリング
systemd/タイマー

2022/08/23 投稿
"AWSには2種類のアカウントがある"という説明について

ルートユーザと同じ意味でAWSアカウントという言葉が使われることがあるため紛らわしいのですが、"AWSには2種類のユーザがある"という説明が適切だと思います。

参考までに、ルートユーザとIAMユーザについて説明)しているAWSのドキュメントのURLを以下に示します。

AWS アカウント ルートユーザーの認証情報と IAM ユーザーの認証情報

AWS には 2 つの異なるタイプのユーザーがあります ユーザーは、アカウント所有者 (ルートユーザー) または AWS Identity and Access Management (IAM) ユーザーのどちらかです。

また、AWSに存在するアカウントは1種類で、AWSアカウントのみです。すなわち、AWSにおける"アカウント"とは、AWSアカウントのことであると考えられます。

参考: AWS アカウント、IAM ユーザー、グループ、ポリシーの違い

戻る