nagutabbyさんの助け合いフォーラム投稿一覧
以下の記事で丁寧に説明されています。
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
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
操作が中断されました。
例えば、ディレクトリ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
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
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を含んだものであると言えます。
ipv6アドレスを静的に定義するコマンドとして入力できないものを選ぶのであれば、ip add addr 2001:DB8::abcd/24 dev eth0
は解説の通り動作しない不適切なコマンドであるため、正解の選択肢の1つになります。
問題の内容がすでに修正済みであればすみません。
/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
概要
解説の以下の箇所に誤りがございます。
timerユニットの実行タイミング指定には2つの方法があります。
・モノトニックタイマー:cronのように、起動後はジョブを定期的に実行する
・リアルタイムタイマー:atのように、指定した実行日時にジョブを1度だけ実行する
タイマーの種類に関することが書かれている記事を調べていくつか読みましたが、それらには以下のように書かれておりました。
- モノトニックタイマー: OSが起動してから一定の時間が経過した後などのイベント発生後に1度だけ処理が実行され、その後は一定期間が経過するたびに処理が実行されるタイマー
- リアルタイムタイマー: cronと同様に、処理が実行される日時をカレンダー形式で設定できるタイマー
参考記事
ルートユーザと同じ意味でAWSアカウントという言葉が使われることがあるため紛らわしいのですが、"AWSには2種類のユーザがある"という説明が適切だと思います。
参考までに、ルートユーザとIAMユーザについて説明)しているAWSのドキュメントのURLを以下に示します。
AWS アカウント ルートユーザーの認証情報と IAM ユーザーの認証情報
AWS には 2 つの異なるタイプのユーザーがあります ユーザーは、アカウント所有者 (ルートユーザー) または AWS Identity and Access Management (IAM) ユーザーのどちらかです。
また、AWSに存在するアカウントは1種類で、AWSアカウントのみです。すなわち、AWSにおける"アカウント"とは、AWSアカウントのことであると考えられます。