LinuC 1.02 ファイル・ディレクトリの操作と管理 問題

ゆめさくが作った練習問題です。本試験の問題ではありません。

1.0⁠2 ファイル・ディレクトリの操作と管理の問題を1⁠0問、小分野ごとにまとめました。選ぶと、その場で正誤と解説が出ます。

ログインなしで解けます。答えはこのブラウザの中だけに残り、どこにも送りません。

この分野の小分野

  • 1.0⁠2.1 ファイルの所有者とパーミッション(3問)
  • 1.0⁠2.2 基本的なファイル管理の実行(3問)
  • 1.0⁠2.3 ハードリンクとシンボリックリンク(2問)
  • 1.0⁠2.4 ファイルの配置と検索(2問)

1.02 ファイル・ディレクトリの操作と管理の問題

10 問

選ぶと、すぐに正誤と解説が出ます。選んだ答えは変えられません。

  1. 1.02.1 ファイルの所有者とパーミッション

    問 1umask が 027 のシェルで mkdir report を実行した。できたディレクトリ report のパーミッションはどれですか。

  2. 問 2誰でも書き込める共有ディレクトリ /srv/share で、ほかの人が作ったファイルは消せないようにしたい。適切なコマンドはどれですか。

  3. 問 3ls -l /usr/bin/passwd の権限の欄が -rwsr-xr-x と表示された。所有者の欄の s が表すものとして正しいものはどれですか。

  4. 1.02.2 基本的なファイル管理の実行

    問 4gzip で圧縮した logs.tar.gz を、展開せずに中に入っているファイルの名前だけを一覧したい。適切なコマンドはどれですか。

  5. 問 5/var/log 以下で、最後の更新が 7 日より前の .log ファイルを探したい。適切なコマンドはどれですか。

  6. 問 6カレントディレクトリに a1.txt、a2.txt、a10.txt、b1.txt がある。ls a?.txt で表示されるものはどれですか。

  7. 1.02.3 ハードリンクとシンボリックリンク

    問 7ハードリンクの説明として正しいものはどれですか。

  8. 問 8アプリを /opt/app/v2 に置いた。設定では /opt/app/current という名前で参照させ、版を変えるときは名前の指す先だけを替えたい。まだ current が無いとき、作るコマンドはどれですか。

  9. 1.02.4 ファイルの配置と検索

    問 9ログ、メールや印刷のスプールなど、動かしているうちに増えたり変わったりするデータを置く場所として、FHS が決めているディレクトリはどれですか。

  10. 問 10いま作ったばかりのファイル notes.md を locate notes.md で探したが、何も表示されなかった。理由として最も適切なものはどれですか。

10 問中 0 問に答えました

解説の一覧

解いたあとに読み返せるよう、全問の解説を並べています。問いを開くと解説が出ます。

1.0⁠2.1 ファイルの所有者とパーミッション

問1umask が 0⁠2⁠7 のシェルで mkdir report を実行した。できたディレクトリ report のパーミッションはどれですか。

正解は rwxr-⁠x--- です。ディレクトリは 7⁠7⁠7 を元に、umask で立っているビットを外して作られるので、7⁠7⁠7 から 0⁠2⁠7 を外した 7⁠5⁠0、つまり rwxr-⁠x--- になります。rw-⁠r----- は同じ umask で通常のファイルを作ったとき (6⁠6⁠6 から外した 6⁠4⁠0) の値、rwxr-⁠xr-⁠x は umask 0⁠2⁠2 のときの値、----w-⁠rwx は umask の 0⁠2⁠7 をそのまま権限と読み違えた値です。

問2誰でも書き込める共有ディレクトリ /srv/share で、ほかの人が作ったファイルは消せないようにしたい。適切なコマンドはどれですか。

正解は chmod o+t /srv/share です。ディレクトリにスティッキービットを立てると、中のファイルを消したり名前を変えたりできるのは、そのファイルの所有者とディレクトリの所有者と root だけになります (/tmp と同じ形)。g+s はできるファイルのグループをディレクトリのグループにそろえる SGID、u+s はディレクトリには意味を持たない SUID、o-⁠w はほかの人の書き込みそのものを止めるので、共有の場として使えなくなります。

問3ls -l /usr/bin/passwd の権限の欄が -rwsr-⁠xr-⁠x と表示された。所有者の欄の s が表すものとして正しいものはどれですか。

正解は実行すると、実行した人ではなくファイルの所有者の権限で動くことです。所有者の実行の欄の s は SUID で、実行したプロセスがファイルの所有者 (ここでは root) の権限を持ちます。passwd は一般の利用者が root しか書けない /etc/shadow を書き換えるため、SUID が立っています。グループの権限で動くのはグループの欄の s (SGID)、消せる人を絞るのはディレクトリのスティッキービット (t) で、ほかの人の欄に r-⁠x があるので所有者だけが実行できるわけでもありません。

1.0⁠2.2 基本的なファイル管理の実行

問4gzip で圧縮した logs.tar.gz を、展開せずに中に入っているファイルの名前だけを一覧したい。適切なコマンドはどれですか。

正解は tar -tzf logs.tar.gz です。tar の -t はアーカイブの中身の一覧、-z は gzip の圧縮を通す指定、-f はファイル名の指定です。-x は展開、-c は新しくアーカイブを作る指定で、どちらも一覧は出さず、gzip -l は圧縮の前後の大きさを出すだけで中のファイル名は出しません。

問5/var/log 以下で、最後の更新が 7 日より前の .log ファイルを探したい。適切なコマンドはどれですか。

正解は find /var/log -name "*.log" -mtime +7 です。-mtime は中身を最後に変えた時刻を日の単位で比べ、+7 は 7 日を超えて前のものを表します。-mtime -7 は 7 日以内に変えたもの、-mmin +7 は分の単位なので 7 分より前のもの、-atime 7 は最後に読んだ時刻がちょうど 7 日前のものを探します。

問6カレントディレクトリに a1.txt、a2.txt、a1⁠0.txt、b1.txt がある。ls a?.txt で表示されるものはどれですか。

正解は a1.txt と a2.txt です。? は任意の 1 文字に当たるワイルドカードなので、a のあとに 1 文字だけ続いて .txt で終わる名前が選ばれます。a1⁠0.txt は a のあとが 2 文字なので当たらず (当てたいときは * を使う)、b1.txt は先頭が a ではないので当たりません。

1.0⁠2.3 ハードリンクとシンボリックリンク

問7ハードリンクの説明として正しいものはどれですか。

正解は元のファイルと同じ inode 番号を持ち、元の名前を消しても残った名前で中身を読めることです。ハードリンクは同じ inode に付けたもう 1 つの名前で、すべての名前が消えるまで中身は残ります (ls -i で同じ番号が見える)。inode 番号はファイルシステムの中だけで通じるので別のファイルシステムには作れず、ディレクトリへのハードリンクは ln では作れず、先頭の l はシンボリックリンクの印です。

問8アプリを /opt/app/v2 に置いた。設定では /opt/app/current という名前で参照させ、版を変えるときは名前の指す先だけを替えたい。まだ current が無いとき、作るコマンドはどれですか。

正解は ln -s /opt/app/v2 /opt/app/current です。ln -s は 1 つ目に指す先、2 つ目にリンクの名前を書いてシンボリックリンクを作り、あとで指す先だけを替えられます。-s の無い ln はハードリンクを作ろうとしますが、ディレクトリには作れずエラーになり、引数を逆にすると v2 の中に current を指すリンクができ、mv は v2 の名前を変えてしまうので版の切り替えに使えません。

1.0⁠2.4 ファイルの配置と検索

問9ログ、メールや印刷のスプールなど、動かしているうちに増えたり変わったりするデータを置く場所として、FHS が決めているディレクトリはどれですか。

正解は /var です。FHS では、動かしている間に変わるデータ (variable) を /var に置き、/var/log、/var/spool などに分けます。/etc は機械ごとの設定ファイル、/usr は読み取り専用で共有できるプログラムやライブラリ、/opt は追加で入れるアプリのパッケージの置き場です。

問10いま作ったばかりのファイル notes.md を locate notes.md で探したが、何も表示されなかった。理由として最も適切なものはどれですか。

正解は locate が引くファイル名のデータベースがまだ更新されていないからです。locate はディスクを直接たどらず、updatedb が定期的に作るファイル名のデータベースを引くので、更新の前に作ったファイルは出てきません。updatedb を実行し直すと見つかります。ホームの下を避ける決まりや拡張子の制限は無く、中身の文字を探すのは grep の役目です。

ほかの分野

  • LinuC レベル1 101試験対策(LPIC-1対応)

    1.01 インストールと仮想マシン・コンテナ

    1.0⁠1.1 Linuxのインストール、起動、接続、切断と停止、1.0⁠1.2 仮想マシン・コンテナの概念と利用、1.0⁠1.3 ブートプロセスとsystemd、1.0⁠1.4 プロセスの生成、監視、終了、1.0⁠1.5 デスクトップ環境の利用

    10問解く
  • 1.03 GNUとUnixのコマンド

    1.0⁠3.1 コマンドラインの操作、1.0⁠3.2 フィルタを使ったテキストストリームの処理、1.0⁠3.3 ストリーム、パイプ、リダイレクトの使用、1.0⁠3.4 正規表現を使用したテキストファイルの検索、1.0⁠3.5 エディタを使った基本的なファイル編集の実行

    10問解く
  • 1.04 リポジトリとパッケージ管理

    1.0⁠4.1 apt コマンドによるパッケージ管理、1.0⁠4.2 Debianパッケージ管理、1.0⁠4.3 yumコマンドによるパッケージ管理、1.0⁠4.4 RPMパッケージ管理

    10問解く
  • 1.05 ハードウェア、ディスク、ファイルシステム

    1.0⁠5.1 ハードウェアの基礎知識と設定、1.0⁠5.2 ハードディスクのレイアウトとパーティション、1.0⁠5.3 ファイルシステムの作成と管理、マウント

    10問解く
  • 1.06 シェルおよびスクリプト

    1.0⁠6.1 シェル環境のカスタマイズ、1.0⁠6.2 シェルスクリプト

    10問解く
  • 1.07 ネットワークの基礎

    1.0⁠7.1 インターネットプロトコルの基礎、1.0⁠7.2 基本的なネットワーク構成、1.0⁠7.3 基本的なネットワークの問題解決、1.0⁠7.4 クライアント側のDNS設定

    10問解く
  • 1.08 システム管理

    1.0⁠8.1 アカウント管理、1.0⁠8.2 ジョブスケジューリング、1.0⁠8.3 ローカライゼーションと国際化

    10問解く
  • 1.09 重要なシステムサービス

    1.0⁠9.1 システム時刻の管理、1.0⁠9.2 システムのログ、1.0⁠9.3 メール配送エージェント(MTA)の基本

    10問解く
  • 1.10 セキュリティと 1.11 オープンソースの文化

    1.1⁠0.1 セキュリティ管理業務の実施、1.1⁠0.2 ホストのセキュリティ設定、1.1⁠0.3 暗号化によるデータの保護、1.1⁠0.4 クラウドセキュリティの基礎、1.1⁠1.1 オープンソースの概念とライセンス、1.1⁠1.2 オープンソースのコミュニティとエコシステム

    10問解く

LinuCの頁に、1⁠0分野の入口と試験の案内があります。

続きはゆめさくで

試験の知識を仕事につなげる一歩を、ここにまとめています。