Software Design PlusシリーズLinuxシステム[実践]入門

[表紙]Linuxシステム[実践]入門

A5判/416ページ

定価(本体2,880円+税)

ISBN 978-4-7741-5813-6

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

本書ではLinuxを扱う上で必要となる設定ポイントなどをまとめています。ハードウェアとLinuxの関わり,Linuxカーネルやシェルの理解を深め,設定ファイルや起動スクリプトについて解説します。またApacheやPostfixなどのアプリケーションの他に日本語環境やX Windowの設定,認証などについても丁寧に解説を進めています。「Linuxをインストールしたがどのように扱ってよいかわからない」「Linuxはどのような構造で動いているか興味がある」という方にお薦めです。

こんな方におすすめ

  • Linuxの勉強をはじめたい人
  • Linuxの活用方法を知りたい人
  • よりLinuxを使いこなしたい人

この書籍に関連する記事があります!

Linuxのディレクトリ構造を理解しよう
最初のLinuxが誕生してから20年以上が経過し,現在ではサーバを中心に幅広い用途で利用されています。

目次

第1章 Linuxの基礎知識

1-1 UNIXの基礎

1-1-1 ログイン・ログアウト

1-1-2 シェルとコマンド

1-1-3 マニュアルコマンド man

  • マニュアルを参照する
  • manの読み方
  • manファイル内の検索
1-1-4 ユーザとグループ

1-1-5 パーミッションと所有権

  • パーミッション
  • ファイルタイプ
1-1-6 ファイル

1-1-7 ディレクトリ

1-2 Linuxのディレクトリ構成

1-2-1 前提知識

  • FHS
  • マウント
  • パーティション
1-2-2 /(ルート)

1-2-3 /boot

  • ①Systemmap-2632-5-amd64
  • ②config-2632-5-amd64
  • ③grub
  • ④initrdimg-2632-5-amd64
  • ⑤vmlinuz-2632-5-amd64
1-2-4 /etc

1-2-5 /bin

1-2-6 /sbin

1-2-7 /usr

  • /usr/local
1-2-8 /home

1-2-9 /var

  • /var/tmp
  • /var/{log,spool}
  • /var/mail
  • /var/run
  • /var/lock
  • /var/{opt,cache,lib/{misc,locate},local]
1-2-10 /proc

1-2-11 /sys

1-2-12 /dev

1-2-13 /tmp

第2章 シェル

2-1 シェルを使ってみよう

2-1-1 シェルとは

2-1-2 シェルの種類

  • bash
  • csh/tcsh
  • dash
  • zsh
2-1-3 シェルの機能

  • コマンドプロンプト
  • プログラム実行の動き
  • 補完機能とヒストリ機能
  • ジョブ制御機能
  • リダイレクトとパイプ

2-2 シェルコマンド

2-2-1 ビルトインコマンドとは

2-2-2 主なビルドインコマンド

  • 何もせずに終了コード「0」を返す
  • ほかのシェルスクリプトを読み込んで実行する
  • 指定したディレクトリに移動する
  • パラメータの間接参照をする
  • 指定されたコマンドを自身で実行する
  • 標準入力から1行読み込む
  • そのほかのビルドインコマンド

2-3 シェルスクリプトの文法

2-3-1 シェル宣言をする

  • 「/」の意味
2-3-2 シェルの変数

  • シェル変数
  • 環境変数
  • 位置パラメータ
  • 特殊パラメータ
2-3-3 ifによる条件判断

2-3-4 while/forで繰り返す構文

  • while文を使ったコマンドの繰り返し
  • for文を使ったコマンドの繰り返し
  • breakでループを抜けてcontinueで続ける
  • ワイルドカードを利用した繰り返し
2-3-5 条件分岐

  • case文
2-3-6 シェル関数

  • function文で関数を利用する
  • shiftを利用してコマンドライン引数を処理する
  • 「'」と「""」の違い
  • バッククォート

2-4 シェルの設定ファイル

2-4-1 ログインシェル

2-4-2 対話シェル

第3章 Linuxカーネル

3-1 Linuxカーネル概要

3-1-1 Linuxカーネルとは

  • デバイス管理
  • プロセス管理
  • メモリ管理
  • システムコールの提供
3-1-2 システムが起動するまでの仕組み

  • BIOS
  • MBR
  • ブートローダ
  • Linuxカーネルファイル構成

3-2 Linuxで利用するブートローダ

3-2-1 GRUB

  • GRUBの2つのバージョン
3-2-2 GRUBシェル

  • set root
  • kernel/linux
  • initrd
  • boot

3-3 標準入力・標準出力・標準エラー出力

3-3-1 3つの標準入出力

  • 標準入力
  • 標準出力
  • 標準エラー出力
3-3-2 標準入出力の表示例

  • ファイルディスクリプタの生成

3-4 ファイルシステム

3-4-1 ファイルシステムとは

3-4-2 ファイルシステムの仕組み

  • ジャーナルファイルシステム
3-4-3 ファイルシステムを操作するコマンド

3-4-4 カーネルとライブラリとアプリケーション

3-5 アプリケーションの動作

3-5-1 lsコマンドの動作

3-5-2 straceで動作を追う

3-6 Linuxカーネルの構築

3-6-1 ソースコードの準備

3-6-2 ビルド設定方法

3-6-3 ビルド方法

3-7 Debian GNU/Linuxでのカーネル構築方法

3-7-1 ビルドの準備とソースパッケージの取得

3-7-2 ビルド設定

3-7-3 パッケージのビルド

3-7-4 パッケージのインストール

3-8 CentOSでのカーネル構築方法

3-8-1 ソースパッケージの取得

3-8-2 ソースパッケージの展開

3-8-3 ビルド設定

3-8-4 パッケージのビルド

3-8-5 VanillaカーネルからカーネルRPMパッケージを作成する

3-8-6 パッケージのインストール

3-9 UNIXデバイス

3-9-1 デバイスファイルの種類

  • ブロックデバイス
  • キャラクタデバイス
3-9-2 メジャー番号とマイナー番号

第4章 X Window System

4-1 X Window Systemの構成

4-1-1 X Window Systemとは

  • クライアント/サーバ
4-1-2 Xプロトコル

4-1-3 XFree86とXorg

4-1-4 Xユーティリティ

4-1-5 Xセッション

4-1-6 Xセッションマネージャ

4-2 Xのアクセス制御

4-2-1 xhost

4-2-2 xauth

4-3 Xの設定

4-3-1 xorgconfの生成

4-3-2 xorgconfの内容

  • 基本フォーマット
  • xorgconfのサンプル
  • キーボードとマウスの設定
  • ビデオカードの設定
  • ディスプレイの設定
4-3-3 xorgconfd

4-4 Xの起動

4-4-1 Xの起動の流れ

4-4-2 xinitとstartx

  • startx(1)の実行(Ubuntu)
  • startx(1)の実行(CentOS)

4-5 Xディスプレイマネージャ

4-5-1 Xディスプレイマネージャとは

4-5-2 XDMCP

4-6 Xサーバのログ

4-6-1 Xサーバのログの見方

第5章 スクリプトとシステム設定ファイル

5-1 起動スクリプトと設定ファイル

5-1-1 sysvinit

5-1-2 upstart

  • ジョブの記述方法
  • initctlを使う
  • upstartの動作(CentOS)
  • upstartの動作(Ubuntu)
  • 独自ジョブファイルの作成
5-1-3 systemd

  • systemdの構成
  • systemdのユニット
  • systemdの利用コマンド
  • systemdの設定ファイル
  • サービスの登録・起動・停止・再起動
5-1-4 パーティションとマウントポイントを紐付ける(/etc/fstab)

5-1-5 コマンドライン入力支援ライブラリ(/etc/inputrc)

5-2 ユーザとグループ定義ファイル

5-2-1 UNIXにおけるユーザとグループ

5-2-2 パスワードファイル(/etc/passwd)

5-2-3 暗号化したパスワードを格納する(/etc/shadow)

5-2-4 ユーザグループファイル(/etc/group,/etc/gshadow)

5-3 ネットワーク設定スクリプト

5-3-1 Linuxのネットワーク機能

5-3-2 TCP/IP

  • TCP/IPとは
  • IPアドレス
5-3-3 ネットワーク設定の動作

  • ネットワークインタフェース設定ファイル(CentOS)
  • ネットワークインタフェース設定ファイル(Debian)
5-3-4 名前解決問い合わせ用DNSサーバを指定する(/etc/resolvconf)

  • 名前解決の必要性
  • DNSの種類(コンテンツサーバ・キャッシュサーバ)
  • 名前解決の方法
  • resolv.confの書式

5-4 パケットフィルタリング

5-4-1 Linuxでiptables/Netfilterを動作させる

5-4-2 TCP/IPとICMPとパケットフィルタ

5-4-3 iptablesの書き方

  • ルール=マッチング+ターゲット
  • チェイン=ルール+ルール+……
  • テーブル=チェイン+チェイン
5-4-4 ロギング

5-4-5 パケットフィルタスクリプトの作成

5-4-6 デバッグ方法

5-4-7 iptablesルール起動スクリプト

5-5 udev

5-5-1 udevの設定ファイル

5-5-2 udevルールファイル

5-6 httpd起動スクリプト

5-6-1 httpd起動スクリプト(CentOS)

5-6-2 httpd起動スクリプト(Debian)

第6章 アプリケーションサーバ

6-1 SSHサーバ

6-1-1 SSHとは

6-1-2 SSHデーモン

6-1-3 SSHデーモンの設定ファイル

  • sshd_configの内容(Ubuntu)
  • sshd_configの内容(CentOS)
6-1-4 SSHクライアントの設定

6-2 ネットワークファイルシステム

6-2-1 NFS

6-2-2 Samba

  • smb.confの内容
  • smbclientによる接続
  • ファイルマネージャ「Nautilus」
6-2-3 WebDAV

  • httpd-davconfの内容
  • WebDAVの設定例
  • WebDAVへのアクセス

6-3 Apache(httpdサーバ)

6-3-1 Apacheとは

6-3-2 Apacheの設定ファイル

  • 設定ファイルの内容(CentOS)
  • 設定ファイルの内容(Debian)

6-4 Postfix(SMTPサーバ)

6-4-1 メールシステムの概要

6-4-2 SMTPサーバ Postfix

  • Postfixとは
  • Postfixと協調するデーモン
  • 設定ファイルの内容(Debian)
  • 設定ファイルの内容(CentOS)
  • telnetを使ってSMTPサーバと会話する

第7章 システム管理

7-1 syslogd

7-1-1 syslogとは

7-1-2 syslogの記録内容

7-1-3 ファシリティとプライオリティ

7-1-4 設定ファイル(rsyslog)

7-1-5 syslogデーモン運用の注意点

  • 時刻は各サーバで合わせよう
  • syslogを信用しきってよいのか

7-2 cron

7-2-1 cronデーモン

7-2-2 cronの設定ファイル

  • 設定ファイル(Ubuntu)
  • 設定ファイル(CentOS)
7-2-3 ユーザごとのcron設定ファイル

  • crontabによる設定
  • ユーザごとのアクセス制御
7-2-4 設定の確認

7-2-5 ログローテーション

  • ログローテーションとは
  • ログローテーションの処理手順

7-3 anacron

7-3-1 anacronとは

7-3-2 anacronの実行

7-4 at

7-4-1 atとは

7-4-2 ジョブキューの確認と出力

第8章 認証

8-1 認証

8-1-1 認証とは

8-1-2 Linuxの認証の流れ

8-2 PAMによる認証

8-2-1 PAMとは

8-2-2 PAMの設定ファイル

  • /etc/pamdの記述フォーマット
  • /etc/pamdの記述例

8-3 LDAPによる認証

8-3-1 LDAPとは

8-3-2 OpenLDAPの設定

  • OpenLDAPの稼働に必要なもの
  • LDIF
  • slapdconfをLDIFに変換する
  • 新規でOpenLDAPを設定する
  • LDAPとシステムの連携
  • LDAPとPAMの連携
  • デバッグ方法

8-4 SSH公開鍵認証

8-4-1 公開鍵暗号

  • 公開鍵と秘密鍵の違い
  • SSHサーバの公開鍵
8-4-2 SSHでの公開鍵認証

  • 公開鍵の有効化
  • SSHサーバにおける公開鍵の設定
  • SSHクライアントでのデバッグ

著者プロフィール

沓名亮典(くつなりょうすけ)

愛知県安城市出身,東京都在住。大学卒業後,(株)テンアートニ(現サイオステクノロジー)にてLinuxでのSI業務,( 株)ネットワーク応用通信研究所に移籍後はSI業務のほか,医療機関向けにサポートが切れたOSS OSのサポートなどに従事。Rubyの会社にいて,一番Rubyが書けない人。趣味は嫁,ムスメ,料理,呑み,サーフィン,スノーボード,ランニング。著書に『Red Hat Linux 7.2入門キット』(秀和システム,共著)『Red Hat Linux活用ガイド』(秀和システム),『【改訂新版】Linuxコマンドポケットリファレンス』(技術評論社,共著),雑誌『Software Design』などへの寄稿も少々。