最低限 Unix (Linux) I ~ Linux 入門 ~ 情報実験 第 2 回 (2013/04/19)
-
Upload
stanislaw-aurek -
Category
Documents
-
view
30 -
download
0
description
Transcript of 最低限 Unix (Linux) I ~ Linux 入門 ~ 情報実験 第 2 回 (2013/04/19)
最低限 Unix (Linux) I
~ Linux 入門 ~情報実験 第 2 回 (2013/04/19)
北海道大学大学院 理学院 宇宙理学専攻三上 峻
目次
1. Linux とは2. Linux のデータ管理3. Linux のアカウントシステム4. アカウントが盗まれたら5. 良いパスワードを付ける
1. Linux とは
はじめに
•貴方の周り ( 家 ) のパソコンを思い浮かべてください
そのパソコンで使っている OS は何でしょう ?▫Windows▫Mac OS▫Linux▫その他
•この授業では Linux を使います
そもそも OS とは何 ?
OS (Operating System)
•計算機を管理・操作するための基本ソフトウェア
•OS がないとアプリケーションソフトは動作しない▫アプリケーションソフトとは特定の目的の為に作
られたソフトウェアのこと ( 例 : Excel, Internet Explorer など )
▫アプリケーションソフトとハードウェアとの仲介を務める OS はえら
いhttp://crew-lab.sfc.keio.ac.jp/projects/2001ipl-text/info-2002-9/04/index.html
この授業で用いる OS: Linux•Linus Torvalds 氏が開発 (1991)▫Unix の勉強の為にゼロから開発▫Linus + Unix = Linux ( 諸説あり )
•フリーソフトウェア▫無料▫オープンソース
ソースコードが開示されている▫システムを自分好みにカスタマイズ可能▫ソフトウェアの脆弱性にメーカーではなくユー
ザ間で対応▫ウェブ上のフリーのマニュアルも充実▫ただし,無保証!!
http://adamjarret.com/blog/index.php/2009/11/linus-torvalds-interviewed-on-floss-weekly/
ぜいじゃく
Linux ディストリビューション•Linux ディストリビューション▫Linux カーネル (OS の中核,第 3 回 ) に各種アプリケー
ションを加えたもの
•例▫Debian 系
Debian GNU/LinuxUbuntu
▫Red Hat 系FedoraCentOSVine Linux( 日本 ), Red Flag Linux( 中国 ), Red Star OS( 北朝鮮 )・・・
INEX ではなぜ Debian GNU/Linux か•フリー OS▫フリー = 無料 + オープンソース
•堅牢なパッケージ管理システム▫安心の三段階審査▫最初にパッケージ管理システムを導入
•サーバの構築・管理に便利▫必要最小限のシステム構成にすることが比較的容
易 セキュリティを高める上で重要
2. Linux のデータ管理
Linux のデータ管理
•全てファイルとして扱われる▫アプリケーションソフト , 周辺機器さえもファ
イル マウス , キーボード , ハードディスク…
•ファイルはディレクトリにより階層的に管理▫ディレクトリ とはファイルを格納するための
ファイル Windows で言えばフォルダ
▫ディレクトリの中にディレクトリを格納することも可能
•ルートディレクトリ “ /” を起点とするツリー構造
Linux のディレクトリ階層構造
/ (root)
home etc usr proc
foo bar bin lib
・・・・
・・・・
•ホームディレクトリ▫各ユーザ用ディレクトリ
▫home ディレクトリとは異なる
▫“ ~” ( チルダ ) で表す•カレントディレクトリ▫現在いるディレクトリ▫ “.” ( ドット ) で表す•親ディレクトリ▫一段上のディレクトリ▫“..” ( ドットドット ) で表す•子ディレクトリ▫一段下のディレクトリ
ディレクトリの呼び方/ (root)
home etc
foo bar
work
・・・・
test.txt
•パス▫目的のファイルにたどり着く
ための道順•絶対パスを用いた指定▫ルートディレクトリ “ /” を起
点 /home/foo/test.txt /home/foo/work
•相対パスを用いた指定▫カレントディレクトリ “ . ”
を起点 ../foo/test.txt ../foo/work
• “ ~” を用いた指定▫ホームディレクトリを起点
~foo/test.txt ~foo/work
ファイルの指定方法/ (root)
home etc
foo bar
work
・・・・
test.txt
• cd▫ ディレクトリを移動する
• pwd▫ 現在のディレクトリの場所を絶対パスで表示
• ls▫ ディレクトリの中身や情報を表示
• tree▫ ファイル・ディレクトリをツリー形式で表示
▪mkdir, rmdir▫ ディレクトリを作成・削除
▪rm▫ ファイル・ディレクトリを削除
詳しくは実習編で!!
ディレクトリに関するコマンド
3. Linux のアカウントシステム
アカウントシステム
•利用者を事前に登録 ( アカウント登録 ) するシステム• アカウントとは利用権限のことを指す•登録しないと使えない /使わせない
•アカウント情報• アカウント名• パスワード• フルネーム•住所 等.
•アカウントをもらうとログインができる•アカウントの貸し借りは絶対にしない
Windows の場合
このパソコンでは二つのアカウントが登録されている
Windows の場合
右のアカウントでログインしたい!!
Windows の場合
アカウント名 パスワード入力
[Enter]
Linux の場合
アカウント名入力 [Enter]
ホスト名( 計算機の名前 )
Linux の場合
パスワード入力 (出力されない ) [Enter]
ログイン完了!!
Linux のログインとアカウントの種類•必要な入力事項はアカウント名とパスワードの
み •アカウントの種類▫計算機管理者 (root)
計算機内での最高権限者 全権限を行使可能
例:アカウントの新規作成・削除・システムファイルの編集
▫一般ユーザ root 以外のアカウント ( さっきの画像では
mikataka) 計算機自体の運用については不可触
例:シャットダウンすら不可能
アカウントシステム
•安全・円滑に共用を可能にする利用方式• 一つのマシンを複数のユーザで使うことができる
•プライバシー• 他人からのデータの操作はパーミッション設定を適切にすることで防止できる
•アカウントを持つ人はパスワードを守る責務を負う
▫漏えいするとクラッキング ( 計算機の不正使用 ) される恐れがある 自分だけでなく他人にまで迷惑がかかる ( 詳細は後述 )
パーミッション
•ファイル・ディレクトリの利用権限▫ファイル・ディレクトリに対して「誰が」「何
を」していいのか▫すべてのファイル・ディレクトリにそれぞれパ
ーミッションが設定されている
パーミッションはなぜ必要か?
•大事なものを守る▫プライバシーの保持
他者に見られたくないファイル メール・未発表の研究データ・ムフフなあいつ…
勝手に改変されると困るファイル 公開データ・自作プログラム・自分のウェブページ…
▫システム管理等の重要ファイルの保護 /etc/shadow 等のシステムファイル ( 実技編発展 参照 )
計算機を共同利用する上で,目的に応じた適切なパーミッション設定が必要となる
パーミッション具体例
•「誰が」▫ ファイル所有ユーザ (User)▫ ファイル所有グループ (Group)▫ その他 (Others)
•「何を」▫読み取り (Read)▫書き込み (Write)▫ 実行 (eXecute)
• 例外▫ システム管理者 ( root ) はパーミッション設定に関係なくあらゆ
る権限を持つ
chappy@joho38:/home/chappy/test$ ls -l合計 28-rwx-w-r-x 1 chappy epnetfan 17082 2011-12-11 12:22 ichigo.txt
詳しくは実習編で!!
• コマンド▫ chmod ( ファイルの権限の変更 )▫ chgrp ( ファイルのファイル所有グループの変更 )
▫ chown( ファイル所有ユーザの変更 )
4. アカウントが盗まれたら
アカウントクラック時の被害 (1) : 本人• 自分のアカウント情報書き換え
▫ パスワードが変更されればログイン不可• データの盗難・破壊
▫ 自分が蓄積した経験が水の泡…• 将来にわたっての継続的な不安
▫ 盗み見られたデータに基づく恐喝▫ ネットワークへのデータ流出に伴う半永久的な損害
一旦出てしまえば事実上回収は不可能
クラック時の被害 (2) : 他のユーザ
• 計算機の運用妨害▫ 高負荷処理によるサービス妨害
• 他のアカウントへの被害波及▫ 一旦ログインできればあとは比較的簡単▫ ルートクラック ≒ 計算機の運用停止
ルートクラックの恐ろしさ
•計算機の全情報が自由に操作される▫計算機管理者は絶対主権者なので計算機の全情報
を見られる・変更できる・消去できる•一度でもルートクラックされると・・・
1.クラッカー達の鴨リストに載り , そのマシン情報はすぐにネットワークを通じて拡散する
2.容易に暴けるクラック対象として世界中から集中攻撃を受けるようになる
3.数カ月おきにクラックされるようになる4.計算機の運用停止に追い込まれる▫こうして joho21 は・・・
クラック時の被害 (3) : 世界
• 同一ネットワーク内の他の計算機へ侵入▫ 「自分の手」を汚さずに「内側」からクラック
• インターネットを通じてより大規模なクラックへの踏み台として悪用▫ クラックした複数のマシンをさらなるクラック
のための高速計算に転用▫ 多数のマシンを使っての大規模なサービス妨害
• 犯罪等への加担▫ 時には国際問題にも発展
• ネットワークにつながった計算機 = 凶器になりうる
このような被害を出さないためにも
アカウントを持つ人は良いパスワードをつけて計算機を守る義務がある
5. 良いパスワードを付ける
まずは敵を知る ( クラッキング手法 )
•Brute Force Attack(BFA, 総当たり攻撃 )▫考えられる全てのパスワードを片っ端から試す▫解読に要する時間は字数に大きく依存
一文字増えるごとに指数関数的に長くなる 1 か月継続的に試すクラッカーは ( 現実的には ) いない
•Dictionary Attack (DA, 辞書攻撃 )▫様々な分野の単語を記録したクラッキング用辞書を
使う▫BFA より極めて効率的
大文字,小文字,数字を組み合わせてクラックできる 例: o → O( 小文字を大文字に ) , i → 1(英語を数字に )
良いパスワードとは
•パスワードにも善し悪しがある▫「弱い」パスワードはほとんど役に立たない
•必要条件▫なによりも頑丈さ ( 十分な長さ , 様々な記号の
使用 )▫他者にとっての使いにくさ ( 予想しにくい )
•理想▫自分にとっての使いやすさ ( 憶えやすい )
•8 文字以上並べる•可能な範囲でばらばらの文字・記号を使う▫大文字 , 小文字 , 数字 , 記号
•推定しやすい文字列を用いない▫辞書にある単語▫個人情報から推定できる言葉
•簡単な規則のみで置き換えた文字列を用いない▫逆つづり (yranoitcid), 繰り返し
(dictionarydictionary)▫小文字→大文字 (YranoItcid), 小文字→数字
(yran01tc1d)
良いパスワードの必要条件
パスワード例•悪いパスワード▫単語・固有名詞・個人情報から推定できるもの
Flower , hokudai , mikataka …▫専門用語
Pneumonoultramicroscopicsilicovolcanoconiosis ( 塵肺症 )
•良いパスワード▫スリジャヤ・ワルダナ・プラコッテ ( スリランカの首都 ) を少しいじってみる srjywrdnprkt Srjy!Wrdn$Prkt#
もちろんこのパスワードはすでに良いパスワードではない
パスワードマナー
•パスワード打鍵時は視線を逸らす▫「ソーシャルクラッキング」と呼ばれる立派な
クラック手法•パスワードは誰にも教えない•パスワードはメモしない ( 方がいい )▫やむを得ずメモする場合は
見せない・捨てない・失くさない•同じパスワードを使いまわさない•パスワードは定期的に変更する•初期パスワードは迅速にログインしたうえで変更する
Linux をいじり倒す準備を整える
•アカウント作成▫アカウント名▫良いパスワード
•ログイン・ログアウト•簡単なコマンドの実行•ディレクトリ階層構造の理解▫ディレクトリの移動▫カレントディレクトリの把握▫ファイルの指定 ( 絶対パス , 相対パス )
•パーミッション設定
実習編では・・・
まとめキーワード• OS ▫ Linux▫ Linux ディストリビューション , Debian
• データ管理▫ ファイル , ディレクトリ▫ 絶対パス , 相対パス , チルダ ( ~ )
• アカウントシステム▫ root▫ パーミッション
• パスワード▫ クラッキング , ルートクラック , ソーシャルクラ
ッキング▫ BFA, DA
参考文献 (1)•日本ネットワークセキュリティ協会教育部会 , 2009 情報セキュリティプロフェッショナル教科書 , アス
キー・メ ディアワークス
•林晴比古 , 2004, 改訂 新 Linux/Unix 入門 , ソフトバンククリエイ
ティブ
•橋本英勝 , 2010, 基礎からの Linux 改訂版 , ソフトバンククリエイ
ティブ
参考文献 (2)•Linux と FreeBSD等の違いを使用感から述べてみま
したhttp://yatsute.s22.xrea.com/contents/article//
everything/pc/freebsd/etc/Linux%82%C6FreeBSD%81%95etc.pf
•GUI と CUI - 南野 輝http://www2s.biglobe.ne.jp/~chic/tron008.html
•GUI と CUI(2) - 京都産業大学http://www.cc.kyoto-su.ac.jp/~hirai/text/cui.html
参考文献 (3)•情報実験第 2 回講義資料 最低限 UNIX(1) UNIX におけるパスワード - 高橋康人
http://www.ep.sci.hokudai.ac.jp/~inex/y2011/0422/lecture/pub/
•情報実験第 3 回講義資料 最低限 UNIX(2) Linux 入門 - 山下 達也
http://www.ep.sci.hokudai.ac.jp/~inex/y2011/0506/lecture/pub/
付録: Linux 内のアカウント情報
•他の情報と同じくファイルとして保存▫3つに分けて保存されている
• /etc/passwd▫アカウントの基本情報。閲覧制限なし
• /etc/shadow▫アカウントの暗号化済みパスワード情報。 root
のみ閲覧可。• /etc/group▫グループの基本情報。閲覧制限なし▫グループについては最低限 UNIX Ⅱ を参照
付録:ドットファイル ( 隠しファイル )•ドットファイルの例▫.bashrc, .bash_profile, .emacs など
•ユーザの環境設定用ファイル▫“ . ” で始まるファイル▫各ユーザのホームディレクトリ直下に存在▫ls ( ファイル一覧表示コマンド ) と打っただけで
は表示されない (ls –a と打つべし )▫日本語環境の設定など▫削除したり書き換えする際には慎重に ! !▫実習編でも紹介
付録:” /”以下のディレクトリの役割( 一部 )▫/home : ユーザ用ディレクトリ
▫各ユーザのホームディレクトリを格納▫/usr : 各種プログラム用ディレクトリ
▫カーネルソースや共有プログラムを格納▫/etc : システム管理用の各種設定ファイルを格納▫/proc : カーネルの動作情報を示す , 特殊なファイルを
格納
その他にもたくさんあります詳しくは実習編の発展のページ
で