山形大学徽章 山形大学地域教育文化学部

Linux実習


2018年7月18日更新 



授業概要
 実習を通してサーバ管理者として必要なことを学ぶ。

実習機
 1号機 Core2Quad 2.83GHz (4コア) jisshuu1(httphttps)   masaki(httphttps)
 2号機 Core2Duo 2.66GHz (2コア) jisshuu2(httphttps)   daisuke(httphttps)
 3号機 Core2Duo 2.66GHz (2コア) jisshuu3(httphttps)   ikegaya(httphttps)
 4号機 Pentium  2.8GHz (2コア) jisshuu4(httphttps)   suzukimoeto(httphttps)
 5号機 Celeron  2.8GHz (2コア) jisshuu5(httphttps)   naoki(httphttps)
 6号機 Core2Duo  2.4GHz (2コア) jisshuu6(httphttps)   coffee(httphttps)
 7号機 Core2Duo 2.66GHz (2コア) jisshuu7(httphttps)   ueno(httphttps)
 8号機 Core i3  2.3GHz (2コア) jisshuu8(httphttps)   elijah(httphttps)
 9号機 Core i7  3.2GHz (4コア) jisshuu9(httphttps)   kyugouki(httphttps)
10号機 Core2Duo 2.93GHz (2コア) jisshuu10(httphttps)  juugouki(httphttps)
11号機 Core2Duo 2.93GHz (2コア) jisshuu11(httphttps)  dell320(httphttps)
12号機 Core2Duo 2.66GHz (2コア) jisshuu12(httphttps)  koshirouehara(httphttps)
13号機 Core2Duo 2.66GHz (2コア) jisshuu13(httphttps)  
14号機 Pentium  2.8GHz (2コア) jisshuu14(httphttps)  
15号機 Pentium  3.0GHz (2コア) jisshuu15(httphttps)  
16号機 Core2Duo 2.66GHz (2コア) jisshuu16(httphttps)  kk88(httphttps)
17号機 Core2Duo 2.66GHz (2コア) jisshuu17(httphttps)  yokosawa(httphttps)
18号機 Core2Duo 2.66GHz (2コア) jisshuu18(httphttps)  
19号機 Core2Duo 2.66GHz (2コア) jisshuu19(httphttps)  


 地域教育文化学部は年々予算が削られて貧乏です。自前で機材を買うことができません。実習用機材の大部分は廃棄処分になった10年前のパソコンを再利用しています。



twitter


第1回  序  2018年4月11日

 実習の掟  Linuxとは何か(歴史、特徴)

第2回  Linux のインストール  2018年4月18日

 
Ubuntu Server 16.04LTS をインストールし、ネットワークとX window systemと音源を使えるようにせよ。
 (実行した方法を再現できるように詳しく記録し、実行したことの意味を含めてレポートにまとめる)

インストール後にCUIでログインして以下をやっておく。
$ sudo -s
# ufw enable
# ufw allow OpenSSH
再起動 (# reboot)

# nano /etc/network/interfaces などと好きなエディタで設定ファイルの末尾が次のようになるよう追記
----------ここから----------
auto lo
iface lo inet loopback

auto enp2s0 (enの後は実習機によって異なる。$ ip a で確認)
iface enp2s0 inet static
  address (IPv4アドレスを貼紙の通りに)←ここは絶対に間違えないよう慎重に入力する。数字を誤ると学内のサーバに障害を与える可能性あり。
  netmask 255.255.255.0
  gateway (ゲートウェイを貼紙の通りに)
  dns-nameservers (DNSを貼紙の通りに)
iface enp2s0 inet6 auto
----------ここまで----------

# service networking restart
# apt update
# apt upgrade
# apt install ubuntu-mate-desktop (好みのデスクトップがある人はMATE以外でも可)
再起動


 ヒント

第3回  ユーザ管理とリモートログイン  2018年4月25日
  1. 利用者から信頼される管理者になるための心構えは。
  2. 利用者登録をするのは何のためか。
  3. 自分のサーバに全員分の利用者登録をして、初期パスワードを設定せよ。
  4. 他の受講者のサーバ全てにsshで遠隔ログインし、初期パスワードを自分の秘密のパスワードに変更せよ。
  5. 関係する次のコマンドの意味を調べ使い方を会得せよ。そして使用例を交えて使用方法を詳しく説明せよ。また、有益なオプションについても説明せよ。
      useradd, userdel, passwd, chfn, chsh,
      ssh, who, last, finger, chmod, chown, chgrp

  6. 関係する次のファイルの使用目的を説明せよ。
      /etc/passwd, /etc/shadow, /etc/group, /etc/skel/

  7. /etc/passwd、/etc/shadow、/etc/groupの書式(行中の「:」で区切られた各欄の意味)を説明せよ。

 ヒント 利用者登録の際には、ホームディレクトリを作成し、ログインシェルを/bin/bashにする。



第4回  クライアントとしての利用  2018年5月2日
  1. Sylpheedの設定をし、大学のサーバを使ってメールの送受信ができるようにせよ。
  2. Firefoxを適切に使い易く設定せよ。
  3. プリンタを接続して印刷ができるように設定せよ。
  4. LibreOfficeのワープロで試しに文章を作成し印刷せよ。
  5. 好みのビデオプレーヤで動画を再生してみよ。
  6. GIMPを使い、画像の加工をしてみよ。
  7. その他、好みのアプリケーションを使ってみよ。

 大学から配られたパスワードが必要です。



第5回  コマンド、シェル、カーネル  2018年5月9日
  1. 次のコマンドの意味を調べ使い方を会得せよ。そして使用例を交えて使用方法を詳しく説明せよ。また、有益なオプションについても説明せよ。
      man, history
      ls, cp, mv, rm, touch, cat, diff
      cd, pwd, mkdir, rmdir, du, find, locate
      date, cal, bc
      more, less, tee, sort, grep, wc, tr, cut, head, tail, uniq, rev, strings
      ps, bg, fg, kill, killall, uptime, nice, renice, ionice, top
      sudo, mount, umount, df, shutdown, reboot
      mail, talk, dig, ping, traceroute
      dpkg, apt

  2. 標準入力、標準出力、パイプラインとは何か。
  3. 「*」 「?」 「&」 「;」 「>」 「>>」 「<」 「|」という各記号にはそれぞれどのような意味があるか。
        例 ls -l > file
          ls -l | less
  4. シェルとは何か。
  5. 各種シェル(sh, ash, bash, csh, tcsh, ksh, zsh, dash, sashなど)の特徴を述べよ。
  6. カーネルとは何か。
  7. Ubuntu 16.04LTSはLinuxカーネル4を使用している。歴代のLinuxカーネルの進歩の歴史を説明せよ。また、カーネルの各バージョンの機能の違いも説明せよ。


第6回  http (apache/nginx)  2018年5月16日
  1. wwwとは何か。その歴史と意義を述べよ。
  2. html、http、httpsとは何か。
  3. httpサーバプログラムには幾つもの種類がある。列挙してそれぞれの特徴を述べよ。
  4. apachenginxを比較して違いを述べよ。
  5. apacheかnginxかどちらかを選びインストールと設定をせよ。
  6. 自分のサーバに世間に公開して恥ずかしくない画像入りのwwwページを作成し、公開せよ。
    (著作権や肖像権を侵害しないように。写真は自分で撮影すると良い。人物を撮影したり写真を公開したりする時は本人の了解を得てから。)
  7. 設定ファイルの書式と意味を説明せよ。
  8. refererとは何か。user agentとは何か。セキュリティで注意すべき点は何か。
  9. サーバ側ではrefererやuser agentを含むアクセス情報がどのファイルに記録されるか。
  10. Linuxを起動した時にapacheかnginxが自動的に稼働するようにせよ。
  11. 自分で作成したページを、https(443/tcp)でも公開せよ。

 ヒント 

第7回  smtp (sendmail/postfix)  2018年5月23日
  1. MTAとは何か。役割と意義を述べよ。
  2. MTAとMUAとMSAの違いを述べよ。
  3. sendmailpostfixqmail など幾つかのMTAがある。それぞれの特徴と違いを述べよ。
  4. sendmailかpostfixかどちらかを選び適切に設定せよ。稼働させメールが正しく送受信できることを確かめよ。
  5. SMTP認証を利用できるように設定せよ。
  6. 25/tcp, 465/tcp, 587/tcpをどのように使い分けるか。
  7. メールをやり取りすると、/var/log/maillogには何が記録されるか。実例を示して書式を説明せよ。
  8. smtpで応答に用いられる3桁の数字は何か。意味を説明せよ。
  9. 自分宛のメールをサーバに残し、かつ電話機にも転送したいとする。どのように設定すればよいか。
  10. TLSが使用できるように設定せよ。
  11. MTAでの主な迷惑メール対策(SPF、Greylisting、アドレス検証、Greet pause、その他)について説明せよ。そして実際に作動させてみよ。
 ヒント 

第8回  DNS  2018年5月30日
  1. DNSとは何か。DNSの必要性と仕組みを説明せよ。
  2. 世界中どこからでも検索することを可能にした方法を詳しく説明せよ。
  3. BINDPowerDNSNSDKnotDNSYadifaUnboundMaraDNS など幾つかのDNSデーモンがある。分類しそれぞれの特徴と違いを述べよ。
  4. DNSデーモンを選びインストールせよ。
  5. 先ずリゾルバを運用せよ。その際、再帰的名前解決を提供する範囲を実習室内に制限せよ。そして自分で利用せよ。
  6. 再帰的名前解決を無制限に提供すること(オープンリゾルバ)は何が問題か。
  7. キャッシュ汚染とは何か。何が問題か。
  8. DNSSECとは何か。必要性と仕組みを説明せよ。
  9. リゾルバでDNSSECを有効にする設定をせよ。
  10. KSKロールオーバーとは何か。今世界では何が起こっているか。
  11. 自分のドメイン名を決めよ。ここでは仮にhoge.elec.e.yamagata-u.ac.jp.であるとして説明する。
  12. 自分のドメインhoge.elec.e.yamagata-u.ac.jp.の権威サーバを運用せよ。
  13. メールをID@hoge.elec.e.yamagata-u.ac.jpで受け取れるようにせよ。
  14. WWWページをwww.hoge.elec.e.yamagata-u.ac.jpで見えるようにせよ。
  15. 「SOA」「A」「AAAA」「PTR」「MX」「NS」「CNAME」「TXT」の各レコードの意味は何か。実例を示して書式も説明せよ。
  16. SPFを登録せよ。
  17. 逆引(IPアドレス→FQDNの変換)の仕組みを説明せよ。

 ヒント 

第9回  ssh  2018年6月6日
  1. sshとは何か。使用目的、特徴、意義を述べよ。
  2. 次のコマンドの使用方法を第5回と同様に詳しく説明せよ。
      ssh, slogin, scp, sftp, ssh-keygen

  3. 共通鍵暗号と公開鍵暗号を比較し、両者の特徴と違いを述べよ。
  4. sshは共通鍵によって暗号化通信を行なっている。共通鍵を安全に生成(交換)する方法を説明せよ。
  5. 公開鍵認証の原理を説明せよ。
  6. 公開鍵認証とパスワード認証を比較し、両者の利点と欠点を述べよ。
  7. RSA鍵、DSA鍵、ECDSA鍵、ED25519鍵の数学的な原理を説明せよ。
  8. ED25519鍵を作成し、秘密鍵を自分のサーバに置け。公開鍵を自分以外の全てのサーバに置き、ssh2のED25519鍵認証で自分以外のサーバにログインできるようにせよ。
  9. sshのポートフォワード機能とは何か。原理と使い方を説明せよ。
  10. sshのポートフォワードを通してXを使い、別のサーバで実行したプログラムのウインドウを手元に開け。
  11. sftpを用いてファイル転送をしてみよ。また、scpを用いてファイル転送をしてみよ。


第10回  時刻  2018年6月13日
  1. atとは何か。
  2. atの使用方法を第5回と同様に詳しく説明せよ。
  3. cronとは何か。
  4. cronの使用方法を第5回と同様に詳しく説明せよ。
  5. NTPとは何か。
  6. ntpd、ntpdateの使用方法を第5回と同様に詳しく説明せよ。
  7. hwclockの使用方法を同様に説明せよ。hwclockは何のために必要か。
  8. ntp.elec.e.yamagata-u.ac.jp.を参照してサーバの時刻を常に自動的に合わせるように設定せよ。
  9. 明日の午前4時ちょうどに自動的にメールを送れ。(メールの宛先は実習室の扉に貼ってある)
  10. 西暦14292年7月6日は何曜日か。求めた方法も記せ。

    ヒント 
    http://www.ntp.org/


第11回  起動とデーモン  2018年6月20日
  1. grubの役割は何か。grubの作動する仕組み、設定方法、使用方法を説明せよ。
  2. initとは何か。systemdとは何か。作動する仕組み、設定方法、使用方法を説明せよ。
  3. デーモンとは何か。
  4. ポートとは何か。
  5. インストール済の全てのデーモンの名前と目的と役割を調べ、使用しているポート番号およびプロトコルと共に一覧表にせよ。
  6. 次のコマンドの使用方法を第5回と同様に詳しく説明せよ。
      netstat, telnet

  7. qpopperまたはdovecotを適切に設定(TLSによる暗号化を含む)し、pop3またはimapでメールを取得できるようにせよ。
  8. 停止しても支障のないデーモンを全て止め、CPUとメモリの無駄遣いを減らして高速化、省電力化せよ。

    ヒント 外部からメールを取得するにはufwの追加設定も必要


第12回  ファイルシステム  2018年6月27日
  1. ファイルシステムとは何か。マウントとは何か。
  2. Linuxで使われているファイルシステムについて説明せよ。
  3. ext2とext3とext4の違いは何か。
  4. /etc/fstab、/etc/mtabの役割と書式を説明せよ。
  5. 第5回で調べた次のコマンドを復習せよ。
      mount, umount, df

  6. DVDやUSBメモリを入れると自動的にマウントされる仕組みを説明せよ。
  7. DVDで起動し、fsckでハードディスクの検査を行え。
  8. rwでマウントされているディスクにfsckをかけるのは問題がある。何故か。
  9. /bin/syncの役割は何か。
  10. ハードディスクを増設する手順を、使用するコマンドラインを含めて具体的に説明せよ。
  11. 中身を移し替えてハードディスクを交換する手順を、使用するコマンドラインを含めて具体的に説明せよ。


第13回  IPとパケットフィルタ  2018年7月4日
  1. IPとは何か。IPアドレスとは何か。
  2. CIDRによるIPアドレス表記方法を説明せよ。
  3. TCPとは何か。UDPとは何か。ICMPとは何か。TCPとUDPはどのように使い分けるか。
  4. TCPにはどのようなフラグがあるか。
  5. ICMPの種類と役割を説明せよ。
  6. パケットとは何か。
  7. パケットフィルタとは何か。何のために必要か。
  8. ufwとiptablesはどのような関係か。
  9. 次のコマンドの使用方法を第5回と同様に詳しく説明せよ。
      ufw,   iptables, iptables-save, iptables-restore
      ip6tables, ip6tables-save, ip6tables-restore

  10. パブリックIPv4アドレスとは何か。プライベートIPv4アドレスとは何か。
    (プライベートIPv4アドレスの変形で、ラージスケールNAT用のIPv4アドレスもある)
  11. パケットフィルタは必要なパケットのみを通し、残りは全て捨てるように設定すべきである。icmpは何を通せば良いか。tcpは何を通せば良いか。udpは何を通せば良いか。一覧表を作り、個々の理由も記せ。
  12. そのルールを実現するためにufwまたはiptablesを実際に設定せよ。
  13. 5日間以上パケットフィルタのログをとり、世界からどのような不正なパケットが来たかをまとめよ。また、個々の不正なパケットが発せられた理由を推理せよ。
  14. 侵入者はほとんどの場合、既知のセキュリティホールを突いて侵入して来る。今年報告された深刻なセキュリティホールを調べてみよ。
  15. セキュリティホールの情報は、報告された直後に知る必要がある。どうすれば素早く知ることができるか。
  16. セキュリティホールが報告された。さてどうすべきか。


第14回  IPv6  2018年7月11日
  1. IPv6とは何か。IPv4とは何か。IPv6は何故必要か。
  2. IPv6に盛り込まれた新機能は何か。
  3. IPv6アドレスの構造と表記方法を説明せよ。
  4. IPv6アドレスと経路が自動的に設定される仕組みを説明せよ。
  5. IPv6で外の世界にping6をかけてみよ。traceroute6で経路を確認せよ。
  6. http://www.kame.netを表示してみよ。IPv6で通信しているかどうかは「DANCING KAME」で確かめることができる。
  7. DNSにIPv6アドレスを設定せよ。
  8. DNSがIPv6で通信できるように設定せよ。
  9. apacheやnginxがIPv6で通信できるように設定せよ。
  10. メールに関する通信もIPv6を使用するように設定せよ。そして送受信したメールのヘッダでIPv6が使用されたことを確認せよ。
  11. sshを使ってIPv6で他のサーバから自分のサーバにログインせよ。
  12. その他全ての通信でIPv6を優先して使用するように設定せよ。


第15回  レポート提出  2018年7月18日

 今日間に合わなかったレポートは学生センターのレポート提出箱に入れてください。最終締切は2018年8月10日(金)です。



 ※非推奨ブラウザ マイクロソフトエッジでは正常に表示できない可能性があります。

 メールアドレス