LPIC-1「セキュリティ」練習問題(29問・解説つき)

LPIC-1(101/102 試験)「セキュリティ」の4択問題集。正解と選択肢ごとの個別解説つきで、過去問対策・例題演習に。

主なテーマ:SUID・sudo・SSH鍵・GnuPG・TCP Wrapper

▶ この分野をクイズ形式で解く
第1問 ・ LPIC-1 / セキュリティ

ユーザーのパスワードハッシュが保存されるファイルは?

  1. /etc/passwd
  2. /etc/shadow✓ 正解
  3. /etc/group
  4. /etc/hosts
💡 /etc/shadowにパスワードハッシュと有効期限が保存され、rootのみ読めます。/etc/passwdは公開情報です。
✕ /etc/passwd:/etc/passwd はユーザー名やUID等の公開情報を保持し、ハッシュは保存しません(xで参照)。
○ /etc/shadow:正解。/etc/shadow にパスワードハッシュと有効期限が保存され、rootのみ読めます。
✕ /etc/group:/etc/group はグループ情報を保持するファイルで、パスワードハッシュは保存しません。
✕ /etc/hosts:/etc/hosts はホスト名とIPの対応を定義するファイルで、認証情報は持ちません。
第2問 ・ LPIC-1 / セキュリティ

sudoの設定ファイルを安全に編集するコマンドは?

  1. visudo✓ 正解
  2. vi /etc/sudoers
  3. sudo edit
  4. passwd
💡 visudoは構文チェックとロックを行い/etc/sudoersを安全に編集します。直接viで編集すると破損の危険があります。
○ visudo:正解。visudo は構文チェックとロックを行い/etc/sudoersを安全に編集します。
✕ vi /etc/sudoers:vi /etc/sudoers は直接編集となり、構文ミスでsudoが壊れる危険があります。
✕ sudo edit:sudo edit という固定コマンドは無く、sudoersの安全な編集はvisudoが標準です。
✕ passwd:passwd はパスワード変更用で、sudoers設定の編集はしません。
第3問 ・ LPIC-1 / セキュリティ ・ コマンド問題
#

システム全体からSUIDビットが設定されたファイルを検索するコマンドはどれか?

  1. find / -perm -4000 -type f✓ 正解
  2. find / -perm -2000 -type f
  3. find / -perm 0400 -type f
  4. find / -perm -1000 -type f
💡 SUIDは8進数で4000。-perm -4000 は4000ビットが立っているファイルにマッチします。2000はSGID、1000はスティッキービットです。
○ find / -perm -4000 -type f:-perm -4000はSUID(8進4000)が立つファイルにマッチし、設問に合致するため正しい。
✕ find / -perm -2000 -type f:-perm -2000はSGIDを検索するもので、SUIDの検索ではない。
✕ find / -perm 0400 -type f:-perm 0400は完全一致で読み取り権のみを探すもので、SUID検索にならない。
✕ find / -perm -1000 -type f:-perm -1000はスティッキービットを検索するもので、SUIDの検索ではない。
第4問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

新しいSSH鍵ペアをED25519方式で生成するコマンドはどれか?

  1. ssh-keygen -t ed25519✓ 正解
  2. ssh-keygen -e ed25519
  3. ssh-add -t ed25519
  4. ssh-keygen -l ed25519
💡 ssh-keygen の -t で鍵の種類を指定します。-e は公開鍵のエクスポート、-l はフィンガープリント表示、ssh-add は秘密鍵をエージェントへ追加するコマンドです。
○ ssh-keygen -t ed25519:ssh-keygen -t ed25519は鍵の種類をED25519に指定して生成でき正しい。
✕ ssh-keygen -e ed25519:-eは公開鍵を別形式でエクスポートするオプションで、鍵生成の種類指定ではない。
✕ ssh-add -t ed25519:ssh-addは秘密鍵をエージェントに追加するコマンドで、鍵ペア生成は行わない。
✕ ssh-keygen -l ed25519:-lはフィンガープリント表示のオプションで、鍵生成には使えない。
第5問 ・ LPIC-1 / セキュリティ

SSH公開鍵認証を行う際、サーバー側でユーザーの公開鍵を登録するファイルはどれか?

  1. ~/.ssh/known_hosts
  2. ~/.ssh/authorized_keys✓ 正解
  3. ~/.ssh/id_rsa
  4. /etc/ssh/ssh_host_rsa_key.pub
💡 接続を受けるサーバー上の ~/.ssh/authorized_keys に許可する公開鍵を記載します。known_hosts は接続先サーバーの鍵を記録するクライアント側ファイルです。
✕ ~/.ssh/known_hosts:known_hostsは接続先サーバの鍵を記録するクライアント側ファイルで、公開鍵登録先ではない。
○ ~/.ssh/authorized_keys:サーバ側の~/.ssh/authorized_keysに許可する公開鍵を登録するため正しい。
✕ ~/.ssh/id_rsa:id_rsaはクライアント側の秘密鍵ファイルで、公開鍵の登録先ではない。
✕ /etc/ssh/ssh_host_rsa_key.pub:ssh_host_rsa_key.pubはサーバのホスト鍵であり、ユーザー公開鍵の登録先ではない。
第6問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

ssh-agent に秘密鍵を追加し、以後パスフレーズ入力を省略できるようにするコマンドはどれか?

  1. ssh-keygen ~/.ssh/id_rsa
  2. ssh-add ~/.ssh/id_rsa✓ 正解
  3. ssh-copy-id ~/.ssh/id_rsa
  4. ssh-agent ~/.ssh/id_rsa
💡 ssh-add は実行中の ssh-agent に秘密鍵を登録します。ssh-copy-id は公開鍵をリモートの authorized_keys に転送するコマンドで用途が異なります。
✕ ssh-keygen ~/.ssh/id_rsa:ssh-keygenは鍵ペア生成のコマンドで、エージェントへの鍵追加は行わない。
○ ssh-add ~/.ssh/id_rsa:ssh-addは実行中のssh-agentに秘密鍵を登録でき、設問の目的に合致するため正しい。
✕ ssh-copy-id ~/.ssh/id_rsa:ssh-copy-idは公開鍵をリモートのauthorized_keysに転送するもので用途が異なる。
✕ ssh-agent ~/.ssh/id_rsa:ssh-agentはエージェントを起動するコマンドで、鍵の追加自体はssh-addで行う。
第7問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

GnuPGで新しい鍵ペアを対話的に生成するコマンドはどれか?

  1. gpg --gen-key✓ 正解
  2. gpg --import
  3. gpg --sign
  4. gpg --encrypt
💡 gpg --gen-key(または --full-generate-key)で鍵ペアを生成します。--import は鍵の取り込み、--sign は署名、--encrypt は暗号化を行います。鍵束は ~/.gnupg に保存されます。
○ gpg --gen-key:gpg --gen-key(または--full-generate-key)で鍵ペアを対話的に生成でき正しい。
✕ gpg --import:--importは既存の鍵を取り込むオプションで、新規鍵生成には使えない。
✕ gpg --sign:--signは署名を行うオプションで、鍵ペアの生成は行わない。
✕ gpg --encrypt:--encryptは暗号化を行うオプションで、鍵ペアの生成には使えない。
第8問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

受信者 alice@example.com 宛てにファイル secret.txt を公開鍵で暗号化するgpgコマンドはどれか?

  1. gpg --sign --recipient alice@example.com secret.txt
  2. gpg --encrypt --recipient alice@example.com secret.txt✓ 正解
  3. gpg --decrypt --recipient alice@example.com secret.txt
  4. gpg --symmetric --recipient alice@example.com secret.txt
💡 --encrypt(-e)と --recipient(-r)で受信者の公開鍵を指定して暗号化します。--symmetric は共通鍵(パスフレーズ)暗号で受信者指定は不要、--decrypt は復号です。
✕ gpg --sign --recipient alice@example.com secret.txt:--signは署名を行うオプションで、公開鍵での暗号化には該当しない。
○ gpg --encrypt --recipient alice@example.com secret.txt:--encryptと--recipientで受信者の公開鍵を指定し暗号化でき正しい。
✕ gpg --decrypt --recipient alice@example.com secret.txt:--decryptは復号を行うオプションで、暗号化には使えない。
✕ gpg --symmetric --recipient alice@example.com secret.txt:--symmetricは共通鍵(パスフレーズ)暗号で、受信者の公開鍵は使わない。
第9問 ・ LPIC-1 / セキュリティ

システムアカウントなどで対話的ログインを禁止するために、/etc/passwd のログインシェル欄に指定する代表的なプログラムはどれか?

  1. /bin/bash
  2. /sbin/nologin✓ 正解
  3. /bin/sh
  4. /usr/bin/passwd
💡 ログインシェルを /sbin/nologin(または /bin/false)にすると対話的ログインを拒否できます。nologin は拒否メッセージを表示してから終了します。
✕ /bin/bash:/bin/bashは対話的シェルで、ログインを許可してしまうため禁止用途には不適切である。
○ /sbin/nologin:/sbin/nologinはログインを拒否しメッセージを表示するため、ログイン禁止に適切で正しい。
✕ /bin/sh:/bin/shも対話的シェルであり、ログインを許可するため禁止用途には適さない。
✕ /usr/bin/passwd:/usr/bin/passwdはパスワード変更コマンドで、ログインシェルとして指定するのは不適切である。
第10問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

現在TCPでLISTENしているポートをプロセス名付きで一覧表示する、iproute2系のコマンドはどれか?

  1. ss -tlnp✓ 正解
  2. lsof -i
  3. fuser -n tcp
  4. netstat -r
💡 ss -tlnp は TCP(-t)・LISTEN(-l)・数値表示(-n)・プロセス情報(-p)を表示します。netstat の後継で、netstat -r はルーティングテーブル表示です。
○ ss -tlnp:ss -tlnpはTCP・LISTEN・数値表示・プロセス情報を表示でき、設問に合致するため正しい。
✕ lsof -i:lsof -iはネットワーク接続を表示するがiproute2系ではなく、設問の指定に合わない。
✕ fuser -n tcp:fuserはファイルやポートを使うプロセスの特定用で、LISTEN一覧表示が主目的ではない。
✕ netstat -r:netstat -rはルーティングテーブルを表示するもので、LISTENポート一覧ではない。
第11問 ・ LPIC-1 / セキュリティ

1ユーザーが同時に開けるファイル数などのシェル単位のリソース制限を、システム全体で永続的に設定するファイルはどれか?

  1. /etc/sysctl.conf
  2. /etc/security/limits.conf✓ 正解
  3. /etc/profile
  4. /etc/login.defs
💡 /etc/security/limits.conf(および limits.d/)で ulimit に対応するソフト/ハードのリソース制限をユーザーやグループ単位で恒久設定します。ulimit コマンドはセッション単位の設定です。
✕ /etc/sysctl.conf:/etc/sysctl.confはカーネルパラメータの設定ファイルで、シェルのリソース制限用ではない。
○ /etc/security/limits.conf:/etc/security/limits.confでulimit相当の制限をユーザー単位で恒久設定でき正しい。
✕ /etc/profile:/etc/profileはシェル初期化スクリプトで、リソース制限の恒久設定用ファイルではない。
✕ /etc/login.defs:/etc/login.defsはパスワード期限やUID範囲等の既定値で、ulimit制限の設定先ではない。
第12問 ・ LPIC-1 / セキュリティ

TCP Wrapper(libwrap)を利用するサービスへのアクセス可否を判断する際の、設定ファイルの評価順序として正しいものはどれか?

  1. /etc/hosts.deny を先に評価し、次に /etc/hosts.allow を評価する
  2. /etc/hosts.allow を先に評価し、許可されなければ /etc/hosts.deny を評価する✓ 正解
  3. /etc/hosts.equiv を最初に評価する
  4. 両ファイルを統合し、最も制限の厳しいルールを適用する
💡 TCP Wrapper はまず hosts.allow を調べ、一致すれば許可します。一致しなければ hosts.deny を調べ、一致すれば拒否、どちらにも一致しなければ許可します。
✕ /etc/hosts.deny を先に評価し、次に /etc/hosts.allow を評価する:TCP Wrapperはhosts.allowを先に評価するため、deny先評価とする記述は誤り。
○ /etc/hosts.allow を先に評価し、許可されなければ /etc/hosts.deny を評価する:hosts.allowを先に評価し許可されなければhosts.denyを評価する順序が正しい。
✕ /etc/hosts.equiv を最初に評価する:hosts.equivはrlogin系の信頼設定で、TCP Wrapperの評価順序とは無関係である。
✕ 両ファイルを統合し、最も制限の厳しいルールを適用する:両ファイルを統合し最も厳しいルールを適用するという評価方式ではない。
第13問 ・ LPIC-1 / セキュリティ ・ コマンド問題
#

システム全体からSGIDビットが設定されたファイルだけを検索するコマンドはどれか?

  1. find / -perm -4000 -type f
  2. find / -perm -2000 -type f✓ 正解
  3. find / -perm -1000 -type f
  4. find / -perm 2000 -type f
💡 SGIDは8進数で2000です。-perm -2000 は2000ビットが立っているファイルにマッチします。-4000はSUID、-1000はスティッキービット、-perm 2000(先頭の-なし)はパーミッションが完全一致のものだけを探します。
✕ find / -perm -4000 -type f:-perm -4000はSUID(8進4000)の検索で、SGIDの検索ではない。
○ find / -perm -2000 -type f:-perm -2000はSGID(8進2000)が立つファイルにマッチし、設問に合致するため正しい。
✕ find / -perm -1000 -type f:-perm -1000はスティッキービットの検索で、SGIDの検索ではない。
✕ find / -perm 2000 -type f:-perm 2000は先頭の-が無く完全一致検索のため、他のビットが立つSGIDファイルを取りこぼす。
第14問 ・ LPIC-1 / セキュリティ ・ コマンド問題
#

ユーザー bob のパスワード有効期限などのエージング情報を、対話的に変更するコマンドはどれか?

  1. passwd -e bob
  2. chage bob✓ 正解
  3. usermod -L bob
  4. chsh bob
💡 chage(change age)はパスワードの最終変更日・最大有効日数・有効期限・警告日数などを対話的に設定します。引数なしの chage <ユーザー> で対話モードになり、chage -l で現在値を一覧できます。
✕ passwd -e bob:passwd -e は次回ログイン時にパスワード変更を強制するだけで、有効期限の対話的編集はしない。
○ chage bob:chage <ユーザー> はパスワードエージング情報を対話的に変更でき、設問に合致するため正しい。
✕ usermod -L bob:usermod -L はアカウントをロックするオプションで、有効期限の編集ではない。
✕ chsh bob:chsh はログインシェルを変更するコマンドで、パスワード有効期限とは無関係である。
第15問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

各ユーザーの最終ログイン日時を /var/log/lastlog から一覧表示するコマンドはどれか?

  1. last
  2. lastlog✓ 正解
  3. lastb
  4. faillog -a
💡 lastlog は /var/log/lastlog を参照し、全ユーザーの最終ログイン日時を一覧表示します。last は /var/log/wtmp を参照したログイン履歴、lastb は失敗ログイン(btmp)、faillog は失敗回数の管理です。
✕ last:last は wtmp を参照したログイン・再起動の履歴表示で、ユーザーごとの最終ログイン一覧ではない。
○ lastlog:lastlog は /var/log/lastlog から各ユーザーの最終ログイン日時を一覧表示でき正しい。
✕ lastb:lastb は btmp を参照した失敗ログインの履歴表示で、最終ログイン一覧ではない。
✕ faillog -a:faillog -a は失敗ログイン回数の一覧表示で、最終ログイン日時の表示ではない。
第16問 ・ LPIC-1 / セキュリティ ・ コマンド問題
#

失敗したログインの試行記録(/var/log/btmp)を表示するコマンドはどれか?

  1. last
  2. lastb✓ 正解
  3. lastlog
  4. who
💡 lastb は /var/log/btmp を読み、失敗したログイン試行を表示します(root権限が必要)。last は成功した接続履歴(wtmp)、lastlog は各ユーザーの最終ログイン、who は現在のログイン状況を表示します。
✕ last:last は wtmp の成功したログイン履歴を表示するもので、失敗試行の記録ではない。
○ lastb:lastb は btmp を読み、失敗したログイン試行を表示でき、設問に合致するため正しい。
✕ lastlog:lastlog は各ユーザーの最終ログイン日時の表示で、失敗試行の一覧ではない。
✕ who:who は現在ログイン中のユーザーを表示するもので、過去の失敗試行は表示しない。
第17問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

現在ログイン中のユーザーと、それぞれが実行中の処理や負荷を併せて表示するコマンドはどれか?

  1. who
  2. w✓ 正解
  3. id
  4. users
💡 w はログイン中のユーザーに加え、稼働時間・負荷平均(uptime相当)や各ユーザーが実行中のコマンド(WHAT欄)も表示します。who は端末やログイン時刻のみ、users はユーザー名のみを表示します。
✕ who:who はログイン中のユーザーと端末・時刻を表示するが、実行中の処理や負荷は表示しない。
○ w:w はログイン中ユーザーに加え負荷平均や実行中コマンドも表示でき、設問に合致するため正しい。
✕ id:id はユーザーのUID/GIDや所属グループを表示するもので、ログイン状況の一覧ではない。
✕ users:users はログイン中のユーザー名を並べるだけで、実行中の処理や負荷は表示しない。
第18問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

現在のユーザーに許可されている sudo 実行可能なコマンドの一覧を確認するコマンドはどれか?

  1. sudo -l✓ 正解
  2. sudo -u
  3. sudo -k
  4. sudo -s
💡 sudo -l(list)は、sudoers の設定に基づき現在のユーザーが実行を許可されているコマンドの一覧を表示します。-u は実行ユーザーの指定、-k は認証タイムスタンプの破棄、-s はシェル起動です。
○ sudo -l:sudo -l は許可されているコマンドの一覧を表示でき、設問に合致するため正しい。
✕ sudo -u:sudo -u は実行するユーザーを指定するオプションで、許可一覧の表示ではない。
✕ sudo -k:sudo -k は保持された認証タイムスタンプを破棄するもので、一覧表示ではない。
✕ sudo -s:sudo -s はシェルを起動するオプションで、許可コマンドの一覧表示ではない。
第19問 ・ LPIC-1 / セキュリティ

sudoers の設定で、ユーザー bob がパスワード入力なしで全コマンドを実行できるようにする記述はどれか?

  1. bob ALL=(ALL) ALL
  2. bob ALL=(ALL) NOPASSWD: ALL✓ 正解
  3. bob ALL=(ALL) PASSWD: ALL
  4. bob NOPASSWD=(ALL) ALL
💡 NOPASSWD: タグを付けると、その後に指定したコマンドの実行時にパスワード入力が不要になります。NOPASSWD を付けない場合は実行のたびに本人のパスワードが要求されます。
✕ bob ALL=(ALL) ALL:bob ALL=(ALL) ALL は全コマンドを許可するが、実行時に本人のパスワードが要求される。
○ bob ALL=(ALL) NOPASSWD: ALL:bob ALL=(ALL) NOPASSWD: ALL はパスワード不要で全コマンドを許可でき、設問に合致するため正しい。
✕ bob ALL=(ALL) PASSWD: ALL:PASSWD: は逆に明示的にパスワードを要求するタグで、入力不要にはならない。
✕ bob NOPASSWD=(ALL) ALL:NOPASSWD=(ALL) ALL は構文として不正で、sudoersの正しい書式ではない。
第20問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

現在のシェルセッションで、同時に開けるファイルディスクリプタ数のソフトリミットを確認するコマンドはどれか?

  1. ulimit -u
  2. ulimit -n✓ 正解
  3. ulimit -f
  4. ulimit -c
💡 ulimit -n は同時にオープンできるファイル数(ファイルディスクリプタ数)を表示・設定します。-u はユーザーごとの最大プロセス数、-f は作成可能な最大ファイルサイズ、-c はコアファイルサイズです。
✕ ulimit -u:ulimit -u はユーザーが起動できる最大プロセス数で、オープンファイル数ではない。
○ ulimit -n:ulimit -n は同時にオープンできるファイル数を表示・設定でき、設問に合致するため正しい。
✕ ulimit -f:ulimit -f は作成可能な最大ファイルサイズの制限で、オープンファイル数ではない。
✕ ulimit -c:ulimit -c はコアダンプファイルのサイズ制限で、オープンファイル数ではない。
第21問 ・ LPIC-1 / セキュリティ ・ コマンド問題
#

特定のTCPポート(例: 22番)をどのプロセスが使用しているか、ネットワーク接続の観点から確認するコマンドはどれか?

  1. lsof -i :22✓ 正解
  2. lsof -p 22
  3. lsof -u 22
  4. lsof +D 22
💡 lsof -i :22 はTCP/UDPの22番ポートに関連する接続とそれを開いているプロセスを表示します。-p はPID指定、-u はユーザー指定、+D はディレクトリ配下のオープンファイル列挙で、いずれもポート指定ではありません。
○ lsof -i :22:lsof -i :22 は22番ポートを使う接続とプロセスを表示でき、設問に合致するため正しい。
✕ lsof -p 22:lsof -p はプロセスID(PID)を指定して開いているファイルを見るもので、ポート指定ではない。
✕ lsof -u 22:lsof -u はユーザーを指定して開いているファイルを見るもので、ポート指定ではない。
✕ lsof +D 22:lsof +D はディレクトリ配下のオープンファイルを列挙するもので、ポート指定ではない。
第22問 ・ LPIC-1 / セキュリティ ・ コマンド問題
#

あるポートやファイルを使用しているプロセスを特定し、必要に応じてシグナルを送って終了させることもできるコマンドはどれか?

  1. ss
  2. fuser✓ 正解
  3. nmap
  4. arp
💡 fuser はファイルやソケットを使用しているプロセスを特定します。fuser -k で該当プロセスにシグナルを送って終了でき、fuser -n tcp 80 のようにポートも指定できます。ss はソケット表示専用、nmap はポートスキャナです。
✕ ss:ss はソケットの状態を表示する専用ツールで、プロセスへのシグナル送信機能はない。
○ fuser:fuser は使用中プロセスを特定し -k でシグナルも送れるため、設問に合致して正しい。
✕ nmap:nmap はリモートホストのポートスキャンを行うツールで、ローカルプロセスの終了はしない。
✕ arp:arp はARPキャッシュの表示・操作用で、プロセスの特定や終了とは無関係である。
第23問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

リモートホストで開いているTCPポートを外部から調査する、代表的なポートスキャンツールはどれか?

  1. nmap✓ 正解
  2. ping
  3. ss
  4. netcat -l
💡 nmap はリモートホストに対してポートスキャンを行い、開いているポートや稼働中サービスを調査するツールです。ping は疎通確認、ss はローカルソケットの表示、netcat -l は待ち受け(リッスン)側の動作です。
○ nmap:nmap はリモートホストのポートスキャンを行う代表的ツールで、設問に合致するため正しい。
✕ ping:ping はICMPによる疎通確認用で、ポートスキャンの機能はない。
✕ ss:ss はローカルのソケット状態を表示するもので、リモートのポート調査ではない。
✕ netcat -l:netcat -l は待ち受け側として接続を受けるモードで、ポートスキャンの主目的ではない。
第24問 ・ LPIC-1 / セキュリティ

保守作業中に一般ユーザーのログインを一時的に禁止したい場合、その存在によってログインを拒否させるファイルはどれか?

  1. /etc/nologin✓ 正解
  2. /etc/motd
  3. /etc/issue
  4. /etc/securetty
💡 /etc/nologin が存在すると、一般ユーザーのログインが拒否され、ファイル内容がメッセージとして表示されます(root は許可)。作業終了後にファイルを削除すれば通常どおりログインできます。
○ /etc/nologin:/etc/nologin が存在すると一般ユーザーのログインを拒否でき、設問に合致するため正しい。
✕ /etc/motd:/etc/motd はログイン成功後に表示するメッセージで、ログイン禁止の効果はない。
✕ /etc/issue:/etc/issue はログインプロンプト前の表示文で、ログインを拒否する機能はない。
✕ /etc/securetty:/etc/securetty は root のコンソールログインを制限するファイルで、一般ユーザー全体の禁止用ではない。
第25問 ・ LPIC-1 / セキュリティ

OpenSSHサーバーで root による直接のSSHログインを禁止するために、sshd_config に設定する項目はどれか?

  1. PasswordAuthentication no
  2. PermitRootLogin no✓ 正解
  3. X11Forwarding no
  4. AllowUsers root
💡 PermitRootLogin no を設定すると root による直接のSSHログインが禁止されます。PasswordAuthentication no はパスワード認証全体の無効化、X11Forwarding は X 転送の可否、AllowUsers は接続許可ユーザーの指定です。
✕ PasswordAuthentication no:PasswordAuthentication no はパスワード認証全体を無効化するもので、rootログイン限定の禁止ではない。
○ PermitRootLogin no:PermitRootLogin no は root の直接SSHログインを禁止でき、設問に合致するため正しい。
✕ X11Forwarding no:X11Forwarding no はX11転送を無効化する設定で、rootログインの可否とは無関係である。
✕ AllowUsers root:AllowUsers root は逆に root の接続を許可する記述で、ログイン禁止にはならない。
第26問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

公開鍵をパスワード認証で安全にリモートサーバーの authorized_keys へ登録する、専用のコマンドはどれか?

  1. scp ~/.ssh/id_rsa.pub user@host:
  2. ssh-copy-id user@host✓ 正解
  3. ssh-add user@host
  4. ssh-keygen -R user@host
💡 ssh-copy-id はローカルの公開鍵をリモートの ~/.ssh/authorized_keys へ追記し、パーミッションも適切に設定します。scp での手動コピーでも可能ですが、専用かつ確実なのは ssh-copy-id です。
✕ scp ~/.ssh/id_rsa.pub user@host::scp で公開鍵を転送しても authorized_keys への追記やパーミッション設定は手動で、専用コマンドではない。
○ ssh-copy-id user@host:ssh-copy-id は公開鍵をリモートの authorized_keys へ追記する専用コマンドで、設問に合致して正しい。
✕ ssh-add user@host:ssh-add はローカルの ssh-agent に秘密鍵を登録するもので、リモートへの公開鍵登録ではない。
✕ ssh-keygen -R user@host:ssh-keygen -R は known_hosts から該当ホストの鍵を削除するもので、公開鍵の登録ではない。
第27問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

ssh コマンドで、信頼を要するX11アプリケーションのために制限を緩和したX11転送を有効にするオプションはどれか?

  1. ssh -X host
  2. ssh -Y host✓ 正解
  3. ssh -L host
  4. ssh -N host
💡 -Y は信頼されたX11転送(trusted)を有効にし、X11 SECURITY拡張の制限を緩めます。-X は制限付き(untrusted)の転送、-L はローカルポートフォワード、-N はリモートコマンドを実行しない接続です。
✕ ssh -X host:-X は制限付き(untrusted)のX11転送で、信頼を要するアプリで制限緩和したい用途には -Y が適する。
○ ssh -Y host:-Y は信頼されたX11転送を有効化し制限を緩和するため、設問に合致して正しい。
✕ ssh -L host:-L はローカルポートフォワードの指定で、X11転送のオプションではない。
✕ ssh -N host:-N はリモートコマンドを実行せず接続だけ行うオプションで、X11転送の有効化ではない。
第28問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

他者から受け取った公開鍵ファイル alice.pub を、自分のGnuPG鍵束に取り込むコマンドはどれか?

  1. gpg --export alice.pub
  2. gpg --import alice.pub✓ 正解
  3. gpg --list-keys alice.pub
  4. gpg --verify alice.pub
💡 gpg --import <鍵ファイル> で公開鍵を自分の鍵束(~/.gnupg)に取り込みます。--export は自分の鍵を書き出す逆操作、--list-keys は登録済み鍵の一覧、--verify は署名の検証です。
✕ gpg --export alice.pub:gpg --export は自分の鍵を書き出す逆方向の操作で、鍵の取り込みではない。
○ gpg --import alice.pub:gpg --import alice.pub は受け取った公開鍵を鍵束へ取り込むコマンドで、設問に合致して正しい。
✕ gpg --list-keys alice.pub:gpg --list-keys は登録済みの鍵を一覧表示するもので、鍵の取り込みは行わない。
✕ gpg --verify alice.pub:gpg --verify は署名を検証するオプションで、公開鍵の取り込みには使えない。
第29問 ・ LPIC-1 / セキュリティ ・ コマンド問題
$

現在ログインしている実効ユーザー名を表示するコマンドはどれですか。

  1. whoami✓ 正解
  2. who
  3. id -g
  4. users
💡 whoami は実効ユーザー名を表示します。who はログイン中の全ユーザー、id -g は実効グループIDです。
○ whoami:whoami は現在の実効ユーザー名を表示する正しいコマンドです。
✕ who:who はログイン中の全ユーザーの一覧を表示し、自分の実効ユーザー名だけではありません。
✕ id -g:id -g は実効グループのGIDを表示するもので、ユーザー名ではありません。
✕ users:users はログイン中のユーザー名を空白区切りで並べ、実効ユーザー名の表示用ではありません。
▶ この分野をクイズ形式で解く