コース一覧
LinuC レベル1(LPIC-1対応)対策
パーミッションとリンク

LinuC レベル1(LPIC-1対応)対策

ブートとsystemd、パッケージ管理(APT/RPM両系統)、コマンドとviの操作、ファイルシステム、シェルスクリプト、ユーザー管理とセキュリティ、ネットワークまで、LinuC レベル1(LPIC-1対応)の全出題範囲を、毎レッスン実際にコマンドを打って確かめながら学べる対策コースです。ブラウザの中で本物の Debian 12 が動いていて、62レッスンのうち36本は読むだけで終わらず、自分の手でコマンドを打った結果で採点されます。Linux入門を修了した方を対象としています。101・102それぞれの模試60問で分野別の弱点を洗い出し、直前チェックで暗記事項を固めてから本番に臨めます。

1
試験ガイダンス
01. LinuC/LPICとは15分
02. LinuCとLPICの選び方15分
03. 学習計画15分
04. 出題形式を体験15分
2
101 ブートとアーキテクチャ
01. ブートの流れ18分
02. GRUB15分
03. systemdとターゲット18分
04. ハードウェア情報18分
05. カーネルモジュール18分
06. 過去問 アーキテクチャ15分
3
101 パッケージ管理
01. Debian系パッケージ18分
02. RPM系パッケージ15分
03. 両系統の対応表15分
04. リポジトリ管理18分
05. 共有ライブラリ18分
06. 過去問 パッケージ管理15分
4
101 GNU/Unixコマンド
01. ファイル操作の試験オプション18分
02. テキスト処理18分
03. ストリームとリダイレクト18分
04. プロセス監視18分
05. 優先度18分
06. grepと正規表現18分
07. viの操作15分
08. 過去問 コマンド15分
5
101 ファイルシステム
01. パーティション15分
02. 作成とマウント18分
03. fstabとUUID18分
04. パーミッションとリンク18分
05. 容量とクォータ18分
06. findとlocate18分
07. 過去問 ファイルシステム15分
6
102 シェルとスクリプト
01. シェル環境18分
02. testと条件式18分
03. スクリプトの制御18分
04. cronとat15分
05. systemdタイマー18分
06. 過去問 シェル15分
7
102 ユーザーとセキュリティ
01. passwdとshadow18分
02. ユーザー管理コマンド18分
03. suとsudo18分
04. 特殊パーミッション18分
05. ホストのセキュリティ18分
06. SSHとGPG18分
07. 過去問 ユーザーとセキュリティ15分
8
102 ネットワーク
01. TCP/IPとウェルノウンポート18分
02. アドレス設定18分
03. ルーティング18分
04. 名前解決の設定18分
05. 疎通トラブルシュート18分
06. 過去問 ネットワーク15分
9
102 システム管理
01. 時刻とNTP15分
02. ロケールと文字コード18分
03. ログ管理18分
04. サービス管理の試験形式18分
05. メールと印刷のきほん15分
06. 過去問 システム管理15分
10
模試と直前対策
01. 模試 10190分
02. 101弱点復習15分
03. 模試 10290分
04. 102弱点復習15分
05. 直前チェック15分
06. 受験と次のステップ15分

パーミッションとリンク

ここは 101 でも 102 でも形を変えて何度も出る、最も費用対効果の高い範囲です。パーミッションは、8進数と記号形式の相互変換、umask からの逆算、ディレクトリに対する x の意味の3つが定番です。リンクは、ハードリンクとシンボリックリンクの制約を比較させる問題がほぼ必ず出ます。

ディレクトリの x は「入れるかどうか」です

権限は所有者、所属グループ、その他の3組に分かれ、それぞれが読み書き実行の3ビットを持ちます。

記号数値ファイルでの意味ディレクトリでの意味
r4中身を読める中の一覧を取れる
w2中身を書き換えられる中にファイルを作る、消す、名前を変えられる
x1プログラムとして実行できる中に入れる。中のファイルにたどり着ける

3つ足した数字を、所有者、グループ、その他の順に3桁並べます。

8進数記号よくある用途
644rw-r--r--ふつうのファイル。本人だけ書ける
755rwxr-xr-x実行ファイル、ディレクトリの既定
600rw-------本人以外に読ませたくないファイル。SSH の秘密鍵など

ディレクトリの x を落とすと、名前は見えてもファイルを開くことも cd で入ることもできません。r だけ付いて x が無いディレクトリは、目次だけ読めて本文にたどり着けない状態です。

chmod の2つの書き方

ターミナル

chmod 755 script.sh chmod u+x script.sh chmod a=r readme.txt

記号形式は、対象と操作と権限を繋げて書きます。対象は u が所有者、g が所属グループ、o がその他、a がすべてです。操作は + が権限を足す、- が引く、= が指定した権限だけにする、です。

= は上書きなので、chmod a=r と打つと実行権も書き込み権も消えます。+ との違いを問う問題がよく出ます。-R を付けると再帰的にディレクトリの中まで当たります。

所有者を変えるのが chown、所属グループを変えるのが chgrp です。chown alice:staff file.txt のようにコロンで区切れば両方まとめて変えられます。所有者の変更は root だけができます。一般ユーザーが自分のファイルを他人に譲ることはできません。

umask はファイルの元が 666 です

新しく作られるファイルやディレクトリのパーミッションは、umask によって削られます。

対象元になる値umask 022 のとき
ファイル666666 から 022 を落として 644
ディレクトリ777777 から 022 を落として 755

ファイルの元が 777 ではなく 666 であるところが最大の引っかけです。新規作成のファイルに実行権を勝手に付けるのは危険なので、x を配らない設計になっています。umask 077 なら、ファイルは 600、ディレクトリは 700 です。

引数なしの umask で現在の値、umask -S で記号形式の表示、数値を渡せばその場で変更です。恒久的に変えるならシェルの設定ファイルに書きます。

ハードリンクとシンボリックリンク

観点ハードリンクシンボリックリンク
作り方ln 元 リンク名ln -s 元 リンク名
inode元と同じ inode を共有する自分の inode を持ち、中身は元へのパス
別のファイルシステムまたげないまたげる
ディレクトリ張れない張れる
元を消したらもう一方から普通に読めるリンク切れになり読めなくなる
リンク数張るたびに増える元のリンク数は増えない

ハードリンクは、同じ実体に別の名前を付ける操作です。主従は無くどちらも対等な名前なので、片方を消してもデータは残り、最後の1つを消したときにはじめて実体が解放されます。inode はファイルシステムごとの管理なので、別のファイルシステムには張れません。

シンボリックリンクは、行き先のパスを書いた小さなファイルです。ls -l では先頭が l になり、矢印で元のパスが出ます。行き先が消えても本人は残るので、リンク切れが生まれます。ファイルシステムをまたげるのも、ディレクトリに張れるのも、中身がただのパスだからです。

見分けるには ls -li を使います。先頭に出る inode 番号が元と同じならハードリンク、違えばシンボリックリンクです。ls -l の左から2列目がリンク数で、ハードリンクを1本張ると 1 から 2 に増えます。

よくある引っかけ

umask で落とす元は、ファイルが 666、ディレクトリが 777 です。chmod の = は上書きで、書かなかった権限は消えます。ハードリンクはディレクトリに張れず、ファイルシステムもまたげません。

ヒント

①方針 やることは2つです。既存ファイルの権限を8進数で当て直すことと、リンクを2種類張り分けることです。リンクは -s の有無だけで別物になります

②使うコマンド 権限は chmod <8進数> <ファイル> です。755 は rwxr-xr-x、640 は rw-r-----。リンクは ln <元> <名前> がハードリンク、ln -s <元> <名前> がシンボリックリンクです

③部分解 chmod 755 /root/perm/run.sh、chmod 640 /root/perm/secret.txt、ln /root/perm/data.txt /root/perm/hard.txt、ln -s /root/perm/data.txt /root/perm/soft.txt の4行です。確認は ls -li /root/perm

  • 1. ls -l /root/perm で現在のパーミッションを確かめる
  • 2. /root/perm/run.sh を 755 にする
  • 3. /root/perm/secret.txt を 640 にする
  • 4. /root/perm/data.txt へのハードリンクを /root/perm/hard.txt として張る
  • 5. /root/perm/data.txt へのシンボリックリンクを /root/perm/soft.txt として張る
  • 6. ls -li で inode 番号を見比べる

4 項目で採点します