
Linuxシェルスクリプト
learnit
Linuxが何かを知っていて、簡単な使い方も身につけたのですが.. Linuxシェルをもっとよく使いたいですか? Linuxシェルスクリプトを書く必要がありますか?さて、今はLinuxのシェルスクリプトを学ぶことができます!
初級
Linux, Shell Script
不適切なパーミッション(Permission)が生み出すLinuxサーバーの運用脆弱性を根絶する講義です。 ファイル・ディレクトリの権限管理を実務基準で完全に整理しましょう。
受講生 47名
難易度 初級
受講期間 無制限
Linuxのファイルとディレクトリの権限体系を理解し、管理することができる。
Set-UID、Set-GID、Sticky-bitなどの特殊権限を設定し、活用することができる。
LinuxのACL(アクセス制御リスト)を活用することで、きめ細かな権限制御が可能だ。
実務環境において、安全なLinuxサーバーの権限に関するセキュリティ設定を直接適用することができる。
ウェブサービスで発生するパーミッション(権限)脆弱性の事例を分析し、これを予防および遮断することができる。
本講義は、Linuxファイルシステムのパーミッション構造を基礎的な概念レベルで終わらせる単純な講義ではなく、実際の運用環境で発生する権限の問題・セキュリティリスク・サービス障害の状況を解決できる実務中心の学習プロセスとして設計されています。
パーミッションはLinuxサーバー運用の基本ですが、同時に設定を誤った瞬間にサービス全体の安定性を損ない、セキュリティ事故の直接的な原因にもなり得ます。本コースは、このようなリスクを事前に遮断し、体系的に権限構造を理解することで、正確な設定・解釈・診断が可能なレベルまで受講生を段階的に導きます。
Linux Permissionは、単にrwxの3文字を暗記するだけでは解決しません。
ファイルの所有者・グループ、ACL、特殊権限(SetUID/SetGID/Sticky-Bit)、サービスプロセスが使用するシステムアカウント、DBMSおよびWeb Applicationがアクセスするディレクトリ権限など、実際の環境で考慮すべき要素が多く、これらを正確に理解してこそ運用とセキュリティの両方を満足させることができます。
本講義は次のような内容を深く掘り下げ、各セッションは実習ベースで構成されているため、誰でも直接手を動かしながら理解することができます。
この講義は、このような複雑な権限体系を論理的に解釈し、実務上の問題を自ら解決できるレベルまで
受講生を体系的に導くことを目標としています。
また講義では、実習の利便性のためにOracle 11g XE、Apache Tomcat、JSPウェブアプリケーション環境を自動構築できるインストールスクリプトと、講義内容を体系的にまとめた300ページに及ぶPDF教材を提供します。
(ただし、PDFは著作権保護の対象であるため、外部への共有・配布は禁止されており、受講者の個人学習目的に限り使用できます。)
本コースは、初心者から実務のサーバー管理者、セキュリティ担当者、DevOpsエンジニアまで、Linuxの権限について深く理解を深める必要があるすべての方々に、実質的な助けとなるよう構成されています。
権限分析とサービスの構築に不可欠な仮想化環境・OSインストール・ターミナル接続環境を体系的に構成することから始めます。
Rocky Linux 9、Ubuntu 24.04など、実際の企業環境で広く使用されているディストリビューションをインストールし、受講生がどのOSでも同じパーミッションの原理を適用できるように基盤を整えます。
講義の概要および全体学習目標の説明
VMware Workstationベースの仮想化環境の構築
Rocky Linux 9 & Ubuntu 24.04 インストール実習
高速インストールおよび初期設定
MobaXterm / SSH ターミナル接続環境の構築
このセクションは全工程の基盤となり、以降に行われるすべてのパーミッション実習はRocky Linux 9環境で実行されます。
したがって、この段階で構築する仮想マシン・アカウント・サービス・ディレクトリ構造は、その後の権限分析、ACL実習、サービス別権限設定など、すべての学習の共通基盤となります。
このセクションでは、Linuxパーミッションの核心となるユーザー(User)とグループ(Group)の構造を体系的に理解します。
アカウントの作成・削除・修正コマンドの実習はもちろん、/etc/passwdと/etc/shadowファイルの構造を段階的に説明します。
特に/etc/shadowファイルには、一般ユーザーに公開してはならない暗号化された(ハッシュ化された)パスワード情報が保存されますが、このハッシュ値がどのように生成・検証されるのか、crypt()関数ベースのSHA512ハッシュアルゴリズムがどのような方式で動作するのか、そしてsalt値が認証セキュリティにおいてどのような役割を果たすのかについても扱います。
また、/etc/shadowファイルのアクセス権限がなぜroot専用なのか、/etc/shadowファイルが流出した場合にどのようなセキュリティ事故につながるのかについても併せて説明します。
ユーザーとグループ構造の理解
useradd / userdel / usermod コマンドの実習
UID/GID 構造の分析
システムアカウントと一般アカウントの違い
アカウント削除時のホームディレクトリの処理方式
/etc/passwd ファイルのフィールド構造分析
/etc/shadow ファイルのフィールド構造分析
このセクションを通じて得られる内容は
ログイン認証の原理
パスワードハッシュ生成の原理
/etc/shadow セキュリティモデル
アカウント・グループ・UID/GIDがパーミッションの解釈に与える影響
ユーザーの作成と削除、および詳細な管理
を明確に理解できるようになります。
このセクションでは、パーミッションを構成する要素を単なる説明ではなく、実際の動作原理中心に説明し、権限の判断を論理的に解釈できるようにサポートします。このセクションを通じて、ファイルシステム内で権限がどのように解釈され、適用されるのかを確実に理解できるようになります。
ファイルの所有権および許可権の構造
読み取り/書き込み/実行権限の動作の仕組み
ACL(Access Control List)と基本パーミッションの違い
getfacl/setfacl 実習
パーミッションがサービス動作に及ぼす影響
権限変更コマンド chmod、chown、chgrp の実習
特殊権限の概念および危険性の紹介
一般アカウントがアクセスしてはならない /etc/shadow へのアクセス権限テスト
パーミッション講義の核心の一つは、権限の失敗事例を直接経験してみることです。各権限ごとに実際のテスト状況を構成し、ファイルアクセスの結果を比較しながら、なぜそのような結果が発生するのかを分析します。
読み取り(r)権限の有無による動作の違い
書き込み(w)権限の有無による動作の違い
実行(x)権限の有無による動作の違い
正規ファイルとディレクトリの権限がファイルアクセスに及ぼす影響
単なる暗記ではなく、サービス運用中に頻繁に遭遇する誤作動の原因を自ら解析できるよう構成した、実習中心のセクションです。
本セクションでは、単なる概念の説明にとどまらず、多様な実習を通じて特殊権限が実際のシステムでどのように動作し、どのようなセキュリティ上の意味を持つのかを深く分析します。
一般的なパーミッションのレベルから一歩進んで、特殊権限がサービス運用やシステムセキュリティに及ぼす影響まで、実務的な観点から扱います。
特に特殊権限は、設定を誤ると即座にセキュリティの脆弱性につながるため、動作原理と適用基準を正確に理解することが非常に重要です。
SetUIDの動作方式の分析およびpasswdコマンドの内部構造の理解
SetGIDがディレクトリでどのように適用されるかの実習
Sticky-bitがない環境で発生し得るセキュリティ問題のシナリオ
特殊権限が付与されたプログラムの潜在的な悪用可能性テスト
サービス・アプリケーション運用時における特殊権限の必要性および安全な制限方法
本セクションを通じて、受講生は実際のハッキング・セキュリティ事故で頻繁に悪용される特殊権限の脆弱性を正確に理解し、システムを安全に運用するための正しい設定基準を習得することになります。
本セクションは、単なるパーミッション教育を超え、実際のサービス環境で権限がどのように適用され、サービスの動作にどのような影響を与えるかを、DBMSとWEBアプリケーションを通じて直接実習しながら理解する上級コースです。
Rocky Linux 9環境でOracle Database 11g XEとApache Tomcatを直接インストールし、JDBCベースで動作するJSPウェブアプリケーション(jumsuプログラム)を実習用として提供します。
該当のアプリケーションは、あらかじめ作成された jumsu.warファイルの形式で配布され、受講生はTomcatにこのWARファイルをデプロイした後、Oracle DBに必要なテーブルを直接設計して連動させ、機能が正常に動作する全過程を体験することになります。
この過程で、ウェブアプリケーションが内部的にどのディレクトリにアクセスするのか、DB接続のためにどのような権限が必要なのか、Tomcatプロセスがどのカウントで実行され、どのディレクトリに読み取り/書き込み権限が必要なのか
などを詳細に分析することで、パーミッションが実務サービスの安定性に及ぼす影響を深く理解することができます。
また、Oracle 11g XEとTomcatのインストールは初心者が行うには難しいため、本講義では全体のインストールおよび初期設定を自動化するスクリプトも提供し、受講生が素早く同じ環境を構築して実習に集中できるようサポートします。
Rocky Linux 9でのOracle Database 11g XEのインストール
OracleおよびTomcatのインストール自動化スクリプトを提供 → 反復構築の簡소化
オラクルデータファイルが保存されるoradataディレクトリの権限構造の分析
jumsu.war ウェブアプリケーションのデプロイおよび実行手順の実習
Oracle DBに必要なテーブルの直接設計およびJDBC連動テスト
安全なWeb Rootディレクトリおよびアプリケーション配備パスの権限設定基準
本セクションを通じて、受講生は
JSPウェブアプリケーション + Tomcat + Oracle DBが有機的に動作する全体構造を経験し、その過程でパーミッションがどのような役割を果たすのかを実務基準で明確に理解することになります。
これは単なる権限の学習を超えて、サービス運用、セキュリティ、インフラエンジニアリング全体の観点からパーミッションを解釈できる能力を身につけるための核心的なセクションです。
本セクションでは、Linuxサーバー運用において不可欠なスケジューリングサービスであるCronの動作構造と権限モデルについて深く掘り下げます。単なる予約タスクの設定ではなく、Cronがどのような権限で実行され、/var/spool/cronにユーザー別のCronファイルがどのような方式で生成・管理されるのかまで、実習を中心に解説します。
サーバー運用で頻繁に使用されるrsyncベースのバックアップ自動化も併せて実習し、実際のサービス環境において自動化タスクがどのような権限条件で成功または失敗するのかを直接確認します。
特に、ユーザーCronとSetUID権限の関係やパーミッションの権限などを分析します。
この過程で、/var/spool/cron/ユーザー名ファイルの生成方式と、該当ファイルの権限が持つセキュリティ的な意味についても詳しく説明します。
Cronサービスの構造およびスケジューラの動作方式の理解
システムクロンである /etc/crontab の分析
rsyncを利用した自動バックアップスケジュールの構成
システムクロンとユーザークロンの違いおよび比較
ユーザー個別のCronが作成される際の /var/spool/cron/<ユーザー> ファイルの構造分析
条件(曜日/時間/周期)に応じたクロン(Cron)設定
このセクションを通じて、受講生は単なるスケジュール設定を超えて、Cronがどのようなユーザー権限で実行され、ファイル権限やディレクトリパーミッションがスケジュール作業にどのような影響を与えるのかを実務基準で理解することができます。
DNSはLinuxサーバー環境において非常に重要なネットワークサービスであり、権限設定のミスによって障害が頻繁に発生する代表的なサービスです。特に/var/namedディレクトリのパーミッションは、セキュリティだけでなくDNSサービスの正常な動作に直接影響を与えるため、正確な理解が不可欠です。
本セクションでは、DNSの基本原理からBINDのインストール・設定、正引きゾーンの構成、プライマリ・セカンダリDNSサーバーの自動化スクリプト作成までを実務ベースで扱い、DNSサービスがどのような権限構造で動作するのか、どのような権限が不足するとエラーが発生するのかを実習を通じて明確に分析します。
また、DNSのインストールおよび削除を自動化するスクリプトを自ら作成し、これをリモートサーバーにデプロイするプロセスも含めて習得することができます。
DNSの概念およびネームサーバー構造の理解
DNS設定のためのvim環境構成
BINDベースのDNSサーバーのインストールおよび設定実習
プライマリ・セカンダリDNSサーバー構成のための事前準備作業
正方向ゾーンファイルの構成およびクエリテスト
DNSインストール・削除自動化スクリプトの作成
作成したスクリプトをリモートサーバーに配布し、インストール/削除を実行
named.conf 主要設定項目の詳細分析
/var/named ディレクトリの権限構造およびセキュリティ設定基準
不適切なパーミッションによって発生するDNSクエリ失敗事例の分析
このセクションは、単なるDNS構築にとどまらず、DNSの運用と権限モデルをLinuxパーミッションの観点から完全に理解できるように設計されたカリキュラムです。DNSサービスの動作原理だけでなく、権限エラーが実際のサービス障害につながるメカニズムまで理解することで、Linuxパーミッションをサービス運用全体の視点から把握するのに非常に役立ちます。
本講義を受講することで、以下のような実務能力を身につけることができます。
パーミッション構造を基礎から完璧に理解し、設定できる能力
ACLと基本パーミッションの違い、サービス運用時の考慮事項の理解
特殊権限の危険性および適切な防御戦略の習得
DBMS・WEB・DNSサービスなどの権限構造の分析能力
ユーザーおよびシステムアカウント管理、Cronの運用、ファイルの所有権管理など、必須の運用スキルの確保
実務環境で発生する権限関連の問題を直接解決できる能力
この講義は初心者だけでなく、実務者・セキュリティ担当者・サーバー管理者まで、すべての人に必要な内容を盛り込んでおり、 パーミッションを基盤としてサービス運営全体を網羅する深化過程として設計されています。
APM(Apache · PHP · MariaDB)ベースのウェブサービスは、Linux環境で最も広く運用されている構造ですが、
不適切なパーミッション設定によりインストールエラー、アップロードの失敗、DB接続エラー、ウェブシェル脆弱性などが発生しやすい領域です。
特にApacheウェブサーバーがどのユーザーで動作し、PHPがどのディレクトリにアクセスするのか、またWordPress・GnuBoard・phpMyAdminのような実際のサービスが要求する権限構造を正確に理解することが不可欠です。
本セクションでは、APM環境の構築からApache設定ファイルの分析、GNUBOARD・WordPress・phpMyAdminのインストール実習まで、全過程を実務的な観点から扱い、ウェブサービスがどのような権限でユーザーとしてどのように動作するのかを
ステップバイステップの実習を通じて明確に分析します。
また、ウェブサービスのインストールおよび初期設定の過程で頻繁に発生する権限エラー、ディレクトリ書き込み失敗、アクセス制御などの問題を実際の事例に基づいて再現し、これを解決するための安全なパーミッション構成方法を提示します。
APM(Apache · PHP · MariaDB) 環境の構築
APMのインストールおよびサービス動作アカウントの分析
GNU Boardのインストールおよびdataディレクトリの権限構成実習
WordPressインストール手順およびwp-content/アップロードディレクトリの権限基準の分析
phpMyAdminのインストールおよびconfigディレクトリのセキュリティ設定
Apache設定ファイル(httpd.conf, vhost.conf)の主要ディレクティブ分析
ウェブサービス運用中に発生する権限エラー事例の分析
ウェブサービスディレクトリ構造の権限モデルおよび安全なパーミッション設定基準
Apacheプロセス実行アカウントの最小権限運用の原則
不適切なパーミッションによって発生するウェブセキュリティ脆弱性(DB情報の露出など)の分析
このセクションは、単にウェブサービスを構築するのではなく、APM環境でパーミッションモデルが実際にどのように適用され、サービスの安定性・セキュリティにどのような影響を与えるのかをLinux権限の観点から完全に理解するように設計されたカリキュラムです。
インストールから運用、セキュリティに至るまでの全段階で、パーミッションがどのような役割を果たすのかを明確に把握することで、ウェブサービス運用全般を安定的に管理できる実務能力を構築することになります。
学習対象は
誰でしょう?
サーバーを運営または管理するシステム管理者および開発者の方々
Linuxのファイル・ディレクトリ権限管理をしっかり学びたい方へ
実務に備えて Linux 権限のセキュリティの基礎を固めたい方
パーミッションとサービスにおける権限を実務基準で整理したい方へ
不適切な権限設定によって発生するセキュリティ問題を診断し、対応したい方
権限(パーミッション)の問題を原理から実務まで一度に整理したい方へ
ややこしい権限(パーミッション)の問題を、この講義でしっかりと整理したい方へ
前提知識、
必要でしょうか?
Linuxの基本コマンドおよびシェルの使用知識が必要です。
キャリア認証
[職歴事項]
(現)リナックスマスターネット代表
2014年 KISA(韓国インターネット振興院)院長賞受賞
大検察庁、アリアンツ生命、東部証券の情報システム模擬ハッキングおよび脆弱性診断を遂行
(元)韓国情報通信振興協会 専門委員(Linuxマスター)
(元)大学生情報セキュリティ連合サークル(SUA)メンター
(元)(社)韓国ハッキング保安協会 教育チーム長
[講義履歴]
KISA(韓国インターネット振興院) Linuxセキュリティ講義
ソウル現代職業専門学校、KH情報教育院、コリアITアカデミー情報セキュリティ講義
韓国情報通信機能大学、全南大学校、又石大学校、湖西大学校 情報セキュリティ特講
文化体育観光部、韓国情報化振興院など多数の個人情報および情報セキュリティ特講
ポスコA&C、一山白病院、現代百貨店、現代HDSなど、多数の個人情報および情報セキュリティ特講
海軍、選挙管理委員会など多数の情報セキュリティ特講
1995年にリナックスを使い始め、リナックスサーバーの運用、セキュリティ、ネットワークの経験などをもとに、実務中心の講義を提供しています。
全体
108件 ∙ (31時間 41分)
講座資料(こうぎしりょう):
9. ユーザーとグループ1
23:25
10. ユーザーとグループ2
06:28
11. ユーザーとグループ3
11:13
12. ユーザーを削除する
05:12
13. ユーザーの作成および削除
12:48
16. 様々なユーザーパスワード変更実習
47:26
21. ユーザー作成総合実習
12:33
25. chageコマンドの使い方
17:23
28. ファイルの所有権と許可権
11:28
29. ACL (アクセス制御リスト)
05:52
32. 権限管理コマンド
06:51
35. ファイルのパーミッション変更方法
21:33
37. 実行ファイルの実行権限
37:31
全体
2件
5.0
2件の受講レビュー
受講レビュー 61
∙
平均評価 5.0
修正済み
5
この講座を受ける前は、ただchmodコマンドで権限を簡単に変える方法だけを知って使ってきました。しかし、今回の講義を通じて、実行可能なバイナリファイルがメモリにロードされプロセスになった際、実際のファイルにアクセスしながらどのようなパーミッション体系を経るのか、その詳細な内部プロセスを深く理解することができ、本当に良かったです。 単なる権限管理を超えて、ApacheウェブサーバーとDBサーバーの構築、効率的なディスク管理、そしてセキュリティのためのファイアウォール設定まで、実務に不可欠な内容をすべて網羅しており、Linux運用の全体的な文脈を把握するのに完璧な講義でした。 しっかりとした基礎と実務感覚を同時に養うことができた有益な時間でした。今回の講義にとても満足しているので、次の後続講義も本当に楽しみです!
心のこもった受講レビューをいただき、心より感謝申し上げます。 権限はセキュリティに直結する非常に重要なテーマであるため、断片的なコマンドだけでなく、幅広い文脈や実践的なポイントまで併せて身につけておくことが必要です。 私自身もLinuxを約30年間使用しながら、学び続けて積み上げてきた経験とノウハウをもとに、実務で必ず役に立つ核心的な内容を最大限整理して共有させていただきました。 特に、実務に必須の内容を共に学んでいただけたとのことで、私も大きなやりがいを感じております。 後続の講義も多くの時間が必要となりますが、より堅実な実務中心の内容で一歩ずつ準備して作り上げていきたいと思います。 ぜひご期待ください。 今回の講義を準備するにあたり多くの時間を投資しましたが、改めて振り返ると補完すべき点も見えてきました。受講生の皆様の視点で不足していると感じられる部分は継続的にアップデートし、より完成度を高めていきたいと考えています。 後日の補強講義も楽しみにしていてください。 ありがとうございます。 ^^
自画自賛になってしまいますが、Linuxを始めたばかりの方や、Linuxを安定的に運用したい方に、この講義を強くおすすめします。このコースを通じて、権限とセキュリティの基準をしっかりと身につけ、より安全で安定したLinux運用ができるようになることを願っています。ありがとうございます。^^
受講レビュー 3
∙
平均評価 5.0
5
貴重な満点(★★★★★)の評価、心より感謝申し上げます。 短い評価の一行にも「満足した」というお気持ちが込められており、大きな励みになります。 権限とセキュリティは実務で繰り返し直面するテーマですので、復習するほどその実感が深まるはずです。 講義資料(PDF/実習例題)もアップデートのたびに最新の基準を反映してまいります。 受講中に気になる点や難しい部分がありましたら、いつでも質問を残してください。 次の講義もより充実した内容で準備し、ご期待にお応えします。 ありがとうございます。
同じ分野の他の講座を見てみましょう!