コース一覧
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分

特殊パーミッション

パーミッションには、いつもの3桁の上にもう1桁あります。4755 の先頭の 4 が何なのかを説明できないと、ls -l に出る s や t も読めません。

ビット8進数シンボル意味
SUID4000u+s実行時にファイル所有者の権限で動く
SGID2000g+s実行時にファイルのグループ権限で動く。ディレクトリではグループを継承
スティッキー1000+tディレクトリ内で自分のファイルしか削除できなくなる

一般ユーザーが自分のパスワードを変えられる理由

SUID が付いた実行ファイルは、誰が実行してもファイル所有者の権限で動きます。代表例が /usr/bin/passwd です。パスワードの変更には root しか書けない /etc/shadow を書き換える必要がありますが、passwd に SUID が付いていて root 権限で動くので、一般ユーザーでも自分のパスワードを変えられます。

プレーンテキスト

-rwsr-xr-x 1 root root 68208 /usr/bin/passwd

所有者の実行権の位置が x ではなく s になっています。実行権が無いまま SUID だけを付けると、小文字ではなく大文字の S が出ます。SUID は設定されているが実行できない、という無意味な状態を示す警告で、この大文字と小文字の違いが試験で問われます。

SUID は強力なぶん危険です。設定されたプログラムに脆弱性があれば、そのまま root 権限を奪われます。棚卸しは定番のセキュリティ作業です。

ターミナル

find / -perm -4000 -type f 2>/dev/null

-perm -4000 の先頭のハイフンは「少なくともこのビットが立っている」という意味です。ハイフンなしの -perm 4000 は「ちょうど 4000 と完全一致」になり、実質何も見つかりません。SGID なら -perm -2000、スティッキーなら -perm -1000 です。

チームの共有ディレクトリで SGID が効く

ファイルに付けた SGID は SUID のグループ版で、実行時にファイルのグループ権限で動き、ls -l ではグループの実行権の位置が s になります。

より実用的なのはディレクトリに付けた場合です。SGID 付きディレクトリの中に作られたファイルとディレクトリは、作成者のプライマリグループではなく、そのディレクトリのグループを継承します。サブディレクトリには SGID 自体も引き継がれます。

/srv/project に SGID とグループ dev を設定しておけば、誰がファイルを置いてもグループは dev になり、チーム全員が読み書きできます。SGID が無いと各自のプライマリグループになってしまい、他のメンバーが触れません。

/tmp が誰でも書けるのに荒らされない理由

スティッキービットをディレクトリに付けると、その中のファイルは、ファイルの所有者かディレクトリの所有者か root しか削除できなくなります。書き込み権があっても他人のファイルは消せません。

プレーンテキスト

drwxrwxrwt 12 root root 4096 /tmp

全ユーザーが自由にファイルを作れる必要がある一方で、他人の一時ファイルを勝手に消されては困ります。この2つを両立させるのがスティッキービットです。裏を返せば、スティッキーの無い 777 は誰でも他人のファイルを消せる状態なので、共有ディレクトリを 777 にするのは避けてください。ここでも実行権が無ければ大文字の T になります。

4桁と ls -l の対応

8進数ls -l の表示意味
4755-rwsr-xr-xSUID 付きの実行ファイル
2775drwxrwsr-xSGID 付きの共有ディレクトリ
1777drwxrwxrwtスティッキー付きの誰でも書けるディレクトリ
6755-rwsr-sr-xSUID と SGID の両方

設定は数値でも、chmod u+s chmod g+s chmod +t のようにシンボルでも書けます。確認は ls -l の表示のほか、stat -c %a で8進数だけを取り出せます。

試験で狙われるところ

SUID は 4000、SGID は 2000、スティッキーは 1000 です。実行権が無いまま特殊ビットを付けると大文字の S や T になります。SGID のグループ継承はディレクトリに付けたときの話です。スティッキービットはディレクトリにのみ有効で、ファイルに付けても効きません。そして find -perm 4000 と -perm -4000 は別物です。

ヒント

特殊パーミッションは通常の3桁の前にもう1桁足すだけです。SUID が 4、SGID が 2、スティッキーが 1 です

chmod は数値でもシンボルでも書けます。chmod u+s / chmod g+s / chmod +t でも同じ結果になりますが、下位3桁も揃える必要があります

chmod 4755 /root/perm/tool.sh と chmod 2775 /root/perm/shared と chmod 1777 /root/perm/pub の3行で条件を満たせます

  • 1. ls -l /root/perm と ls -ld /root/perm/* で現在の状態を確認する
  • 2. /root/perm/tool.sh に SUID 付きの 4755 を設定する
  • 3. /root/perm/shared に SGID 付きの 2775 を設定する
  • 4. /root/perm/pub にスティッキービット付きの 1777 を設定する
  • 5. ls -l と ls -ld でもう一度見て、s と t がどこに出ているかを確かめる
  • 6. stat -c '%a %n' /root/perm/tool.sh のように8進数でも確認する

5 項目で採点します