amarron2’s blog

linuxや資格関係の記事を書きます。基本自分用のメモです。

linux コマンド メモ

f:id:Amarron:20160626221405p:plain

  • 個人的によく使うコマンドのメモ
  • 増えたら追記します

ファイル


ファイル名検索

// ファイル名検索
$ find . -name "*ファイル名*" -ls

// ファイルを探して削除
$find . -name “*ファイル名*” -exec rm -rf {} \;

// ファイルを探して削除2
$find . -name “*ファイル名*” | xargs rm

// テキスト内検索
$ find ./ -type f -print | xargs grep '検索文字' 2> /dev/null 

ファイル名検索(macOS

$ mdfind -name ファイル名
$ mdfind -onlyin ~/Documents 検索キーワード

ファイル名一括置換

// ファイル名一括置換
for F in 検索文字*; do mv $F ${F/検索文字/置換文字};done

// 使用例
for F in *.png; do mv $F ${F/.png/@2x.png};done

// 使用例2
$ for F in *.txt; do 
> mv $F $(basename $F .txt).csv
> done

zip圧縮

$ zip -r mydir.zip ./mydir

// 圧縮例(パスワード付き)
$ zip -e -r test.zip ./test
Enter password:    # パスを聞かれるので設定する
Verify password:   # 確認のためもう一度パスを入力

// 解凍例
$ unzip test.zip

データ取得

// wget
// htmlファイル取得
$ wget example.com

// htmlファイル取得(再帰)
$ wget -r example.com
// curl
// html表示
$ curl example.com

// レスポンスヘッダ
$ curl --head httpbin.org/ip
$ curl --dump-header - httpbin.org/ip

// post
$ curl -d 'id=1&name=jack' http://httpbin.org/post

// httpsでpost、レスポンスヘッダのみ表示
$ curl --dump-header - -k https://httpbin.org/post -X POST -d "id=1" -d "name=jack”
// scp
// 書式
scp コピー元ファイル [ユーザー名@]コピー先ホスト:[コピー先ファイル名]
scp [ユーザー名@]コピー元ホスト:コピー元ファイル名 コピー先ファイル名

// ダウンロード(yoursite.comのホームディレクトリ直下のhoge.txtをクライアントのデスクトップへDLする)
$ scp manager@yoursite.com:hoge.txt ~/Desktop/

// アップロード(公開鍵をアップロード)
 scp -p ./id_rsa manager@yoursite.com:~/.ssh/my_rsa

コマンド履歴

// gitの利用履歴を表示の例
$  history | grep git

サーバ情報確認

  • pingでネットワーク疎通して、応答がなかったらtracerouteでどこに原因があるか調べる
  • ルーティングテーブル(netstat -r)でルーターやネットワーク接続されたコンピュータが持つ、個々のネットワークの宛先への経路の一覧

システム情報

// 自分のシステム情報の確認
$ cat /etc/issue // ディストリビューション名
CentOS release 6.6 (Final)
Kernel \r on an \m 
$ uname -n // ホスト名
localhost.localdomain
$ uname -s // OS名
Linux
$ uname -v // OSのバージョン
#1 SMP Wed Jun 12 03:34:52 UTC 2013
$ uname -a // 全情報
Linux localhost.localdomain 2.6.32-358.11.1.el6.x86_64 #1 SMP Wed Jun 12 03:34:52 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
$ hostname // ホスト名の確認及び設定ができる
localhost.localdomain
// サーバソフトとバージョンの確認
$  wget --spider -S 192.168.0.2
Spider mode enabled. Check if remote file exists.
--2015-11-01 01:03:16--  http://192.168.0.2/
Connecting to 192.168.0.2:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Server: nginx/1.6.2 // ←ここで確認
  Date: Mon, 31 Oct 2015 16:03:16 GMT
  Content-Type: text/html
  Content-Length: 11104
  Last-Modified: Sun, 11 Sep 2015 07:20:58 GMT
  Connection: keep-alive
  ETag: "57d505da-2b60"
  Accept-Ranges: bytes
Length: 11104 (11K) [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.

容量

// 指定ディレクトリの使用料の合計が確認出来る
# du -hs /*
# du -h -x -d 1 /
// ディスク・ドライブの使用量
$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       8938240   1976480   6507720  24% /
tmpfs                   189764         0    189764   0% /dev/shm
/dev/sda1               495844     77949    392295  17% /boot
vagrant              233591456 123086244 110505212  53% /vagrant

ポート

// クライアントのポート確認(ポート指定)
$ netstat -an | grep 80
tcp        0      0 :::80                       :::*                        LISTEN      
udp        0      0 0.0.0.0:802                 0.0.0.0:*                               
unix  7      [ ]         DGRAM                    8071   /dev/log
$ lsof -i:80
COMMAND    PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
VBoxHeadl 6812 jack   18u  IPv4 0xbf14137b3bb49b2f      0t0  TCP *:http-alt (LISTEN)

// 自ポート確認(Listenしているポート)
$ netstat -an |grep LISTEN

// ファイルが何で使用しているか確認
// 参考:http://qiita.com/yusabana/items/fd03ee4c90a0d1e0a8c6 
% lsof /var/log/system.log
COMMAND   PID      USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
tail    97529 USERNAME    3r   REG    1,2   498299 12085861 /private/var/log/system.log
// /var/log/system.logはtailコマンドで開いていることがわかりる
// ルーティングテーブル確認(ルーティングテーブルとは、ルータや端末が保持するパケットの配送先に関する経路情報)
$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.2.0        *               255.255.255.0   U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
default         10.0.2.2        0.0.0.0         UG        0 0          0 eth0
// ホストのポート確認
$ nmap example.com
・・・
PORT     STATE  SERVICE
21/tcp   open   ftp
80/tcp   open   http
443/tcp  open   https
1119/tcp closed bnetgame
・・・

ドメイン

// ドメイン情報取得
$ whois yahoo.jp
・・・
Domain Information: [ドメイン情報]
[Domain Name]                   YAHOO.JP
[登録者名]                      ヤフー株式会社
・・・
// DNSサーバーから詳細情報を取得(nslookupは非推奨のためdig)
// 183.79.23.196と183.79.227.111の2台が、yahoo.jpのドメインに紐付いている
$ dig yahoo.jp
・・・
;; ANSWER SECTION:
yahoo.jp.       222 IN  A   183.79.23.196
yahoo.jp.       222 IN  A   183.79.227.111
・・・
// ドメインを管理しているネームサーバー
$ dig yahoo.jp ns
・・・
;; ANSWER SECTION:
yahoo.jp.       1127    IN  NS  ns01.yahoo.co.jp.
yahoo.jp.       1127    IN  NS  ns12.yahoo.co.jp.
yahoo.jp.       1127    IN  NS  ns02.yahoo.co.jp.
yahoo.jp.       1127    IN  NS  ns11.yahoo.co.jp.
・・・

// nslookupの場合
$ nslookup yahoo.jp
Server:     10.0.2.3
Address:    10.0.2.3#53

Non-authoritative answer:
Name:   yahoo.jp
Address: 183.79.227.111
Name:   yahoo.jp
Address: 183.79.23.196
// DNSサーバを使ってホストやドメインに関する情報を表示する
$ host example.com
example.com has address 93.184.216.119
$ host 93.184.216.119
119.216.184.93.in-addr.arpa domain name pointer example.com.

その他参考

jobsで実行中のジョブを確認

  • 「jobs」コマンドで実行中のジョブを確認出来る
    1. コマンド実行
    2. 「Ctr+z」で処理一時停止
    3. 「jobs」コマンドでジョブ番号を確認し、再開または停止を実行する
      • フォアグラウンドで再開:「fg ジョブ番号」
      • バックグラウンドで再開:「bg ジョブ番号」(1. コマンド実行の時に「&」をつけて実行した場合と同じ)
      • 停止:「ps」コマンドでプロセスIDを確認し、「kill プロセスID」で処理を停止(「jobs」コマンドで一覧からジョブが削除されている)

killでプロセスを終了

  • 「kill」コマンドでプロセスを終了できる
    • シグナルIDは「15」が通常終了、「9」が強制終了
    • 「kill 560」も「kill -15 560」も「kill -TERM 560」も「kill -s 15 560」も「kill -SIGTERM 560」も全て同じ結果
killコマンド書式)
kill -[シグナル名またはシグナルID] PID
kill -s [シグナル名またはシグナルID] PID
kill -SIGシグナル名 PID
シグナル名 シグナルID 動作
HUP 1 ハングアップ(設定の再読み込みがしたいときに使う)
INT 2 キーボードからの割り込み(Ctrl+C)
KILL 9 強制終了
TERM 15 終了(デフォルト)
CONT 18 停止しているプロセスを再開
STOP 19 一時停止

ログの調査

  • 「tail」コマンドでログファイルを監視できる
  • grep」コマンド併用で特定のメッセージを調べられる
  • 「who」コマンドでログイン中のユーザーが調べられる
  • 「w」コマンドでログイン中のユーザー及びシステム情報も調べられる
  • 「last」コマンドで最近ログインしたユーザー一覧を表示します
ログファイル コマンド 説明
/var/log/messages less,tail,grep 一般的なシステム関連のメッセージ
/var/log/secure less,tail,grep セキュリティに関するメッセージ
/var/log/wtmp last 最近ログインしたユーザー
/var/run/utmp who,w ログイン中のユーザー
/var/log/lastlog lastlog ユーザーごとのログイン情報
ログの書式)
Nov  9 06:46:59 localhost kernel: starting
①               ②        ③      ④
①日時
②出力元ホスト名
③メッセージ出力元
④メッセージ
grepの例)
[root@localhost ~]# grep eth0 /var/log/messages
Nov  9 05:33:05 localhost kernel: e1000 0000:00:03.0: eth0: (PCI:33MHz:32-bit) 08:00:27:9a:38:87

公開鍵認証(SSH

公開鍵 ファイル
自分の公開鍵 ~/.ssh/id_[rsa1,rsa,dsa等].pub
SSHクライアント側にある、サーバの公開鍵 ~/.ssh/known_hosts
SSHサーバ側にある、クライアントの公開鍵 ~/.ssh/authorized_keys
// 公開鍵認証の流れ
// 1. 公開鍵と秘密鍵を作成(クライアント側)
[hoge@client ~]$ ssh-keygen -t rsa
// 対話的に作成しパスフレーズを入力する
// 「~/.ssh/id_rsa.pub」と「~/.ssh/id_rsa_key」が作成される

// 2. 作成した公開鍵をサーバへscpで転送(クライアント側)
[hoge@client ~]$ scp ~/.ssh/id_rsa.pub yourserver.com:publickey

// 3. クライアントから送られた公開鍵をクライアント用の公開鍵に追記(サーバ側)
[foo@yourserver.com]$ cat publickey >> ~/.ssh/authorized_keys

// 4. クライアント用の公開鍵の権限を所有者のみ読み書き出来るよう変更する※1(サーバ側)
[foo@yourserver.com]$ chmod 600 ~/.ssh/authorized_keys

// 5. サーバへ公開鍵認証でログインできるようになる(クライアント側)
[hoge@client ~]$ ssh foo@yourserver.com
// 1.で作成したパスフレーズを入力してログイン
// 毎回パスフレーズを入力したくなければ「ssh-agent」コマンドを実行すると省略できる

// 6. 通常ログインでの接続を禁止する(鍵認証のみログイン可能にする)
$ sudo vi /etc/ssh/sshd_config
PasswordAuthentication no

// 7. sshの再起動
// ubuntの場合
$ sudo /etc/init.d/ssh restart

// centOS7の場合
$ sudo systemctl start sshd.service


※1. 所有者以外のユーザに書き込み権限を与えてしまうと、ユーザの把握しない鍵が勝手に登録され、ログインされてしまう可能性が生じる

ファイナンシャルプランナー3級 感想

f:id:Amarron:20160522170208j:plain

  • ファイナンシャルプランナー3級を勉強したので自分用の備忘録として残します
  • 記事の内容
    1. 感想
    2. 学習方法
    3. 学習まとめ(時間切れで途中までしか書けていないです。。。時間が出来たら追記します)

1. 感想


  • 資格自体が簡単(車の学科より簡単だと思う)
    • 内容が簡単というより、試験が簡単(二択だったり、三択でも何となく分かるような表現が多い)
    • 勉強をしていて最初の方は簡単な内容だから楽勝だろって思ってたけど意外と覚えること多い(広く浅く)
    • 数字を覚えるのが辛い
      • 何パーセント、何月何日、何年間、上限いくら、みたいな
  • 内容が実生活に使えそう
    • 自分のライフイベントやキャッシュフロー表とか作ってみると将来設計が具体的になって良いかも
  • 資格を取ったからといって、FPの真似事をしようとは思わない
    • プライベートな情報を取り扱うので、身近な人の相談に乗ると人間関係に影響しそう
    • 能力的にも資格を持っているだけで実務能力はないので、ベストな提案が出来るとは思えない(キャッシュフロー表とか作るの面倒だし)
    • あくまでも自分がFPに相談した時に円滑に相談できたり、自分がその問題に親身になって考えられる基礎知識として身につけるまで
  • 参考書に出てくる相続の章で、億単位の金が出てきて、自分は億万長者ではないから関係ないと思ってしまう
  • 試験先がきんざいとFP協会と二つ選択肢があって申込時少し混乱した(実義試験の内容が異なる)

思ったこととか

  • うつ病ってことで、傷病手当金をもらって1年半したら会社辞めて失業手当もらったら実質1年9ヶ月分以上は何もしなくてもお金もらえるんじゃないか(有給残ってたらさらにプラス出来るんじゃね、その間は社会保険料って会社が半分負担してくれるのだろうか?)
  • 正社員じゃないと、社会保険が痛い(個人事業主や派遣だと厚生年金や健康保険が全額負担だったり(正社員は半額負担)、健康保険を国民健康保険にした場合、出産手当金や傷病手当金が貰えない)
  • 育児は、出産育児一時金と出産手当、育児休業給付と色々な手当が多い
  • 生命保険文化センターの調査では、老後に必要な最低生活費は夫婦2人で月額223,000円、ゆとりある生活では月間366,000円が必要らしい
  • 学生の時とか年金免除されるけど、支払ったほうが制度的には得っぽい
  • 保険業は金儲けに走ってはいけないというのは分かるけど、保険会社の人とか金儲けしてそう(美人ねーちゃんががっぽり儲けている話をよく聞くし)
  • マイナス金利で預金準備率操作されると、銀行は一定額日銀に預けないといけないからきつくない?(そこは金利免除されるのかな)
  • 日本では、土地を所有できるけど結局税金かかってるから借りてるのとお金的には変わらない気がしてきた(払えないと没収されるし)
  • 相続税の計算ステップ多すぎだろ、各人に分けて全部合算してまた各人に分けて合算とかやめてくれ、最初の各人の課税価格を計算で終わりで良い気がする
    1. 各人の課税価格を計算(分割して計算)
    2. 相続税の総額を計算(分割を合算して、また分割して合算)
    3. 各人の納付額を計算(合算を分割する)
  • →合算して相続税を出さないと、分配の割合で税金が変わって脱税対策ができてしまうからやっているのかも
  • 配偶者は、1億6千万円以下は相続税がかからないって強力すぎない?大体の人が相続税かからない気がする(20年一緒にいる縛りがあるから難易度高めだけど)
    • 大体の場合、相続税と贈与税だったら、基礎控除がある分相続した方が税金の支払いが少ない。
    • 相続税基礎控除の最低額は3600万円(基礎3000万+600万X人数)で、贈与税は毎年110万円。(毎年100万贈与してたら良いのかも)祝い金は毎年1000万円位まで非課税にできそう。贈与時に、相続時精算課税制度を使えば合計で2,500万円までは非課税になる。
  • 相続する資産が受け取る人単位で2,500万円以下なら相続ではなく、相続時精算課税制度を使って贈与したほうが税金が低い(相続時精算課税制度は2,500万円以下の場合、非課税)
  • 厚生年金の保険料は約18%

2. 学習方法


  • 学習用資料(分かりやすいし、堅っ苦しくなくて楽しめる読める。他の読んでないので比較出来てないけどオススメ!)
  • 学習方法
    1. 1回参考書を軽く読む(全体の流れを掴む)
    2. 2回目は少し細かく読む、章ごとに問題集を問いて理解を深める(問題集はネットから無料で見れるけど、解説とか付いてる分問題集は買った方が労力的にお得)
    3. 過去問をひたすら解く(細かい部分(数字関係)の記憶は過去問で補う)

実義用

  • 6つの係数(1.FP)
  • 利回り(3.金融、債権)
  • PERとPBR(3.金融、株)
  • 建ぺい率と容積率(5.不動産)
  • 相続分(6.相続)

試験結果

  • 2016年5月22日に試験を受ける(日本フィナンシャル・プランナーズ協会の方が簡単だと聞いたのでFP協会で受ける)
  • 自己採点だと、学科は7割5分、実義は9割正解だったので合格だと思う→合格してました♪
  • 勉強時間は、30時間ちょっと(時間割は、1ヶ月前に本をざっくり読んで(5〜10時間位)、2週間位読むのをやめて、ラスト2週間で熟読(10〜20時間)、前日に過去問10時間位)

3. 学習まとめ


1. ライフプランニングと資金計画


  1. FPと論理
  2. ライフプランニングの手法
  3. ライフプラン策定上の資金計画
  4. 社会保険
  5. 公的年金
  6. 公的年金の給付
  7. 企業年金
  8. 年金と税金

1. FPと論理

  • ファイナンシャルプランナー(FP)とは
    • ライフプランを実現すべく資金計画をたてることをファイナンシャル・プランニングといい、それを行う専門家をファイナンシャル・プランナー(FP)という
    • ライフプランニングとは、一生独身でいたい、子供は持たない、子供を私立の学校に通わせたい、退職後は海外で生活したいなど、個人の人生における価値観や生き方をライフデザインといい、ライフデザインに応じて生活設計(ライフプラン)をたてること
  • FPの職業的原則
    • 顧客の利益優先
    • 秘密の保持(顧客の収入、資産・負債状況、家庭事情、プライベートな情報を扱う)
  • FPと関連法規
    • 弁護士法、税理士法金融商品取引法保険業法など専門の資格(弁護士資格や税理士資格など)がない場合、その分野具体的な説明や判断はしてはならない
    • 一般的な解説や仮説の事例を用いた説明はしてもよい

2. ライフプランニングの手法

  • ライフイベントと3大必要資金
    • ライフイベントとは、結婚、子供の教育、住宅の取得、退職など人の一生における出来事のこと
    • 3大必要資金は次の3つ
      • 教育資金
      • 住宅資金
      • 老後資金
  • ライフプランニングの手法
    • 手順
      1. 顧客の希望や目的、現状を聞く
      2. 1で収集した情報をもとに問題点の分析
      3. 2で明らかになった問題点を元に対策とプランを立案
      4. プランの実行を支援
    • ツール
      • ライフイベント表:家族の将来のライフイベントと必要な資金額を時系列にまとめた表
      • キャッシュフロー表:ライフイベント表をもとに将来の収支状況と貯蓄残高の予想をまとめた表
      • 個人バランスシート:一定時点における資産と負債のバランスをみるための表(簿記のBSと同じ感じ)
  • 資金計画を立てるさいの6つの係数
係数 内容
終価係数 複利で運営した場合の一定期間後の金額を求める係数
(100万円を年利2%で運用した場合の5年後の金額はいくら?)
現価係数 一定期間後に達するために必要な元金を求める係数
(年利2%で5年後に100万円を用意するためには元金いくら必要?)
年金終価係数 毎年一定額を積み立てた場合の一定期間後の元利合計を求める係数
(年利2%、毎年20万円を5年間積立場合の5年後の金額はいくら?)
減債基金件数 一定期間後に一定金額用意するための毎年の積立額を計算するための係数
(年利2%、5年後に100万用意するには毎年いくら積み立てる必要があるか?)
資本回収係数 現在の一定金額を一定期間で取り崩した場合の毎年の受取額を計算するための係数
(100万円を年利2%で運用しながら5年かで取り崩した場合の毎年の受取額はいくら?)
年金原価係数 将来の一定期間にわたって一定額を受け取るために必要な元本を計算するための係数
(5年間にわたって20万円ずつ受け取る場合、年利が2%のとき必要な元本はいくらか?)

3. ライフプラン策定上の資金計画

  • 教育資金プランニング
    • こども保険:入学金や進学時に祝をもらえる(貯蓄機能)、親が死亡後保険料の支払いが免除(保証機能)
    • 教育ローン:学生1人につき最高350万円融資、日本政策金融公庫が融資元
    • 日本学生支援機構奨学金制度:第一種奨学金(無利息)と第二種(利息付)がある
  • 住宅取得プランニング
    • 住宅購入時は物件価格の約三割(頭金2割+登記費用1割)を自己資金で準備する
    • 財形住宅貯蓄、住宅ローン金利、住宅ローンの返済方法、住宅ローンの種類、繰り上げ返済、借換え
  • 老後資金プランニング
    • 老後生活費の計算(退職金、年金、貯蓄をもとに計算)
    • 生命保険文化センターの調査では、最低生活費は夫婦2人で月額223,000円、ゆとりある生活では月間366,000円

4. 社会保険

  • 社会保険の種類
  • 公的医療保険
    • 健康保険、国民健康保険後期高齢者医療制度がある
    • 健康保険:会社員とその家族が対象
      • 労災保険の給付対象外の病気や怪我などの保険給付制度
      • 保険者は、協力けんぽ(全国健康保険協会、主に中小企業の会社員)と組合健保(健康保険組合、主に大手企業の会社員)がある
        • 高額医療費は、年収で自己負担額の上限が変わる
        • 出産育児一時金(または家族出産育児一時金)は、出産した場合42万が支給される(夫婦がともに健康保険に入っている場合はどちらか片方のみ支給される)
        • 出産手当金は、出産前の42日間、出産後の56日前で給料の2/3を日額計算で支給される(仕事を休んだ日数分だけなので、早く復帰したらその日数分は支給されない)
        • 傷病手当金は、病気ケガを理由に3日以上続けて休み給料が支給されない場合、4日目から最長1年6ヶ月間支給される
        • 埋葬料、家族埋葬料
      • 退職しても一定の条件を満たせば2年間、退職前の健康保険を継続できる
    • 国民健康保険:自営業者とその家族が対象
      • 健康保険に比べて出産手当金と傷病手当金がない(会社員でないので日割計算で支給されることがない)
    • 後期高齢者医療制度:75歳以上の人が対象
      • 自己負担額は医療費の1割、保険料は年金から天引き
  • 公的医療保険(退職者向)
    • 「健康保険の任意継続」または「国民健康保険に加入」または「家族の扶養」
  • 公的介護保険
    • 介護が必要な場合、程度に応じて給付される
    • 被保険者は、65才以上が第一被保険者
    • 被保険者は、40~64才が第二被保険者
  • 労働者被害補償保険(労災保険
    • 業務上や通勤途上における労働者の病気、ケガ、障害、死亡などに対して給付される
    • 保険料は、全額事業主が負担
  • 雇用保険
    • 労働者が失業した場合の給付、再就職を援助する
    • 保険料は、事業主と労働者が負担(負担する割合は業種で異なる)
    • 支給額は、45~80%
    • 自己都合の場合
      • 支給期間は、勤務期間が10年未満だと90日、10〜19年だと120日、20年以上だと150日
      • 受給要件は、被保険者期間が2年以内に通算1年以上
      • 待機期間は、7日(待機期間)+3ヶ月
    • 会社都合の場合は、だいたい支給期間は倍くらい、受給要件は半分、待機期間は7日となる
    • 教育訓練給付:一般教育と専門実施教育があり、一部(20~40%相当の)費用を給付してくれる
    • 雇用継続給付金
      • 高年齢雇用継続給付:60~65才までが受けられる、賃金が60才の時より75%未満の場合、賃金の最大15%が支給される
      • 育児休業給付:1才2ヶ月になるまで、休業前の賃金の50%が支給される(1才6ヶ月未満の子が対象)
      • 介護休業給付:休業前の賃金の40%が支給される

5. 公的年金

6. 公的年金の給付

  • 公的年金の給付には、老齢給付、障害基礎給付、遺族給付がある(国民年金、厚生年金、共済年金の給付内訳)
    • 老齢給付(老齢基礎年金
      • 受給要件:受給資格期間(保険料納付期間+保険料免除期間+合算対象期間)が25年位以上
      • 受給開始日:65才。早く(繰り上げ受給)したり遅く(繰り下げ受給)したりもできる(早いと給付額が低く、遅いと給付額が高く給付される)
      • 給付額:780,100円/年(免除期間などある場合もう少し低くなる)
    • 老齢給付(老齢厚生年金
      • 受給要件:厚生年金保険の被保険者期間が1ヶ月以上あること
      • 受給開始日:65才。(平成16年生まれ以前は60才から給付されう生まれた年によって支給開始日が異なる)(繰り上げ受給と繰り下げ受給もある)
      • 給付額:収めた年金によって異なる(定額部分+報酬披瀝部分+加給年金)
        • 加給年金とは、年金の家族手当のようなもの配偶者や子がある場合支給される
    • 障害給付
    • 遺族給付
      • 国民年金と厚生年金、共済年金がある(遺族基礎年金、遺族厚生年金、遺族共済年金
      • 死亡したに人に生計を維持されていた子または子のある配偶者(子は18才未満まで、子が障害等級の場合は20才まで)
      • 遺族基礎年金額:780,100円+子の加算額(2245,00円、第3子以降は74,800円)
  • その他
    • 受給資格を満たしているが受け取らずに死亡した場合、寡婦年金や遺族厚生年金などで遺族が受け取れる

7. 企業年金

  • 企業年金とは、公的年金を保管することを目的とし、企業が任意に設けている制度
  • 確定給付型と確定拠出型がある
    • 確定給付型:将来支払われる年金額が決まっているタイプ
    • 確定拠出型:一定の掛け金を加入者が拠出・運用し運用結果で将来の年金額が決まるタイプ
  • 自営業のための年金制度
    • 付加年金:国民年金に400円プラスして支払い、受給時に毎年2万4000円(200円*120ヶ月)もらい続ける(2年で返済できる、納付:400円×120月(10年間)=4万8000円、給付:2万4000円×2年=4万8000円)
    • 国民年金基金国民年金と合算して68,00円/月まで上乗せして納付できる
    • 小規模企業共済:従業員が20人以下の事業主・役員のための退職金制度、掛金は1,000~70,000円/月

8. 年金と税金

  • 支払い時と受け取り時で税金の取り扱いが違う
    • 支払い時:全額控除
    • 受取り時:雑経費して課税される(公的年金等控除が適用され少なく計算される)

2. リスクマネジメント


  1. 保険の基本
    • 私的保険には、生命保険、障害保険、第三分野の保険がある
  2. 生命保険
  3. 障害保険
  4. 第三分野の保険

1.保険の基本

  • リスクマネジメントとは
    • 日常生活の自己や病気などのリスクが生じた時に、そのダメージを会費・軽減するよう対策を立てること
    • リスクには次のようなものがある
      • 人に関するリスク:死亡、長生き、病気・ケガ
      • 物に関するリスク:住まい、自動車、動産(現金、商品など)
      • 損害賠償に関するリスク:他人の物、他人自体(ケガ、死亡させてしまう)
  • 保険の種類
  • 保険法
    • 保険に関するルールを定めた法律、原則として契約者に不利な内容は無効とする
    • 対象:生命保険、損害保険、第三分野の保険
    • 規定:契約統計辻の告知に関する規定、保険金の支払い時期に関する規定など
    • 時効:保険給付請求権は3年、保険料請求権は1年
  • 保険業法
    • 保険会社の健全かつ適切な運用、厚生な保険募集の確保により保険契約者等の保護を図ることを目的とした法律
    • 保険業者は内閣総理大臣の登録を受ける必要あり(共済は適用外)
  • 保険の原則
    • 大数の法則:少数では法則が見いだせないが、大数だと一定の法則があること(サイコロを1000回振るとほぼ均等になる)
    • 収支相等の法則:保険契約者が払う保険料と保険会社が支払う保険料(および経費)が等しくなるように算出
  • 契約者などの保護
    • 保険契約者保護機構は、保険会社が破綻した場合に契約者を保護するために、設立された法人
    • 保険会社は加入義務がある(少額短期保険業者や共済は加入義務無し)
  • クーリングオフ
    • 手続き:8日以内に申込の撤回または解除を書面で行う
    • 対象外:保険会社に出向いて契約した場合、保険期間が1年以内の場合、契約にあたって医師の検査を受けた場合
保険法の適用 保険業法の適用 保険契約者保護機構
の加入義務
保険会社等
少額短期保険業者
共済

2. 生命保険

  • 生命保険の種類
    • 死亡保険
    • 生存保険
    • 生死混合保険
  • 保険料
    • 保険料は、3つの予定基礎率で算定
      1. 予定死亡率:統計にもとづいて、性別・年齢ごとに算出した死亡率
      2. 予定利率:保険会社があらかじめ見込んでいる運用利回り
      3. 予定事業費率:保険会社が運営するための必要な費用
    • 保険料の構成
      • 純保険料と付加保険料から構成される
        • 純保険料:保管会社が支払う保険金にあてる部分(死亡保険料、生存保険料)
        • 付加保険料:保険会社が事業を維持するための費用
  • 配当金
    • 保険には、配当金がある保険(有配当保険)とない保険(無配当保険)がある(一般的に無配当保険の方が保険料が安い)
    • 配当金は、剰余金(保険料から実際に掛かた費用を引いた額)を財源として、契約者に配当する
    • 3つの予定基礎率は厳しく見積もっているのでそれぞれで利益が出ることが多い
  • 契約
    • 告知義務:契約者は保険会社の質問に答えなければならない
    • 契約の責任開始日:申込、告知、初回保険料振り込みの全てが揃った日
  • 保険料の払込み
    • 支払い方法:一時払い、月払い、半年払い、年払いなど
    • 未払いの猶予がある(猶予期間を過ぎると失効し、失効しても一定期間内であれば復活できる)
  • 生命保険のタイプ
    • 基本的な生命保険のタイプには次のようなものがある
      • 定期保険:一定期間内に死亡した場合、死亡保険金が支払われる(満期有り、掛け捨て)
      • 終身保険:保険が一生涯続く、貯蓄性が高い(満期なし、解約返戻金有り)
      • 養老保険:一定期間内に死亡した場合、死亡保険金が支払われる、満期には保険金を受け取れる、(生死混合保険、満期有り)
    • 他にも生命保険のタイプは色々ある(定期保険特約付終身保険特定疾病保証保険、こども保険など)
  • 金保
    • 個人年金保険と変額個人年金保険がある(国民年金のように一定期間年金を受け取れる)
      • 個人年金保険:契約時に一定の年齢に達すると年金を受け取れる(受取り方が次のように分類されている)
        • 終身年金:生きている限り、一生年金を受け取れる(早く死ぬと受け取った額が支払った額より少なくなってしまう)
        • 確定年金:生死に関係なく、一定期間年金を受け取れる(原則元本割れはない)
        • 有期年金:生きている限り、一定期間年金を受け取れる(早く死ぬと受け取った額が支払った額より少なくなってしまう、終身年金より安い)
      • 変額個人年金保険:保険会社が株式や債権等を運用し、年金や解約返戻金を変動する
  • 特約:病気やケガの保証として生命保険の特約として付加できる(単独で契約はできない)
  • 契約を維持させるための制度・方法
    • 自動振替貸付制度:解約返戻金を限度として、建て替えてくれる
    • 契約者貸付制度:解約返戻金を限度として、貸付を受けられる
    • 払済保険:保険料の払込を中止し、解約返戻金を元に安い保険料に切り替え再契約
    • 延長保険:保険料の払込を中止し、解約返戻金を元に保険期間を短くして再契約
  • 生命保険と税
    • 1年間(1/1~12/31)に支払った保険料は、金額に応じて生命保険料控除として所得から控除出来る
    • 生命保険以外にも一定の条件を満たしていた場合、個人年金保険も同額の控除が受けられる
    • 満期保険金の税金は、契約者と受取人が同じ場合は所得税・住民税、違う場合は贈与税になる
    • 死亡保険金の税金は、次の表のような関係
契約者
(保険料払っている人)
被保険者
(死んだ人)
受取人
(保険金貰う人)
税金
A A B 相続税
A B A 所得税、住民税
A B C 贈与税
  • 法人契約の保険
    • 事業必要資金の準備:経営者の死亡によって倒産しないようにする事業必要準備金
    • 経理処理(法人で支払った生命保険の経理)
      • 損金算入:定期保険、特約等
      • 資産計上:養老保険終身保険、年金保
      • 損金算入(給与として):保険金の受取人が被保険者または被保険者の遺族の場合
    • 経理処理(法人で受け取った保険等の経理)
      • 全額、雑収入として益金に算入され法人税の課税対象になる(ただし保険料が資産計上されている場合は、保険料を差し引くことができる)

3. 障害保険

  • 障害保険の主な種類
  • 損害保険の原則
    • 生命保険と同様の大数の法則、収支相等の法則に加えて2つの原則がある
    • 給付・反対給付均等の原則(レクシスの原則):それぞれの危険に応じた保険料を負担しなけばならないという原則
    • 利得禁止の原則:保険金の受取によって儲けを得ることを禁止
  • 損害保険の構造
    • 生命保険と同様(純保険料と付加保険料)
  • 火災保険
    • 主な火災保険の種類は、住宅火災保険と住宅総合保険がある(住宅総合保険は火災以外にも水害、水漏れ、盗難、落下、持出家財の損害など)
    • 地震、噴火、津波は対象外
    • 軽過失により火災を起こした場合は隣家に損害を与えたとして賠償責任を負わなくてもよい(借家の場合は家主に対して損害責任を負う)
  • 地震保険
    • 地震、噴火、津波によって生じた火災について補填できる
    • 単独では加入できず火災保険とセットで契約
  • 自動車保険
    • 自賠責保険
      • 全ての自動車の所有者と運転者が必ず加入しなければならない保険
      • 補償対象:対人賠償事故のみ
      • 限度額:死亡で最高3,000万円、障害で最高120万円(後遺障害の場合最高4,000万円)
    • 任意加入の保険
      • 対人賠償保険、対物賠償保険、搭乗者障害保険、自損事故保険、無保険車障害保険、車両保険、人身傷害補償保険
  • 傷害保険
    • 日常生活におけるさまざまなケガに対して保険金が支払われる
      • 普通傷害保険
      • 交通事故障害保険
      • 国内旅行障害保険
      • 海外旅行障害保険
  • 賠償責任保険
    • 偶然の事故により、損害賠償責任を負ったときに補填される保険
      • 個人賠責任保険:日常生活における事故によって他人にケガをさせたり他人の物を壊した時
      • PL保険(生産物賠償責任保険):製造、販売した製品の欠陥により損害を与えた時(レストランの食中毒もOK)
  • 損害保険と税金
    • 支払う時:地震保険料は所得から控除出来る
    • 受け取る時:原則として非課税(死亡保険金、満期返戻金、年金として受け取る場合は生命保険と同様の扱い)

4. 第三分野の保険

  • 第三分野の保険とは
    • 生命保険と損害保険のいずれかのカテゴリーに属さない種類の保険で、 病気、ケガ、介護などに備える保険
  • 第三分野の保険の主な種類
    • 医療保険:病気やケガによる入院、手術に備える保険
    • がん保険:がんに限定した保険(がん診断給付金、がん入院給付金、がん手術給付金)
    • 介護保険:寝たきりや認知症の症状が一定期間続く場合に支払われる保険
    • 所得補償保険:病気やケガにより仕事が出来ない場合に支払われる保険

3. 金融資産運用


  1. 金融・経済の基本
  2. セーフティネットと関連法規
  3. 貯蓄型金融商品
  4. 債権
  5. 株式
  6. 投資信託
  7. その他(外貨建て金融商品ポートフォリオデリバティブ取引)

1. 金融・経済の基本

  • 景気の指標
    • 国内総生産GDP):国内の経済活動によって新に生み出された財・サービスの付加価値の合計
      • GDP三面等価の原則:生産=分配=支出(生産→分配→支出、これらは同一の価値の流れを異なる面からみだけで同じ値になる)
      • 内閣府が年4回発表する
    • 景気動向指数:景気の状況を統合的にみるために複数の指標を結合した景気指標
      • 景気動向指数には、次のような指数がある
        • 先行指数:未来を見る(新規求人数、新設住宅着工床面積、実質機械受注など)
        • 一致指数:現在を見る(鉄工業生産指数、大口電力使用量など)
        • 遅行指数:過去を見る(法人税収入、家計消費支出、完全失業率など)
      • 景気動向指数には、CIとDIがある(従来はDI中心に発表されていたが、現在はCI中心に発表されている)
        • CI(コンポジット・インデックス):景気変動のテンポや大きさを把握するための指標
        • DI(ディフュージョン・インデックス):景気の各経済部門への波及度合いを表す指標
      • 景気動向指数は、内閣府が毎月発表する
    • 日銀短観日本銀行が年4回3ヶ月後の景気動向に関する調査を行い集計したもの(実況判断DI(業況が良いであろうと答えた企業から悪いと答えた企業の割合を引く)が注目されている)
    • マネーストック:個人や法人(金融機関以外)、地方公共団体などが保有する通貨の総量
    • 物価指数:統合的な物価水準を指数(企業物価指数と消費物価指数)によって表したもの
      • 企業物価指数:企業間で取引される商品などの価格変動を表す指標(日本銀行が毎月発表)
      • 消費物価指数:全国の一般消費者が購入する商品やサービスの価格変動を表す指数(総務省が毎月発表)
  • 景気の影響
    • 景気のサイクル:景気は「不景気→景気の拡大→好景気→景気の下降→不景気」を繰り返す
    • インフレとデフレ
    • 景気、金利、物価、為替、株価の関係(国内価格が下落すると金利が下がる)
      • 景気と金利:景気が良いと金利が上がる、景気が悪いと金利が下がる(景気が良いと物を買う人が増えお金を借りる人が増えるため)
      • 物価と金利:物価が上がると金利も上がる、物価が下がると金利も下がる(物を買うためにお金が沢山必要だとお金を借りる人が増えるため)
      • 為替と金利:円高だと金利は下がる、円安だと金利が上がる(円安だと輸入製品の価格が上がるのでお金を借りる人が増えるため)
      • 景気と株価:景気が良いと株価が上がる、景気が悪いと株価が下がる
  • 金融の基本:お金の貸し借りをしている場
    • 短期金融市場と長期金融市場がある
      • 短期金融市場:取引期間が1年未満(インターバンク市場、オープン市場)
      • 長期金融市場:取引期間が1年以上(証券市場)
    • 新発10年国債利回り:新規に発行された、償還期間10年の国債の流通利回りのこと(住宅ローン金利や企業の長期資金借入利率の基準になる)
  • 金融政策:物価の安定を目的として日銀が行う政策
    • 公開市場操作:債権の売買で金融市場の資金量を調整(手形や国債の売買、売りオペレーション→金利を上昇させたい・買いオペレーション→金利を下落させたい)
    • 預金準備率操作:預金準備率の操作で金融市場の資金量を調整(預金準備率とは、金融機関が日銀に貯金を預ける一致の割合(義務))
  • 財政政策:不景気の時に財政赤字(集めた税金より沢山お金を使う)にして好況期には財政黒字にする

2. セーフティネットと関連法規

  • 金保険制度
    • 金融機関が破綻した場合、貯金者を保護する制度(1金融機関1貯金者の元本1,000万とその利息を保護)
      • 保護対象:預貯金、定期積金、元本補填契約のある金銭信託金融債(保護預り専用商品)
      • 保護対象外:外貨預金、譲渡性預金、元本補填契約のない金融信託金融席、(保護預り専用商品以外)、など
  • 投資者保護基金
    • 証券会社の破綻時に投資家が損害を被った場合、投資保護基金によって1人あたり最大1,000万円まで保証される
    • 資産管理には分別管理義務がある
      • 分別管理義務:証券会社は投資家から預かった金融資産と証券会社自身の資産は分けて管理する
  • 保護関連の法律
    • 金融商品販売法
      • 金融商品の販売について顧客を保護する法律
      • 金融商品を販売する際に重要事項の説明義務有り(説明義務を行って損害が発生した場合、損害賠償責任が発生する)
    • 消費者契約法
      • 消費者を保護する法律
      • 保護される対象は個人のみ(不適切な行為の場合、契約を取り消せる)
    • 金融商品取引法
      • 金融商品の取引について、投資家などを保護する法律
      • 適合性の原則:顧客の知識・経験・財産状況を目的に照らして不適切な勧誘を行ってはならない

3. 貯蓄型金融商品

  • 貯蓄型金融商品の基本
    • 貯蓄型金融商品とは、預貯金のことで元本が保証されていていつでも引き出せる商品
    • 用語:利率、利回り、単利、複利、固定金利、変動金利
    • 預貯金の利子は利子所得として課税される(20.315%(所得税15%、復興支援所得税0.315%、住民税5%)の源泉徴収課税となる)
  • 金融商品の種類

4. 債権

  • 債権の基本
    • 債権とは、国や企業などが投資信託からお金を借りるさいに発行する借用書のようなもの
    • 用語
      • 償還期限:返済期限(満期ともいう)
      • 発行価格:借入金額(新規発行される時の価格)
      • 額面金額:債権に記載された金額
      • 表面利率:額面金額に対する利率(クーポンレートともいう)
    • 債権の種類
      • 利払の方法(利付債、割引債)
      • 新規発行かどうか(新発債、既発債)
      • 円貸か外貨か(円建て債権、外貨建て債券)
    • 債権の発行価格
      • 額面100円あたりの価格で表示される
      • 額面100円と同じ金額で発行された場合バー発行、額面より低い価格の場合アンダー・バー発行、額面より高い価格の場合オーバー・バー発行という
    • 個人向け国債
      • 購入者を個人に限定した国債
      • 10、5、3年の固定金利型がある(10年は変動金利、それ以外は固定金利) - 最低保証金0.05%
  • 債権の利回り
    • 債権の利回りとは、当初の投資額に対する利息と償還差益の割合のこと
    • 利回りには次のような種類がある
      • 直接利回り:毎年の利息収入の割合
      • 応募者利回り:債券発行時に購入し、償還まで所有した場合の利回り
      • 最終利回り:既に発行されている債権を時価で購入し、償還まで所有した場合の利回り
      • 所有期間利回り:償還前に売却した場合の利回り
  • 債権のリスク
    • 価格変動リスク:市場金利の変動にともなって、債権の価格が変動するリスク(金利が上昇すると債権は下がる)
    • 信用リスク:債権の元本や利息の支払いが遅延したり、その一部または全部が支払われないリスク(デフォルトリスク、債務不履行リスクともいう)(格付けでAAA〜Dまである、BBB以上が投資適格債とされる)
    • 流動性リスク(今回は取り扱わない
    • 為替変動リスク(今回は取り扱わない)
  • 債権の税金
利付債 割引債
利息 20.315源泉分離課税 なし
償還差益 総合課税(雑所得) 発行時に18.378%源泉分離課税(雑所得)
売却益 非課税 非課税

5. 株式

  • 株式の基本
    • 株式とは、株式会社が資金調達のために発行する証券
    • 株主の権利には、「議決権」「剰余金分配請求権」「残余財産分配請求権」がある
    • 株式の購入単位は、原則として単元株の整数倍で購入
      • 単元株未満でも「株式累積投資」や「株式ミニ投資」で売買できる
    • 用語
      • 始値:その日の最初の株価
      • 高値:その日の最も高い株価
      • 安値:その日の最も安い株価
      • 終値:その日の最後の株価
      • 売買高:その日に取引された株数
      • ローソク足:株価の動きをあらわしたチャート(陽線(始値終値)と陰線(始値終値)がある)
  • 株式の取引
    • 注文方法の種類
      • 指値注文:売買価格を指定して注文(指定した価格より有利な価格で取引が成立することがある)
      • 成行注文:売買価格を指定しないで注文(指値注文より優先される)
  • 株式の指標
    • 相場指標
    • 株式投資に用いる指標
      • PER(株価収益率):Price Earning Rate
        • 株価が、1株あたり純利益(EPS)の何倍になっているかをみる指標
        • PER(倍) = 株価/1株あたり純利益(EPS)
      • PBR(株価純資産倍率):
        • 株価が、1株あたり純資産(BPS)の何倍になっているかをみる指標
        • PBR(倍) = 株価/1株あたり純資産(BPS
      • ROE自己資本利益率):Return On Equity
        • 株主が出資したお金(自己資本=純資産)を使って、どれだけの利益をあげたかをみる指標(ROEが高い会社は設け上手な会社、少しの元手で大きく稼げるか)
        • ROE(%) = 税引き後当期純利益/自己資本 X 100
      • 配当利回り
        • 投資額(株価)に対する配当金の割合
        • 配当利回り(%) = 1株あたり配当金/株価 X 100
      • 配当性向
        • 純利益に対する配当金の割合
        • 配当性向(%) = 配当金総額/税引き後当期純利益 X 100
  • 株式の税金
    • 配当金と売買益(譲渡益)に対して税金がかかる
      • 配当金:20.315%
      • 売買益(譲渡益):20.315%
    • NISA(少額投資非課税制度)を利用すると税金がかからない
      • 年間100万円までの投資にかかる売買益、配当金が非課税
      • 非課税の期間は5年間

6. 投資信託

  • 投資信託の基本
    • 投資信託とは、多数の投資家から資金を集めて株式や不動産などに分散投資し、利益を分配する金融商品
    • 用語
      • ファンド:運用資金のこと(一般的には投資信託の商品を指す)
      • 基準価額:投資信託の1口あたりの時価
      • 目論見書:ファンドの説明書
      • 運用報告書:運用実績や運用状況などの記載された書類
  • 投資信託の仕組み
    • 会社型と契約型がある(日本は、殆どが契約型なので契約型のみ説明)
      • 契約型:受益者(投資家)→販売会社→投資委託会社→信託銀行等→証券市場
        • 販売会社(証券会社など):ファンドの募集、販売など
        • 投資委託会社:目論見書、運用報告書の作成、運用の指図など
        • 信託銀行:信託財産の管理など
    • 投資信託のコスト
      • 購入時手数料:購入手数料費
      • 運用管理費用(信託報酬):運用管理費
      • 信託財産留保額:中途換金時にかかるコスト
        • 中途換金方法には「解約請求」と「買取請求」がある
  • 投資信託の分類
    • 投資対象による分類:公社債投資信託株式投資信託
    • 購入時期による分類:オープン型(追加型)(いつでも買える)、ユニット型(単位型)
    • 解約の可否による分類:オープンエンド形(いつでも売れる)、クローズドエンド型
    • 運用スタイルによる分類:インデックス運用ベンチマークに連動した運用を目指す)、アクティブ運用(ベンチマークを上回る運用を目指す)
  • 上場している投資信託
  • トータルリターン通知制度
    • 年1回以上トータルリターンを通知することが義務付けられている
  • 投資信託の税金
    • 利子所得として、20.315%課税される(収益分配金、解約差益、償還差益)

7. その他(外貨建て金融商品ポートフォリオデリバティブ取引)

  • 外貨建て金融商品の基本
    • 外貨建て金融商品とは、取引価格が外貨建てで表示されている金融商品
    • 用語
      • 為替レート:円→外貨をTTS、外貨→円をTTB、を用いる(銀行が$を売るからSelling、銀行が$を買うからBuying)
      • 為替リスク:変動によっ生じた利益を為替差益、損失を為替差損という
    • 主な金融商品
      • 外貨預金:外貨で行う預金
      • 外貨国債:発行者、発行場所、通過のいずれかが外国である
      • 外貨投資信託投資信託の国籍が外国にあり、外国の法律に基づいている
  • ポートフォリオの基本
    • ポートフォリオとは、所有する資産の組み合わせのこと
    • 用語
      • ポートフォリオ運用:性格の異なる複数の銘柄に投資することによって安定した運用を行うこと
      • アセットアロケーション:国内株式、国内債券、海外債権、不動産など複数異なる資産(アセット)に配分(アロケーション)して運用すること
      • 相関係数:相関関係(ポートフォリオのリスクを低減させるために出来るだけ異なる動きをする資産や銘柄を組み合わせる)を-1から+1まで表したもの(-1に近づくほどリスク低減効果が期待できる)
  • デリバディブ取引の基本

4. タックスプランニング


  1. 所得税の基本
  2. 各所得の計算
  3. 課税標準の計算
  4. 所得控除
  5. 税額の計算と税額控除
  6. 所得税の申告と納付
  7. 個人住民税、個人事業税

1. 所得税の基本

直接税 間接税
国税 所得税法人税相続税、贈与税 消費税印紙税、酒税
地方税 住民税、事業税、固定資産税 地方消費税
  • 納付方法
    • 申告納付方式:納税者が自分で税額を計算して申告(所得税法人税相続税など)
    • 賦課課税方式:国や地方公共団体が税額を計算して、納税者に通知(住民税、固定資産税など)
  • 所得税の計算の流れ
    1. 所得金額を計算
    2. 課税標準を計算(損益通算、損失の控除を行う)
    3. 所得控除(14種類)を差し引いて課税所得を計算
    4. 所得税を計算、所得税から税額控除(住宅ローン控除、配当金控除など)を差し引いて申告税額を計算
  • 青色申告
    • 青色申告とは、複式簿記にもとづいて帳簿に記録し、その記録をもとに所得税を計算して申告すること
    • 青色申告ができるのは、不動産所得、事業所得、山林所得の3つ(「」 ふじさんは青い」と覚える)
    • 特典
      • 青色申告特別控除:所得金額から65万円または、10万円を控除できる
      • 青色事業専従者給与の必要経費の算入:支払った給与のうち適正な金額は必要経費に算入できる
      • 純損失の繰越控除:純損失を翌年以降3年間、控除できる(前年分の所得税の環付を受けられうる)

2. 各所得の計算

  • 所得を10種類に分け、それぞれ計算
    1. 利子所得:総合課税(源泉分離課税(20.315%))
    2. 配当所得:総合課税(確定申告によって差額の税額を精算(上場株については源泉徴収20.315%、上場以外は20.42%))
    3. 不動産所得:総合課税
    4. 事業所得:総合課税
    5. 給与所得:総合課税(給与所得控除額は最低65万円、最高245万円)
    6. 退職所得:分離課税(申告しなかった場合は所得の20.42%)
    7. 山林所得:分離課税(特別控除は最高50万円)
    8. 譲渡所得:分離課税(特別控除は最高50万円)(土地・建物:分離短期(長期)譲渡所得、株式:譲渡所得、それ以外:総合短期(長期)譲渡所得)
    9. 一時所得:総合課税(上記以外の所得の家で一時的なものを指す、懸賞、競馬、生命保険の満期保険金など、特別控除は最高50万円)
    10. . 雑所得:総合課税(上記の全てに当てはまらない所得、公的年金や原稿料など)
  • 総合課税とは、ほかの所得と合算して税額を計算する方法で確定申告が必要
  • 分離課税とは、ほかの所得と合算せずに税額を計算する方法

3. 課税標準の計算

4. 所得控除

5. 税額の計算と税額控除

6. 所得税の申告と納付

7. 個人住民税、個人事業税

5. 不動産


  1. 不動産の基本
  2. 不動産の取引
  3. 不動産に関する法令
  4. 不動産の税金
  5. 不動産の有効活用

1. 不動産の基本

  • 土地の価格
    • 実勢価格(時価):売り主と買い主の合意で決まる
    • 公示価格:一般の土地取引価格の指標となる価格、公表日:3月下旬
    • 基準地標準価格:公示価格の補足、公表日:9月下旬
    • 固定資産税評価額:固定資産、不動産取得税などの計算の基礎となる、公表日:3月または4月
    • 相続税評価額(路線価):相続税や贈与税の計算の基礎となる価格、公表日:7月初旬
  • 鑑定評価の方法
    • 「土地の価格」にて取引価格が決定されるが、現実とかけ離れている場合もあるため専門家が判定する
    • 次のような評価方法がある
      • 取引事例比較法:似たような取引を参考にする
      • 原価法:再調達原価を求め、減価修正を加える
      • 収益還元法:将来見込める純収益と最終的な売買価格から求める
        • 純収益の価格は、「直接還元法」や「DCF法」を使って求める
  • 不動産の登記
    • 所有地、所有者などの権利が不動産登記記録に記載され、公示されている(誰でも閲覧可)
    • 構成は、表題部と権利部に別れている(甲は所有者、乙は所有者以外)

2. 不動産の取引

3. 不動産に関する法令

4. 不動産の税金

  • 不動産にかかる税金
    • 取得したときにかかる税金:不動産取得税、登録免許税、消費税、印紙税
    • 保有しているとかかる税金:固定資産税、都市計画税
    • 売却したときにかかる税金:所得税、住民税
    • 賃貸しているとかかる税金:所得税、住民税

5. 不動産の有効活用

6. 相続・事業承継


  1. 相続の基本
  2. 相続税
  3. 贈与税
  4. 相続の評価

1. 相続の基本

  • 相続とは、死亡した人(被相続人)の財産(資産及び負債)を残された人(相続人)が継承することをいう
    • 配偶者は常に相続人
    • 血族相続人は上旬位がない場合に限り、下順位が相続人となる(子がいない場合、父母が相続人になれる)
    • 配偶者と血族相続人は同順位で相続人となる(配偶者と子が相続人)
  • 子の種類(子の種類に関係なく同順位で相続人となる)
    • 実子
    • 養子
    • 非嫡出子(浮気相手の子供のこと)
    • 胎児
  • 相続人になれない人
    • 相続開始以前にすでに死亡している人
    • 失格事由に該当する人(相続人を殺害したり、詐欺脅迫によって遺言書を書かせたり)
    • 相続人から廃除された人(虐待されていた場合、廃除できる)
    • 相続を放棄した人

2. 相続税

3. 贈与税

4. 相続の評価

102-6.セキュリティ

  1. セキュリティ管理業務を実施する
    • パスワードは、「passwd,usermod,chage」コマンドで変更できたり有効期限を設定できる
    • ポートは、次のようなコマンドで確認出来る
      • netstate:自分の開いているポートの確認ができる
      • lsof:自分の開いているポート及びファイルのプロセス情報が確認できる
      • nmap:対象ホストの開いているポートを確認できる
    • 実行するユーザやリソースの制限は次の通り
      • su:一時的に別のユーザーになれる
      • sudo:特定の管理コマンドを実行できる
      • ulimit:ユーザーが利用できるリソースを制限できる
  2. ホストのセキュリティ設定
    • 「スーパーサーバ」とは、複数のサービスを1個のデーモンが代表して監視し、必要に応じて個別のデーモンを呼び出す仕組み
      • 代表的なスーパーサーバには、「inetd」「xinetd」がある
        • inetdは「/etc/inetd.conf」で設定変更できる
        • xinetdは「/etc/xinetd.conf」と「/etc/xinetd.d」以下の設定ファイルでネットワークのアクセス制御が出来る
    • TCP Wrapper」で、ネットワークのアクセス制御が出来る
      • 「tcpdデーモン」は、「telnetd」「ftpd」に代わってサービス要求を監視、各サーバに処理を引き渡す
  3. 暗号化によるデータの保護
    • SSH」(Secure Shell)とは、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコルのこと
      • Linuxでは、OpenBSDグループによるSSHの実装である「OpenSSH」が一般的に利用されている
      • 「/etc/ssh/sshd_config」ファイルにsshの設定が記述されている
    • 「ホスト認証」とは、ユーザー名とパスワード認証の前にクライアントとサーバーの正当性が正しいか公開鍵を比較する認証のこと
      • 「公開鍵認証」では、公開鍵と秘密鍵のペアを使って認証する
      • 「~/.ssh/known_hosts」ファイルに公開鍵は登録される
    • 「scp」コマンドは、SSHの仕組みを使い、ホスト間で安全なファイルのコピーが出来る
    • 「gpg」コマンドで「鍵の作成」「公開鍵のエクスポート、インポート」「ファイルの暗号化、復号化」が出来る
      • 鍵の作成:gpg –gen-key
      • 公開鍵のエクスポート:gpg -o pubkey -a –export self@example.com
      • 公開鍵のインポート:gpg –import pubkey
      • 暗号化:gpg -e -a -r you@example.com important.txt
      • 復号化:gpg important.txt.asc

1. セキュリティ管理業務を実施する

  • 運用時にセキュリティの観点から次の3点に気をつける事が重要
    1. パスワード管理
    2. システムポート情報、プロセス情報
    3. システムリソースの使用制限

1-1. パスワード管理

  • ユーザーパスワードは、定期的に変更したり有効期限を設定することが大切であり以下のコマンドが有効
コマンド 説明
passwd パスワード変更(rootは全アカウント、一般ユーザーは自分のパスワード)
usermod 指定したユーザーのパスワードのロックが可能。ログインシェルや所属グループも変更できる。
chage ユーザーパスワードの有効期限の情報を変更可。

chage

  • オプションをつけないで実行すると対話モードになる
  • 設定内容は「/etc/shadow」ファイルに反映される

chage [オプション] [ユーザー名]

オプション 説明
-l(小文字のエル) パスワードもしくはアカウントの有効期限を表示
-m 最低間隔日数 パスワード変更間隔の最低日数を設定
-M 最大有効期限日数 パスワードの最大有効期限日数を設定
-d 最終更新日 パスワードの最終更新日を設定
-W 有効期限切れ日数 パスワードの有効期限切れ警告が何日前から始まるか設定
-I 有効期限切れ後の日数(大文字のアイ) パスワードの有効期限切れ後にアカウントロックされるまでの日数を設定
-E アカウントを無効化する日付 ユーザーアカウントが無効になる日付を設定(-Mの場合は、日数を指定)

ログインの禁止

  • 「/etc/nologin」ファイルで一般ユーザーのログインを禁止に出来る
    • 設定内容は「/etc/shadow」ファイルに反映される
  • 対話的ログインを禁止するいには、「/bin/false」と「/sbin/nologin」を作る

1-2. システムポート情報、プロセス情報

  • 運用しているLinuxサーバにおいて、不要なポートが開いていないかどうかを確認することは大切
    • 「netstate」コマンドで、どのポートが開いているか確認出来る(外部からの攻撃を防ぐために不要なポートは閉じる事が大切)
    • 「lsof」コマンドで、ポート番号だけでなくファイルを開いているプロセス情報も同時に確認できる
    • 「nmap」コマンドで、対象ホストの開いているポートを確認できる

netstat

netstat [オプション]

オプション 説明
-a すべてのソケット情報を表示
-c 状況を1秒毎にリアルタイムで表示
-i ネットワークインターフェースの状態を表示
-n アドレスやポートを数値で表示
-p PIDとプロセス名を表示
-r ルーティングテーブルを表示
-t TCPポートのみ表示
-u UDPポートのみ表示
// TCPポートとUDPポートのすべてのソケット情報を表示
[vagrant@localhost ~]$ netstat -atun
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address  Foreign Address  State      
tcp        0      0 0.0.0.0:1234   0.0.0.0:*        LISTEN      
tcp        0      0 0.0.0.0:5678   0.0.0.0:*        ESTABLISHED
・・・
[vagrant@localhost ~]$

lsof

オプション 説明
-i ポート番号 指定したポート番号のIP通信のみを表示。指定しない場合、全てが対象となり表示
-n IPアドレスからホスト名への変換をしない
-p プロセスID 指定したPIDのプロセスのみを表示
-P ポート番号からサービス名への変換をしない
// 8080ポートのみ表示
[test@remotehost ~]$lsof -i:8080 -n
COMMAND    PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
VBoxHeadl  1544 test   18u  IPv4 0t0  TCP *:http-alt (LISTEN)
[test@remotehost ~]$

nmap

nmap 対象ホスト

[vagrant@localhost ~]$ nmap example.com

Starting Nmap 5.51 ( http://nmap.org ) at 2015-09-26 16:18 JST
Nmap scan report for example.com (93.184.216.34)
Host is up (0.18s latency).
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 13.67 seconds
[vagrant@localhost ~]$ 

1-3. システムリソースの使用制限

  • ユーザーの切替(su)やスーパユーザで実行(sudo)、システムリソースの制限(ulimit)でセキュリティを強化する

su

  • 「su」コマンドで一時的に別のユーザーになれる
    • 「-」を付けて実行すると直接ログインした時と同じように初期化される
    • 「-」をなしで実行すると現在の環境をそのままでユーザーが切り替えられる
    • 「ユーザー名」を省略するとrootユーザーに変更される

su [- [ユーザー名]]

sudo

  • 「sudo」コマンドで、特定の管理コマンドも実行できる
  • 「visudo」コマンドでsudoの設定ができる(「/etc/sudoers」ファイルが開かれる)
    • 「sudo -l」で実行が許可されているコマンドが調べられる
visudoの例)
# studentユーザーのみ、shutdownコマンドが実行できるように設定する例
student ALL=(ALL)     /sbin/shutdown
①      ②   ③    ④  ⑤             
①ユーザー名
②ホスト名
③(実行ユーザー名) 
④[NOPASSWD:]
⑤コマンド

ulimit

  • 「ulimit」コマンドで、ユーザーが利用できるリソースを制限できる

ulimit [オプション [リミット]]

オプション 説明
-a 制限の設定値を全て表示
-c [サイズ] 生成されるコアファイルのサイズを指定
-f サイズ シェルが生成できるファイルの最大サイズをブロック単位で指定
-n 数 同時に開くことのできるファイルの最大数
-u プロセス数 1人のユーザーが利用できる最大プロセス数を指定
-v サイズ シェルが利用できる最大仮想メモリサイズを指定
[vagrant@localhost ~]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 2818
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

SUIDの設定

  • プログラムに「SUID」を設定すると、一般ユーザーで実行してもrootユーザーで実行したことになる
  • 「find / -prem -u+s -ls」コマンドでSUIDが設定されているファイルを検索できる
  • セキュリティの安全を考えると「SUID」の設定は最低限に留めるべき
  • 詳しくは、101-4. デバイス、Linuxファイルシステム階層標準参照

2. ホストのセキュリティ設定

  • 外部からの侵入に対するセキュリティを高める
    • 不要なサービスのインストール・起動はしない
    • ホストレベルの適切なアクセス制御を行う
    • パケットフィルタリングによりアクセスを制御する
    • セキュリティ情報の確認を頻繁に行い、必要があれば素早く対策を実施する
  • 内部からの侵入に対するセキュリティを高める
    • 適切なユーザーパスワード管理を行う
    • スーパーユーザー権限で動作するプログラムを最小にする

スーパーサーバの設定と管理

  • 「スーパーサーバ」とは、複数のサービスを1個のデーモンが代表して監視し、必要に応じて個別のデーモンを呼び出す仕組み
    • 「デーモン」とは、メモリ上に常駐して様々なサービスを提供するプロセス(典型的なデーモンは名前の最後尾に “d” が付く。)
    • デーモンが多いと消費するリソースも多くなるため、スーパーサーバが代表して監視する
    • 代表的なスーパーサーバには、「inetd」「xinetd」がある(大抵のディストリビューションはxinetdが採用されている)

inetdの設定

  • 「/etc/inetd.conf」でinetdの設定が変更できる
/etc/inetd.confの一部内容)
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd
①   ②     ③  ④      ⑤    ⑥            ⑦
①service_name:/etc/servidesで定義されているサービス名
②socket_type:ソケットタイプ(TCPはstream、UDPはdgram)
③protocol:プロトコル(ほとんどはtcpかudp)
④flag:サービス要求処理方法(wait(1個ずつ処理)かnowait(同時に処理))
⑤user:サービス実行ユーザー名
⑥program:サーバプログラム(デーモン)へのフルパス
⑦args:サーバプログラムに渡す引数

xinetdの設定

  • 「/etc/xinetd.conf」と「/etc/xinetd.d」以下の設定ファイルでネットワークのアクセス制御が出来る
    • 「/etc/xinetd.conf」:全体的な設定
    • 「/etc/xinetd.d」:サービスごとの設定
  • 設定変更後はxinetdの再起動が必要(#/etc/init.d/xinetd restart)
「etc/xinetd.conf」の設定例)
defaults
{
    instances       = 60                # 各サービスの最大デーモン数
    log_type        = SYSLOG authpriv   # ログ出力先
    log_on_success  = HOST PID          # 接続を許可した時にログに記録する内容
    log_on_failure  = HOST              # 接続を拒否した時にログに記録する内容
    cps             = 25 30             # 1秒間の最大コネクション数、限度時のサービス休止秒数
}
includedir /etc/xinetd.d                # サービスごとの設定ファイルのディレクトリ
「/etc/xometd.d/telnet」の設定例)
service telnet                              # サービス名
{
    disable         = no                    # サービスの有効/無効
    socket_type     = stream                # 通信タイプ
    wait            = no                    # ウェイトタイム
    user            = root                  # サービス実行ユーザー名
    server          = /usr/sbin/in.telnetd  # サーバプログラムへのフルパス
    log_on_failure  += USERID               # 接続を拒否した時にログに記録する内容
}

TCP Wrapperによるアクセス制御

  • TCP Wrapper」で、ネットワークのアクセス制御が出来る
    • TCP Wrapperデーモンである「tcpdデーモン」は、「telnetd」「ftpd」などのサーバプログラムに代わってサービス要求を受け取った後、設定に基づいてチェックを行い接続の許可された場合それぞれにサーバに処理を引き渡す
    • tcpデーモンの許可・拒否の設定ファイルは次の2つ
      • 「/etc/hosts.allow」:許可リスト
      • 「/etc/hosts.deny」:拒否リスト
    • inetd自体はアクセス制御を持っていないためtcpdと連携して動作する
  • 「/var/log/secure」ファイルにログが出力される
TCP Wrapperによるアクセス制御の流れ)
クラアントからアクセス
↓
hosts.allowに入っている
↓yes         |no
【アクセス許可】   ↓
hosts.denyに入っている
↓yes         ↓no
【アクセス拒否】   【 アクセス許可】
(hosts.allowに入っていればhosts.denyは参照せずにアクセスを許可する)

3. 暗号化によるデータの保護

  • SSH」(Secure Shell)とは、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコルのこと
  • Linuxでは、OpenBSDグループによるSSHの実装である「OpenSSH」が一般的に利用されている

OpenSSHのインストールと設定

  • OpenSSHは、ディストリビューションでインストールするパッケージが異なる
    • Devianの場合
      • openssh-clientパッケージ
      • openssh-serverパッケージ
    • Red Hatの場合
      • opensshパッケージ
      • openssh-clientパッケージ
      • openssh-serverパッケージ
  • Openはインストールするとホストの公開鍵と秘密鍵が作成される
  • 「/etc/ssh/sshd_config」ファイルにsshの設定が記述されている
    • Portの変更、SSHのバージョン、ホストの秘密鍵ファイル、rootでのssh接続可否等
    • 設定変更後は再起動(/etc/init.d/sshd restart)が必要
  • ssh」コマンドでログイン出来る

ssh [[ログインユーザー名@]ホスト]

ホストの公開鍵と秘密鍵

  • 「/etc/ssh/」に次の設定ファイルがある
  • 鍵にはDSA用とRSA用があるがRSAが主流
    • DSAはユーザ認証のみ、RSAはユーザ認証と通信の暗号化ができる
ファイル名 説明
ssh_host_key 秘密鍵(バージョン1用)
ssh_host_dsa_key 秘密鍵(バージョン2、DSA用)
ssh_host_rsa_key 秘密鍵(バージョン2、RSA用)
ssh_host_key.pub 公開鍵(バージョン1用)
ssh_host_dsa_key.pub 公開鍵(バージョン2、DSA用)
ssh_host_rsa_key.pub 公開鍵(バージョン2、RSA用)

ホスト認証

  • 「ホスト認証」とは、ユーザー名とパスワード認証の前にクライアントとサーバーの正当性が正しいか公開鍵を比較する認証のこと
  • クライアントは、初回接続時は公開鍵をもっていないためサーバーから公開鍵を取得する
  • 「~/.ssh/known_hosts」ファイルに公開鍵は登録される

公開鍵認証

  • 「公開鍵認証」では、公開鍵と秘密鍵のペアを使って認証する
  • ssh-keygen」コマンドで公開鍵と秘密鍵の鍵ペアを作成できる
  • クライアントで作成した公開鍵をサーバーの「~/.ssh/authorized_keys」ファイルに追記する

ssh-keygen [オプション]

オプション 説明
-t タイプ 暗号化するタイプを指定(rsa1,rsa,dsa)
-p パスフレーズを変更
-f ファイル名 鍵ファイルを指定
-R ホスト名 指定されたホストの鍵をknow_hostsファイルから削除
公開鍵 ファイル
自分の公開鍵 ~/.ssh/id_[rsa1,rsa,dsa等].pub
SSHクライアント側にある、サーバの公開鍵 ~/.ssh/known_hosts
SSHサーバ側にある、クライアントの公開鍵 ~/.ssh/authorized_keys
// 公開鍵認証の流れ
// 1. 公開鍵と秘密鍵の鍵ペアを作成(クライアント側)
[hoge@client ~]$ ssh-keygen -t rsa
// 対話的に作成しパスフレーズを入力する
// 「~/.ssh/id_rsa.pub」と「~/.ssh/id_rsa_key」が作成される

// 2. 作成した公開鍵をサーバへscpで転送(クライアント側)
[hoge@client ~]$ scp ~/.ssh/id_rsa.pub yourserver.com:publickey

// 3. クライアントから送られた公開鍵をクライアント用の公開鍵に追記(サーバ側)
[foo@yourserver.com]$ cat publickey >> ~/.ssh/authorized_keys

// 4. クライアント用の公開鍵の権限を所有者のみ読み書き出来るよう変更する※1(サーバ側)
[foo@yourserver.com]$ chmod 600 ~/.ssh/authorized_keys

// 5. サーバへ公開鍵認証でログインできるようになる(クライアント側)
[hoge@client ~]$ ssh foo@yourserver.com
// 1.で作成したパスフレーズを入力してログイン
// 毎回パスフレーズを入力したくなければ「ssh-agent」コマンドを実行すると省略できる

// 6. 通常ログインでの接続を禁止する(鍵認証のみログイン可能にする)
$ sudo vi /etc/ssh/sshd_config
PasswordAuthentication no

// 7. sshの再起動
// ubuntの場合
$ sudo /etc/init.d/ssh restart

// centOS7の場合
$ sudo systemctl start sshd.service

※1. 所有者以外のユーザに書き込み権限を与えてしまうと、ユーザの把握しない鍵が勝手に登録され、ログインされてしまう可能性が生じる

SSHの活用

scpコマンドによるリモートファイルコピー

  • 「scp」コマンドは、SSHの仕組みを使い、ホスト間で安全なファイルのコピーが出来る
  • ssh-agent bash」を使うと秘密鍵の入力を省略できる

scp コピー元ファイル [ユーザー名@]コピー先ホスト:[コピー先ファイル名]

scp [ユーザー名@]コピー元ホスト:コピー元ファイル名 コピー先ファイル名

オプション 説明
-p パーミッションなどを保持したままコピー
-r 再帰的にコピー

GnuPGによる暗号化

  • GnuPG」(GNU Privacy Guard)は、ファイルの暗号化と復号化をするためのソフトウェア
  • 共通鍵暗号方式および公開鍵公開鍵暗号方式のどちらも使用できる
  • 「~/.gnupg/」ディレクトリに設定ファイルが格納されている(~/.gnupg/pubring.qpgファイルは公開鍵キーリング(公開鍵や秘密鍵を保管する鍵用のファイル))
  • 「gpg」コマンドで「鍵の作成」「公開鍵のエクスポート、インポート」「ファイルの暗号化、復号化」が出来る

gpg [コマンド] [オプション] [ファイル名や鍵ID等]

// 鍵の作成・確認・無効化の例)

// 1. 公開鍵と秘密鍵の鍵ペアを作成
$ gpg --gen-key
// 対話的に作成する(鍵の種類(RSAやRDA)?有効期限?ID?パスワード?などが聞かれる)

// 2. 作成した公開鍵と秘密鍵の確認
$ gpg --list-keys
// 「~/.gnupg/」以下に作成した「pubring.qpg」ファイルの有効期限等の情報が確認できる

// 3. 鍵の失効証明書を作成(鍵の無効化。パスフレーズが漏れたり忘れた場合に実行する)
$ gpg -o revoke.asc --gen-revoke hoge@examle.com
// 対話的に作成する(失効理由?ID?パスフレーズ?などが聞かれる)

// 4. 作成した失効証明書を安全な場所に保存
$ gpg --import revoke.asc
// 公開鍵のエクスポート、インポートの例)
// 1. 公開鍵のエクスポート
// 書式:gpg -o 出力ファイル名 -a --export 自分のメールアドレス
$ gpg -o pubkey -a --export self@example.com

// 1. 公開鍵のインポート
gpg --import pubkey
// インポートした公開鍵は「gpg --list-keys」コマンドで確認できる

// 2. インポートした公開鍵に署名する(署名を行わないと毎回警告がでる)
$ gpg --sign-key hoge@example.com
// 対話的に署名する(本当に署名して良い?などが聞かれる)
// ファイルの暗号化、復号化
// 1. 暗号化:hoge@example.comのみが複合できるようimportant.txtを暗号化
// 書式:gpg -e -a -r 送り先のメールアドレス 暗号化するファイル名
$ gpg -e -a -r you@example.com important.txt 
// important.txt.ascが作成される

// 2. 復号化:送られてきたimportant.txt.ascを秘密鍵を使って復号化
$ gpg important.txt.asc
// 対話的に復号化する(パスフレーズ?を聞かれる)

おまけ

公開鍵暗号方式

  • 南京錠を例にした秘密鍵と公開鍵のイメージ
    1. Aさんは、鍵の開いた南京錠を世界中に配布する(鍵は配布しない)
    2. Bさんは、Aさんの南京錠を受け取る
    3. Bさんは、自分の小包にその南京錠を使って鍵をかけAさんへ送る(Bさんは鍵がないので南京錠を開けられない)
    4. Aさんは、小包を受け取り南京錠を開錠し中身を取り出す
  • 「鍵の開いた南京錠」→「公開鍵」
  • 「南京錠を開錠する鍵」→「秘密鍵
  • 公開鍵暗号方式は、SSLSSH等で使われる
  • 共通暗号方式の場合、暗号化する際の「鍵」と復号化する際の「鍵」が同じ

SSLSSHの違い

SSL SSH
OSI 6.トランスポート層 7.アプリケーション層
公開鍵 証明書に署名した認証局の公開鍵(全ユーザ共通) ユーザ毎の公開鍵
主な用途 任意のプロトコルをトンネリング、HTTPS接続等 リモートシェル、Githubからcloneする(openssh)等
FTP FTPS SFTP
備考 第3者にサーバの身元を証明してもらう(認証局から電子証明書(SSLサーバー証明書)を発行してもらう)、TLSの元になったプロトコルSSLであり本来はTLSと呼ぶ 秘密鍵と公開鍵を作り公開鍵をサーバへ渡す

ssh-keygen」と「gpg –gen-key」の違い

  • 共に公開鍵と秘密鍵のペアを作成するコマンド
  • SSHは、通信に対しての暗号化を行う
  • GPG(GnuPG)は、ファイルに対して暗号化を行う

使用した教材

LPIC101,102

102-5. ネットワークの基礎

  1. インターネットプロトコルの基礎
    • TCP,IP,UDP,ICMP,などのプロトコルがある
    • TCP/IPでは、ネットワークに接続された機器を識別するのに「IPアドレス」を使う
    • 「/etc/services」ファイルにポートとサービスの対応が記述されている
    • ネットワークで利用できる基本的なコマンドに「telnet」「ftp」「dig」「whois」等がある
  2. 基本的なネットワーク構成
    • 「ifconfig」コマンドでネットワークの設定及び確認ができる(「ifconfig en0 down」や「ifdown en0」でen0のネットワークが無効化)
    • 「/etc/」配下にネットワーク関連のファイルがある(hostname, hosts, host.conf, nsswitch.conf, resolv.conf, sysconfig/network,sysconfig/network-scriptディレクトリ)
  3. 基本的なネットワークの問題解決
    • ネットワークの問題解決には管理コマンドを用いる(ping,traceroute,tracepath,host,hostname,netstat,route)
  4. クライアント側のDNS設定
    • DNSサーバやドメイン名の設定は、「/etc/resolv.conf」ファイル
    • 名前解決の問い合わせ順の設定は、「/etc/nsswitch.conf」ファイル
    • DNSサーバに対して問い合わせは、「dig」コマンド

1. インターネットプロトコルの基礎

TCP/IPプロトコル

OSI参照モデル TCP/IP参照モデル
アプリケーション層
プレゼンテーション層
セッション層
アプリケーション層(HTTP,SMTP,TELNET等)
トランスポート層 トランスポート層TCP,UDP等)
ネットワーク層 インターネット層(IP,ICMP等)
データリンク層物理層 ネットワークインターフェース層

TCP(Transmission Control Protocol)

  • 信頼性の高い通信を実現するためのコネクション型プロトコル
  • 相手に通信データが正しく届いていることを確認しながら通信を行うので信頼性が高い
  • 代表的な機能は次の通り
    • 途中で消失やエラーが発生したパッケとの再送
    • パケットの伝送準備を整列

IP(Internet Protocol)

  • データ転送(ルーティング)をつかさどるコネクションレスプロトコル
  • 相手に通信データが正しく届いているか確認しないため信頼性は低いが伝送速度は早くなる
  • 代表的な機能は次の通り
    • IPアドレスの規定
    • データグラム(伝送単位)の規定
    • データグラムが伝送されるネットワーク経路の制御

UDP(User Datagram Protocol)

ICMP(Internet Control Message Protocol)

IPアドレスIPv4

  • TCP/IPでは、ネットワークに接続された機器を識別するのに「IPアドレス」を使う
  • IPアドレスは、32ビットで構成され8ビットごとに「.」で区切って10進数で表記する
  • IPアドレスは、ネットワーク部とホスト部に分けられる
  • サブネットマスク(255.255.255.0)を使うとネットワーク部とホスト部の境界を求められる
  • ブロードキャストアドレスとは、ホスト部のビットを全て1にしたアドレス(192.168.1.255等)
    • ブロードキャストアドレスは同じネットワークの全てに送信する特別なアドレス
       |       ネットワーク部       |ホスト部|
2進数表記: 11000000.10101000.00000001.00000010
10進数表記:     192.     168.       1.       2

IPアドレスのクラス

  • IPアドレスにはクラスという概念がある
    • Aクラス:ネットワーク部:8ビット、ホスト部:24ビット(大規模ネットワークでの使用)
    • Bクラス:ネットワーク部:16ビット、ホスト部:16ビット(中規模ネットワークでの使用)
    • Cクラス:ネットワーク部:24ビット、ホスト部:8ビット(小規模ネットワークでの使用)
  • IPアドレスの先頭8ビットが0の場合デフォルトルートを表す
  • IPアドレスの先頭8ビットが127の場合自分自身を表す

f:id:Amarron:20150830164833g:plain ※. 画像はITmediaより抜粋

プライベートアドレス

  • IPアドレスはインターネット内で重複しないように一意に割り当てる必要がある
  • ローカルネットワーク内で自由に使うことのできるアドレスを「プライベートアドレス」と呼びクラスごとに範囲が異なる
    • Aクラス: 10. 0.0.0 ~ 10.255.255.255
    • Bクラス:172. 16.0.0 ~ 172. 31.255.255
    • Cクラス:192.168.0.0 ~ 192.168.255.255

IPアドレスIPv6

  • IPv4が32ビットに対して、IPv6は128ビット
  • IPv6は16ビットずつ8ブロクで区切られ16進数で表する
    • 各ブロックの先頭の「0」は省略出来る
    • 各ブロックが連続して「0」の場合「::」と省略出来る

ポート

  • 送信元のアプリケーションや送信先のアプリケーションを識別するために「ポート番号」が使われる(ポート番号はTCP/UDPのエンドポイント(OSIモデルのアプリケーション層のプロトコルとの組合せにも使われる))
  • 「/etc/services」ファイルにポートとサービスの対応が記述されている
番号 プロトコル サービス/プロトコル 説明
20,21 TCP FTP FTPのデータ転送
22 TCP SSH SSH接続(安全なリモート接続)
23 TCP TELNET TELNET接続(リモート接続)
25 TCP/UDP SMTP 電子メール(送信)
53 TCP/UDP DNS DNS
80 TCP HTTP Web
110 TCP POP3 電子メール(受信)
443 TCP HTTPS Web(SSL

ネットワークコマンド

  • ネットワークで利用できる基本的なコマンドに「telnet」「ftp」「dig」「whois」等がある

telnet

  • 指定したホスト、ポート番号にTelneプロトコルで接続
    • ポート番号が省略されると23版ポートで接続
    • ホスト指定がない場合対話モードになる

telnet [ホスト [ポート番号]]

[vagrant@localhost ~]$ telnet example.com 80
Trying 93.184.216.119...
Connected to example.com.
Escape character is '^]'.
GET /index.html HTTP/1.1
HOST: example.com
HTTP/1.1 200 OK
・・・
<html>
・・・</html>
[vagrant@localhost ~]$

ftp

  • 指定されたホストにFTPプロトコルで接続し、ファイルの転送を行う
  • 接続後はサブコマンドで対話的に利用する

ftp [ホスト]

サブコマンド 説明
get ファイル ファイルを受信
mget 複数のファイル 複数ファイルを受信
put ファイル ファイルを送信
mput 複数のファイル 複数ファイルを送信
ascii 転送モードをASCIIテキストに設定
binary 転送モードをバイナリに設定
quit FTPを終了

dig

  • DNSサーバーに登録されている情報を表示(指定したホスト名、ドメイン名に対応するDNSサーバーの設定を表示する)

dig [オプション] [@DNSサーバ名] ホストまたはドメイン名 [検索タイプ]

オプション 説明
-x IPアドレスからホスト名を検索する
検索タイプ 説明
a IPアドレス
any すべての情報
mx メールサーバの情報
ns ネームサーバの情報

whois

whois ターゲット [@whoisサーバ名]

2. 基本的なネットワーク構成


ネットワークの基本設定

  • ネットワークを設定するには、コマンドで設定する方法と設定ファイルを変更する方法がある
    • コマンド:「ifconfig」コマンド等で設定(システムやネットワーク機能を再起動すると失われる)
    • 設定ファイル:「/etc」以下のファイルを変更(永続的に変更される)

設定ファイル

ファイル 説明
/etc/hostname ホスト名を記述
/etc/hosts ホスト名とIPアドレスの対応を記述(ホスト名を設定するファイルではない)
/etc/host.conf 名前解決の参照先優先順位を記述
/etc/nsswitch.conf 名前解決時の問い合わせ順を記述(IPアドレスからホスト名を検索したり、サービス名からポート番号を検索したりする)
/etc/resolv.conf DNSサーバやドメイン名の設定を記述
/etc/sysconfig/network ネットワーク機能設定(使用可否、ホスト名等)
/etc/sysconfig/network-scriptディレクト 様々なネットワークインターフェースの設定ファイルが格納(IPアドレスを固定で割り当てたい場合このファイルに設定)

3. 基本的なネットワークの問題解決

主なネットワーク設定・管理コマンド

  • ネットワーク設定確認・変更・状況の表示等

pingコマンド

  • 指定したホストにICMPパケットを送りその反応を表示する
  • Webサーバがダウンしているのか、ホスト自身がダウンしているか判断できる

ping [オプション] ホストまたはIPアドレス

オプション 説明
-c 回数 ICMPパケットの送信回数
-i 間隔 ICMPパケットの送信間隔

tracerouteコマンド

  • 指定されたホストまでのパケット経路を表示する
  • ping」コマンドで宛先が見つからなかった場合、ホスト自身に問題があるのかネットワーク経路に問題があるのか判断できる

traceroute ホスト名またはIPアドレス

tracepathコマンド

  • 「traceroute」コマンドと同様で経路を表示する

tracepath ホスト名またはIPアドレス[/ポート番号]

hostコマンド

  • DNSサーバを使ってホストやドメインに関する情報を表示する

host [オプション] ホスト名またはIPアドレス [DNSサーバ]

オプション 説明
-v 詳細な情報を表示
$ host example.com
example.com has address 93.184.216.119
$ host 93.184.216.119
119.216.184.93.in-addr.arpa domain name pointer example.com.

hostnameコマンド

  • ホスト名の表示、変更が出来る
  • 引数にホスト名を指定すると変更され、引数を指定しないと現在のホスト名が表示される

hostname [ホスト名]

netstatコマンド

  • ネットワーク機能に関する様々情報を表示する
  • 開いているポートの確認でよく利用される

netstat [オプション]

オプション 説明
-a すべてのソケット情報を表示
-c 状況を1秒毎に表示
-i ネットワークインターフェースの状態を表示
-n アドレスやポートを数字で表示
-p PIDとプロセス名も表示
-r ルーティングテーブル※を表示
-t TCPポートだけを表示
-u UDPポートだけを表示

※.ルーティングテーブルとは、ルータや端末が保持するパケットの配送先に関する経路情報

[vagrant@localhost ~]$ netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 *:sunrpc                    *:*                         LISTEN      
tcp        0      0 *:ssh                       *:*                         LISTEN      
10.0.2.2:49365              ESTABLISHED 
t
・・・ # State欄がLISTENは接続待ち受け中、ESTABLISHEDは接続中
// ルーティングテーブルを表示する例
[vagrant@localhost ~]$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.2.0        *               255.255.255.0   U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
default         10.0.2.2        0.0.0.0         UG        0 0          0 eth0
[vagrant@localhost ~]$ 
項目 説明
Destination 宛先ネットワーク、または宛先ホスト
Gateway ゲートウェイIPアドレス
Genmask 宛先のサブネットマスクデフォルトゲートウェイの場合、0.0.0.0 と表示される
Flags 経路の状態 ( U:経路が有効、H:宛先はホスト、G:ゲートウェイを使用、!:経路は無効 )
MSS TCP接続の最大セグメント数
Window TCP接続のウインドウ・サイズ
irtt 初期ラウンドトリップ時間
Iface このルーティングのネットワーク・インタフェース名

routeコマンド

  • ルーティングテーブルの表示や操作が出来る
  • ルーティングとは複数のネットワーク間でデータが正しく届くよう経路(ルート)を制御すること
// 表示
route [オプション]
// 追加
route add [パラメータ]
// 削除
route del [パラメータ]
オプション 説明
-F カーネル上のルーティングテーブルを表示
-C カーネル上のルーティングキャッシュを表示
デフォルトゲートウェイ※を192.168.0.254に設定する例)
# route add default gw 192.168.0.254

※. ゲートウェイとは、通信手順(プロトコル)が異なる二者間やネットワーク間の通信を中継する機器やソフトウェア、システムの一種で、最上位層のプロトコルの違いに対応できるもの

ネットワークインターフェースの設定

  • 「ifconfig」コマンドでネットワークインターフェースの設定や有効・無効を切り替えられる

ifconfig [ネットワークインターフェース名] [パラメータ]

パラメータ 説明
IPアドレス IPアドレスを設定
netmask サブネットマスク サブネットマスクを設定
up ネットワークインターフェースを有効化
down ネットワークインターフェースを無効化
# en0のネットワークが無効化する
$sudo ifconfig en0 down
  • 「ifup」「ifdown」コマンドでネットワークインターフェースを有効・無効に切り替えられる(ifconfigのupとdownと同様)

ifup [ネットワークインターフェース名]

ifdown [ネットワークインターフェース名]

4. クライアント側のDNS設定

  • DNSサーバやドメイン名の設定は、「/etc/resolv.conf」ファイル
  • 名前解決の問い合わせ順の設定は、「/etc/nsswitch.conf」ファイル
  • DNSサーバに対して問い合わせは、「dig」コマンド

おまけ

階層モデル

OSI参照モデルOSI reference model)

  • 国際標準化機構(ISO)によって策定された、コンピュータの持つべき通信機能を階層構造に分割したモデル
  • 通信機能(通信プロトコル)を7つの階層に分けて定義している
階層 名称 説明
上位層
7 アプリケーション層 具体的な通信サービス(例えばファイル・メールの転送、遠隔データベースアクセスなど)を提供 HTTP,TELNE,FTP,
POP,SMTP,DNS
6 プレゼンテーション層 データの表現方法(例えばEBCDICコードのテキストファイルをASCIIコードのファイルへ変換する) SSL
5 セッション層 アプリケーション間で通信(セッション)を開始と終了を管理 RPC
下位層
4 トランスポート層 ネットワークの端から端までの通信管理(エラー訂正、再送制御等) TCP,UDP
3 ネットワーク層 ネットワークにおける通信経路の選択(ルーティング)、データ中継 IP, ICMP,IPSec
2 データリンク層 直接的(隣接的)に接続されている通信機器間の信号の受け渡し PPP,Ethernet,ARP
1 物理層 物理的な接続(コネクタのピンの数、コネクタ形状の規定、銅線-光ファイバ間の電気信号の変換等) ISDN,ハブ,無線通信

TCP/IP参照モデル(Internet protocol suite)

  • 国防総省DoD)が作成したモデル
  • 実際のネットワークでは実装が容易ということで、OSI参照モデルではなくTCP/IPモデルの方が浸透している
  • 通信機能(通信プロトコル)を4つの階層に分けて定義している
  • コンピューター同士をつないだネットワークでは、ほとんどTCP/IPプロトコルを使ってデータのやりとりをしている
階層 名称 説明 OSI
4 アプリケーション層 人間との情報のやりとりを担う 7〜5層
3 トランスポート層 信頼性または効率性を提供 4層
2 インターネット層 宛先ネットワークを判別 3層
1 ネットワークアクセス層 ケーブルなどによる物理的な接続を担当 2〜1層

f:id:Amarron:20150926210459p:plain

ホスト名、ドメイン名、FQDN

  • ドメイン名とは、インターネット上のネットワークを特定するための文字列
  • ネットワーク上のコンピュータにつける識別用の文字列を「ホスト名」
  • FQDN(Fully Qualified Domain Name:完全修飾ドメイン名)とは、ホスト名とドメイン名を省略せずにつなげて記述した文字列

f:id:Amarron:20151003164123p:plain

f:id:Amarron:20151003164135p:plain

f:id:Amarron:20151003164144p:plain

f:id:Amarron:20151003164152p:plain

使用した教材

LPIC101,102

102-4. 重要なシステムサービス

  1. システム時刻を維持する
    • システムクロックとハードウェアクロックがある
      • システムクロック:カーネル内に存在する時計、「date」コマンドで確認及び変更できる
      • ハードウェアクロック:ハードウェアに内蔵されており電源オフでも動作する時計、「hwclock」コマンドで確認及び変更できる
    • 「ntpdate」コマンドでNTPサーバから正確な現在時刻を取得できる
  2. システムのログ
    • Linuxではsyslogを使って様々なイベントの記録、コンソール表示を行う
      • 「/etc/syslog.conf」がsyslogの設定ファイル(書式:ファシリティ.プライオリティ 出力先)
    • tail,grep,who,w,last等のコマンドでログを調査できる
    • 「/etc/logrotate.conf」ファイルでログローテーションの設定ができる
  3. メール転送エージェント(MTA)の基本
    • 電子メールを取り扱うソフトウェアには、「MTA」「MDA」「MUA」がある
    • 「mail」コマンドでメールの送受信が出来る
    • 「/etc/aliases」でエイリアス設定、「.forward」ファイルを変更で転送の設定が出来る
    • 「mailq」コマンドで送信待ちのメールが確認できる
  4. プリンターと印刷を管理する
    • 主なLinuxディストリビューションでは、印刷サブシステムに「CUPS」を採用している
    • 「/etc/init.d/cups start」でCUPSサービスを起動できる
    • 「lpr」コマンドでファイルの印刷
    • 「lpq」コマンドでプリントのキュー内容の表示
    • 「lprm」コマンドで印刷要求の削除

1. システム時刻を維持する

システムクロックとハードウェアクロック

  • Linuxには2つの時計システムがある
    • ハードウェアクロック:ハードウェアに内蔵されていて電源がオフの状態でも動作する時計(コンピューター内の電池で動作)
    • システムクロック:カーネル内に存在する時計。Linux起動時にハードウェアクロックを参照して設定されるが、起動後は別々に動作する。
  • 動作が経過するにつれハードウェアクロックとシステムクロックに差が生まれる

システムクロック

  • 「date」コマンドでシステクロックの日時の表示(引数がある場合、システム時間を変更)
  • 「date」コマンドは、引数に「+」を付与すると指定した書式で表示される(ログファイル名に時間をつける時によく利用する)

date [MMDDhhmm[[CC]YY][.ss]]

[vagrant@localhost ~]$ date
2015年 9月  6日 日曜日 00:51:19 EST
[vagrant@localhost ~]$ date "+%Y%m%d"
20150906
[vagrant@localhost ~]$ sudo date 072019302010.20 // 2010年7月20日19時30分20秒に設定
2010年  7月 20日 火曜日 19:30:20 EDT
[vagrant@localhost ~]$

ハードウェアクロック

  • 「hwclock」コマンドでハードウェアクロックの表示及び変更が出来る

hwclock オプション

オプション 説明
-r ハードウェアクロックを表示
-w システムクロックの時刻をハードウェアクロックの時刻に設定(hwclock –systohcも同じ)
-s ハードクロックの時刻をソフトウェアクロックの時刻に設定(hwclock –hctosysも同じ)

NTPによる時刻設定

  • 正確な時刻を取得するためにIPネットワーク経由でNTP(Network Time Protocol)を使用し情報を取得する
  • 「ntpdate」コマンドでNTPサーバから正確な現在時刻を取得できる

ntpdate [オプション] NTPサーバ名

オプション 説明
-d デバックモードで実行(時刻の修正はしない)
-q NTPサーバーに日付と時刻を問い合わせる(時刻の修正はしない)
-v 詳細情報を表示
ntpdateの使用例)
[root@localhost ~]# ntpdate -v ntp.nict.jp  // ntp.nict.jp(情報通信研究機構)をシステムクロックに設定
 6 Sep 01:45:45 ntpdate[1871]: ntpdate 4.2.4p8@1.1612-o Fri Feb 22 11:23:28 UTC 2013 (1)
 6 Sep 01:45:56 ntpdate[1871]: adjust time server 133.243.238.244 offset -0.268652 sec
[root@localhost ~]# date
2015年  9月  6日 日曜日 01:46:01 EDT
[root@localhost ~]# hwclock 
2015年09月06日 05時46分03秒  -0.157601 秒
[root@localhost ~]# hwclock -w               // システムクロックの時刻をハードウェアクロックの時刻に設定
[root@localhost ~]# hwclock 
2015年09月06日 01時47分53秒  -0.804416 秒
[root@localhost ~]# 

2. システムのログ

  • Linuxではsyslogを使って様々なイベントの記録、コンソール表示を行う

syslog

  • 「/etc/syslog.conf」がsyslogの設定ファイル(centOSの場合、rsyslog.conf)
  • 「syslog」コマンドと「dmesg」コマンド
    • syslog:各アプリケーションやOSが出力するログ
    • dmesg:システム起動直後に、起動時のメッセージ(リングバッファの内容)
  • CentOS 6以降は「rsyslog」が採用されている場合がある(「/etc/rsyslog.conf」が設定ファイル)
syslog.confの書式)
cron.*     /var/log/cron
①    ②    ③
①ファシリティ:メッセージの出力元、カーネル実行中のプロセス、「*」で全てを設定できる
②プライオリティ:メッセージの優先度、プライオリティを低くするとログも少なくなる、「*」で全てのプライオリティを選択できる
③出力先:メッセージの出力先、ログファイルに出力したい場合ファイル名をフルパスで指定、ネットワーク上のリモートホストに送信したい場合「@」を使ってホストを指定、「*」を使うと全てのユーザーに通知する
  • ファシリティ
ファシリティ 説明
auth, authpriv 承認システム
cron cron
deamon 各種デーモン
kern カーネル
lpr 印刷システム
mail メールシステム
syslog syslog機能
local0~local7 独自の設定
  • プライオリティ
プライオリティ 説明
emerg 非常に危険な状態
alert 危険な状態
crit 危険な状態
err 一般的なエラー
warning システム警告
notice システム重要通知
info システム情報
debug デバッグ情報
none ファシリティ無効(メッセージを送らない)
  • 出力先
出力先 説明
ファイル名 ファイルに出力
@ホスト名 リモートホストsyslogdに出力
ユーザー名 ユーザー端末に出力
/dev/console コンソールに出力
* 全てのユーザー端末に出力
  • 「logger」コマンドでログメッセージを生成できる

logger [-p ファシリティ.プライオリティ] [-t タグ] メッセージ

ログの調査

  • 「tail」コマンドでログファイルを監視できる
  • grep」コマンド併用で特定のメッセージを調べられる
  • 「who」コマンドでログイン中のユーザーが調べられる
  • 「w」コマンドでログイン中のユーザー及びシステム情報も調べられる
  • 「last」コマンドで最近ログインしたユーザー一覧を表示します
ログファイル コマンド 説明
/var/log/messages less,tail,grep 一般的なシステム関連のメッセージ
/var/log/secure less,tail,grep セキュリティに関するメッセージ
/var/log/wtmp last 最近ログインしたユーザー
/var/run/utmp who,w ログイン中のユーザー
/var/log/lastlog lastlog ユーザーごとのログイン情報
ログの書式)
Nov  9 06:46:59 localhost kernel: starting
①               ②        ③      ④
①日時
②出力元ホスト名
③メッセージ出力元
④メッセージ
grepの例)
[root@localhost ~]# grep eth0 /var/log/messages
Nov  9 05:33:05 localhost kernel: e1000 0000:00:03.0: eth0: (PCI:33MHz:32-bit) 08:00:27:9a:38:87

ログファイルのローテーション

  • 一つのログファイルに追記すると容量が肥大化していく
  • 「ローテーション機能」を使うと古くなったログを切り分け肥大化を防げる
    • 「/var/log/message」ファイルは「/var/log/message.1」にコピーされ、「/var/log/message」が新に作成される(順次に「.2」ファイルが作成されていく)
  • 「logrotateユーティリティ」でローテーション機能は提供される
  • 「/etc/logrotate.conf」ファイルでlogrotateの設定ができる
/etc/logrotate.confの一部抜粋)
# ローテーション周期は1周間とする
weekly
# バックアップログを4週間保存する
rotate 4
# ローテーションさせたら空のログファイルを作成する
create
# ログファイルを圧縮する
#compress

3. メール転送エージェント(MTA)の基本

メール配送の仕組み

  • 電子メールを取り扱うソフトウェアには、「MTA」「MDA」「MUA」がある
  • メール配送に使われるMTAはSMTPプロトコルでメッセージをやりとりするためSMTPサーバーとも呼ばれる

f:id:Amarron:20150830155228p:plain

MTAの起動

  • システムによって、インストールされているMTAプログラムは異なる
  • 25番ポートを開いているソフトウェアを調べると稼働しているMTAが確認できる
  • SMTPサーバー(MTA)には、「sendmail」「Postfix」「qmail」「exim」などがある
    • 「/etc/init.d/sendmail start」で起動が出来る(postfixやexim4の場合は、sendmailの部分を変更)
MTA 設定ファイル 転送設定ファイル エイリアス設定用ファイル
Postfix main.cf、master.cf ~/.forward
qmail defaultdomainなど多数 ~/.qmail
exim4 exim4.conf.template ~/.forward /etc/aliasesに設定
sendmail sendmail.cf ~/.forward
MTAプログラムの確認)
# netstat -atnp | grep 25
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      3986/exim4
sendmailを起動方法)
# /etc/init.d/sendmail start
sendmail を起動中:                                         [  OK  ]
sm-client を起動中:                                        [  OK  ]

メールの送受信

  • 「mail」コマンドでメールの送受信が出来る
    • 引数ありで実行するとメールを送信できる
    • 引数なしで実行すると受信メールを確認できる
  • 「/var/spool/mqueue/」に送信待ちのメールが蓄えられる(メールキュー)
    • 「mailq」コマンドで送信待ちのメールが確認できる(mailコマンドで送信が成功したか確認できる)
  • 「/var/spool/mail/」に受信メールが格納される

mail [-s 題名] [宛先メールアドレスもしくはユーザー名]

[vagrant@localhost ~]$ mail -s test you@examle.com
Hello Test! # 本文を入力
.           # 「.」で入力終了
EOT
[vagrant@localhost ~]$

メールの転送

  • 「/etc/aliases」ファイルを変更して転送できる(設定後に「newaliases」コマンドで反映する)
  • 「~/.forward」ファイルを作成でも転送できる(一時的に転送したい場合やユーザ個人の管理で転送したい場合に使用する)
/etc/aliasesの記述例)
# rootに届いたメールをadmin,lpicに転送(rootにはメールが届かなくなる)
root:admin,lpic
.forwardの記述例)
# 自分に届いたメールをyou@examle.comに転送
you@examle.com

4. プリンターと印刷を管理する

印刷の仕組み

  • 主なLinuxディストリビューションでは、印刷サブシステムに「CUPS」を採用している
  • CUPSの特徴は次の4つ
    1. IPPの採用:プロトコルにIPP(Internet Printing Protocol)を採用しインターネット経由で印刷も可能
    2. PPDファイルサポート:AdobeのPPD形式ファイルでデバイスドライバの設定可能
    3. Webベースで設定可能:Webブラウザから設定できるツールが組み込まれている
    4. プリンタクラスのサポート:複数のプリンタを1台のプリンタに見せる機能
  • 「/etc/init.d/cups start」でCUPSサービスを起動できる
  • 「/etc/cups/printers.conf」がCUPSのプリンタ設定ファイル

印刷関連コマンド

  • 「lpr」コマンドでファイルを印刷できる
  • 「lpq」コマンドでプリントのキューの内容を表示できる
  • 「lprm」コマンドで印刷要求を削除できる

lpr [オプション] [ファイル名]

オプション 説明
-# 部数 印刷部数を指定
-P プリンター名 印刷プリンターを指定

lpq [オプション] [ユーザー名] [ジョブ番号]

オプション 説明
-P プリンター名 プリンターを指定

lprm [オプション] [ジョブ番号]

オプション 説明
-P プリンター名 プリンターを指定
- 自分の全印刷ジョブを削除

使用した教材

LPIC101,102

102-3. 管理業務

  1. ユーザアカウント、グループアカウント、および関連するシステムファイルを管理する
    • ユーザーアカウント情報は「/etc/passwd」ファイルに保存されている
    • グループ情報は「/etc/group」ファイルに保存されている
    • 「useradd」コマンドでユーザーアカウントを追加、「usermod」で変更、「userdel」で削除(-rオプションでホームディレクトリも同時に削除)
    • 「groupadd」コマンドでグループを追加、「groupmod」で変更、「groupdel」で削除(プライマリグループとするユーザーがいる場合削除出来ない)
    • 「id」コマンドで所属しているユーザーを調べられる
    • 「/etc/shadow」ファイルに暗号化されたユーザーアカウントのパスワードが保存されている
  2. ジョブスケジューリングによるシステム管理業務の自動化
    • 定期的に実施する作業(バックアップやログ管理等)を自動的に実行できる
      • cron:定期的に実行するジョブ(crondとcrontabコマンドから構成されている)
      • at:1回のみ実行するジョブ
    • ユーザ単位でアクセス制御が可能
      • cron:「/etc/cron.allow」、「/etc/cron.deny」で制御可能
        • allow→denyの順で利用可能(両方共ない場合、全ユーザが利用可能)
      • at:「/etc/at.allow」、「/etc/at.deny」で制御可能
        • allow→denyの順で利用可能(両方共ない場合、rootユーザーのみ利用可能)
  3. ローカライゼーションと国際化
    • ローカライゼーションとは、言語や通貨単位、日付の書式を国に合わせること
    • 国際化とは、最初から多言語、他地域に対応するようにソフトウェアが作られていること
    • 「locale」コマンドでロケール設定を確認できる
      • 「/etc/sysconfig/i18n」ファイルを変更すると次回のログイン時に変更される
    • 「iconv」コマンドで文字コードを変更できる
    • 「/usr/share/zoneinfo」ディレクトリ以下のバイナリファイルにタイムゾーンの情報が格納されている
      • 「cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime」で東京のタイムゾーンにできる

1. ユーザアカウント、グループアカウント、および関連するシステムファイルを管理する

  • Linuxは複数のユーザーが同時に利用できるマルチユーザーシステム
  • ユーザー情報はテキストファイルに保存されている

ユーザーアカウント

  • ユーザーアカウント情報は「/etc/passwd」ファイルに保存されている
    • 1行につき1ユーザーアカウント
    • 項目は「:」で区切られている
/etc/passwdの書式例)
student:x:501:503::/home/student:/bin/bash
①       ②  ③   ④  ⑤    ⑥            ⑦
①ユーザー名:システム内で一意のアカウント名
②パスワード:シャドウパスワードが使われているので「x」が表示される
③UID:ユーザーID(0:管理ユーザー、1~99:システムユーザー、100〜:一般ユーザー)
④GID:グループID(「/etc/group」ファイルに定義されている)
⑤GECOS:コメント
⑥ホームディレクトリ
⑦デフォルトシェル

グループアカウント

  • グループ情報は「/etc/group」ファイルに保存されている
    • ユーザーは複数のグループに所属できる
      • プライマリグループ:ユーザーにとって基本となるグループ
      • サブグループ:ユーザーが参加しているグループ
/etc/groupの書式例)
test:x:502:student,lpic
①    ②  ③   ④
①グループ名
②グループパスワード
③GID:グループID
④グループメンバー:所属するユーザー名が入る、複数所属する場合「,」で区切られる

コマンドを用いたユーザーとグループ管理

ユーザー

  • 「useradd」コマンドでユーザーアカウントを作成できる

useradd [オプション] ユーザー名

オプション 説明
-c コメント コメントフィールドを指定
-d パス ホームディレクトリを指定
-g グループ名/GID プライマリグループを指定
-G グループ名/GID サブグループを指定
-s パス ログインシェルを指定
-D デフォルトの設定値を表示または設定
-m ホームディレクトリを自動作成
ユーザー作成例)
# useradd -c "lpic user" -d /home/lpic -s /bin/bash lpicuser
  • 「usermod」コマンドで既存ユーザーアカウントを変更できる

usermod [オプション] ユーザー名

オプション 説明
-c コメント コメントフィールドを変更
-d パス ホームディレクトリを変更
-g グループ名/GID プライマリグループを変更
-G グループ名/GID サブグループを変更
-s パス ログインシェルを変更
-L パスワードをロックして一時的に無効化
-U パスワードのロック解除
  • 「userdel」コマンドでユーザーアカウントを削除できる

userdel [オプション] ユーザー名

オプション 説明
-r ホームディレクトリも同時に削除
  • 「passwd」コマンドでパスワードを変更できる
    • スーパーユーザーの場合、全ユーザーのパスワードを変更できる
    • 一般ユーザーの場合、自分のパスワードのみ変更できる

passwd [オプション] [ユーザー名]

オプション 説明
-l パスワードをロックして一時的に無効化
-u パスワードのロック解除

グループ

  • 「groupadd」コマンドでグループを作成できる

groupadd グループ名

  • 「groupmod」コマンドでグループ情報を変更できる

groupmod グループ名

オプション 説明
-g GID GIDを変更
-n グループ名 グループ名を変更
  • 「groupdel」コマンドでグループを削除できる
    • 削除対象グループをプライマリグループとするユーザーがいる場合削除出来ない

groupdel グループ名

  • 「id」コマンドで所属しているユーザーを調べられる

id [ユーザー名]

idコマンドの使用例)
[vagrant@localhost ~]$ id student
uid=501(student) gid=503(student) 所属グループ=503(student),502(test)

ホームディレクトリのデフォルトファイル

  • ユーザーアカウントを作成するとホームディレクトリも作成される
  • ホームディレクトリ作成時、どのユーザーにも必要なファイルも同時に配布できると便利
    • 「/etc/skel」配下に雛形ファイル(スケルトンファイル)を格納するとホームディレクトリ作成時にホームディレクトリに雛形ファイルがコピーされる

シャドウパスワード

  • 「/etc/shadow」ファイルに暗号化されたユーザーアカウントのパスワードが保存されている
[vagrant@localhost ~]$ ls -l /etc/passwd /etc/shadow
-rw-r--r-- 1 root root 1307 8月  8 08:35 2015 /etc/passwd
---------- 1 root root  802 8月  8 08:35 2015 /etc/shadow
[vagrant@localhost ~]$ 

2. ジョブスケジューリングによるシステム管理業務の自動化

  • 定期的に実施する作業(バックアップやログ管理等)を自動的に実行できる
    • cron:定期的に実行するジョブ
    • at:1回のみ実行するジョブ

cron

  • cronは、crondとcrontabコマンドから構成されている
    • crond:スケジュール管理するデーモン
    • crontab:スケジューリングを編集する

crontab(ユーザー)

  • 「/var/spool/cron」ディレクトリ以下に「crontab」ファイルが置かれている(hogeというユーザーの場合、/var/spool/cron/hogeになる)
  • ジョブを変更する場合、「crontab」ファイルの変更、または「crontab」コマンドで変更する

crontab [オプション]

オプション 説明
-e crontabファイルを編集
-l crontabファイルの表示
-r crontabファイルの削除
-i crontabファイルの削除(確認有り)
-u ユーザー名 ユーザーを指定してcrontabファイルを編集(rootユーザーのみ)
crontabファイルの書式)
# Daily Backup(毎日、2時と14時に「/usr/local/bin/backup」プログラムを実行)
0  2,14  *  *  *  /usr/local/bin/backup
分 時 日 月 曜日 コマンド
- 曜日:0~6(日〜土曜日)、7も日曜日
- 「,」で区切ると複数のタイミングで処理を実行する
- 「/」で区切ると間隔で実行できる(「* */2 * * hoge.sh」の場合、2時間ごとに実行される)

crontab(システム)

  • 「/etc/crontab」ファイルは、システム用のcrontabファイル
    • 「/etc/crontab」ファイルは「/etc/cron.*」ディレクトリ内のファイルを呼び出す
    • 「/etc/crontab」ファイルの書式は、ユーザー用crontabファイルにユーザー名を追加した形式
  • 毎月スクリプトを実行したい場合、「/etc/cron.monthly/」ディレクトリにスクリプトファイルを置く(毎時:cron.hourly、毎日:cron.daily、毎週:cron.weekly、それ以外:cron.d)
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

atコマンド

  • 「at」コマンドで1回限りの実行スケジュールを登録できる
  • 登録方法には「対話式」と「ファイル指定」がある

対話式

at [オプション]

オプション 説明
-d ジョブ 予約中のジョブIDを指定し削除(「atrm」コマンドと同じ)
-l 予約中のジョブを表示(「atq」コマンドと同じ)
スケジュール登録例)
$ at 5:00 tomorrow
at> /usr/local/bin/backup
at> ^D # Ctr+Dで対話終了

ファイル指定

at [-f ファイル名] 日時

cronとatのアクセス制御

  • ユーザー単位で制御できる

cron

  • 「/etc/cron.allow」、「/etc/cron.deny」で制御可能
    • cron.allow:cronの利用許可ユーザー
    • cron.deny:cronの利用拒否ユーザー
  • ファイルの実行順
    1. cron.allowがある場合、そこに記述されたユーザーはcron利用可能
    2. cron.allowがない場合、cron.denyに記述されていないユーザーはcron利用可能
    3. どちらのファイルもない場合、全てのユーザーがcron利用可能

at

  • 「/etc/at.allow」、「/etc/at.deny」で制御可能
    • at.allow:atの利用許可ユーザー
    • at.deny:atの利用拒否ユーザー
  • ファイルの実行順
    1. at.allowがある場合、そこに記述されたユーザーはat利用可能
    2. at.allowがない場合、at.denyに記述されていないユーザーはat利用可能
    3. どちらのファイルもない場合、rootユーザーのみat利用可能(全てのユーザーでatを利用可能にしたい場合、空のat.denyを作成する)

3. ローカライゼーションと国際化

  • ローカライゼーションとは、言語や通貨単位、日付の書式を国に合わせること
  • 国際化とは、最初から多言語、他地域に対応するようにソフトウェアが作られていること

ロケール

  • ロケールとは、カテゴリ(出力言語、通貨、日時の書式等)別の地域情報
  • 環境変数に「LC_ALL」を設定すると全てのカテゴリがまとめて変更できる
  • 「locale」コマンドで設定を確認できる
  • 「locale」を変更する場合、「/etc/sysconfig/i18n」ファイルを変更すると次回のログイン時に変更される(i18nはinternationalisationの略)
カテゴリ 説明
LC_CTYPE 文字の種類の規定
LC_COLLATE 文字の照合や整理に関する規定
LC_MESSAGES メッセージ表に使用する言語
LC_MONETARY 通過に関数規定
LC_NUMERIC 数値の書式に関する規定
LC_TIME 日時や時刻の書式に関する規定
localeコマンドの例)
[vagrant@localhost ~]$ locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
locale変更の例)
[root@localhost ~]# vi /etc/sysconfig/i18n 
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@localhost ~]

文字コード

文字コード 説明
ASCII  7ビットで表現される。128種類の英数字、記号、制御コードで構成される。
ISO-8859 ASCIIを拡張した8ビットの文字コードで256種類の文字を表現できる。
Unicode 32ビットで表現される。1つの文字コード体系で多言語処理を可能にするための文字コード
UTF-8 Unicodeを使った文字コード。1文字を1バイト~6バイトで表示。
EUC-JP UNIX環境標準の日本語文字コード
Shift_JIS WindowsMacOSで利用される日本語文字コード
ISO-2022-JP 電子メールで利用される日本語文字コード

iconv [オプション] [ファイル名]

オプション 説明
-f 入力文字コード 変換前の文字コードを指定
-t 出力文字コード 変換後の文字コードを指定
-l 扱える文字コードも表示
iconvの使用例)
# UTF-8で開きeucjpで表示し別ファイルへ出力
$ iconv -f UTF-8 -t eucjp hoge.txt > hogeeuc.txt

タイムゾーン

$ ls /usr/share/zoneinfo
Africa      Canada   GB         Indian     Mexico    ROC        Zulu
America     Chile    GB-Eire    Iran       Mideast   ROK        iso3166.tab
Antarctica  Cuba     GMT        Israel     NZ        Singapore  posix
Arctic      EET      GMT+0      Jamaica    NZ-CHAT   Turkey     posixrules
Asia        EST      GMT-0      Japan      Navajo    UCT        right
Atlantic    EST5EDT  GMT0       Kwajalein  PRC       US         zone.tab
Australia   Egypt    Greenwich  Libya      PST8PDT   UTC
Brazil      Eire     HST        MET        Pacific   Universal
CET         Etc      Hongkong   MST        Poland    W-SU
CST6CDT     Europe   Iceland    MST7MDT    Portugal  WET
$ 
  • 現在のタイムゾーンを確認したい場合は、「date」コマンドで確認出来る
  • タイムゾーンを変更するには、次のような方法がある
    • 「/etc/localtime 」ファイルを上書きする(シンボリックリンクでもOK)
    • 「tzselect」コマンドで対話的に変更する
$ date
2015年  9月  6日 日曜日 23:00:48 EDT

// 「/etc/localtime 」ファイルを上書きする例)
# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime 
# date
2015年  9月 6日 日曜日 12:03:42 JST

// 「tzselect」コマンドで対話的に変更する例)
$ tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
 1) Africa
 2) Americas
 3) Antarctica
 4) Arctic Ocean
 5) Asia
 6) Atlantic Ocean
 7) Australia
 8) Europe
 9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 5
Please select a country.
 1) Afghanistan       18) Israel            35) Palestine
 2) Armenia       19) Japan         36) Philippines
 3) Azerbaijan        20) Jordan            37) Qatar
 4) Bahrain       21) Kazakhstan        38) Russia
 5) Bangladesh        22) Korea (North)     39) Saudi Arabia
 6) Bhutan        23) Korea (South)     40) Singapore
 7) Brunei        24) Kuwait            41) Sri Lanka
 8) Cambodia          25) Kyrgyzstan        42) Syria
 9) China         26) Laos          43) Taiwan
10) Cyprus        27) Lebanon           44) Tajikistan
11) East Timor        28) Macau         45) Thailand
12) Georgia       29) Malaysia          46) Turkmenistan
13) Hong Kong         30) Mongolia          47) United Arab Emirates
14) India         31) Myanmar (Burma)       48) Uzbekistan
15) Indonesia         32) Nepal         49) Vietnam
16) Iran          33) Oman          50) Yemen
17) Iraq          34) Pakistan
#? 19
The following information has been given:
    Japan
Therefore TZ='Asia/Tokyo' will be used.
Local time is now:  Sun Aug  9 00:48:17 JST 2015.
Universal Time is now:  Sat Aug  8 15:48:17 UTC 2015.
Is the above information OK?
1) Yes
2) No
#? 1
You can make this change permanent for yourself by appending the line
    TZ='Asia/Tokyo'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Tokyo

使用した教材

LPIC101,102

102-2. ユーザインターフェイスとデスクトップ

  1. X11のインストールと設定
    • 「/etc/X11/xorg.conf」ファイルでXサーバの設定(入出力デバイスとスクリーンの指定等)ができる
      • ファイルセクションで各種設定出来る(ServerLayout, Files, Module, InputDevice, Monitor, Device, Screen)
    • 「xhost」コマンドをXサーバで実行しXクライアントに利用許可をする
      • xhost [+-] [ホスト名](「+ ホスト名」で追加、「- ホスト名」で削除。「+」で全部許可、「-」で制限。)
    • Xクライアントコマンドでウィンドウのサイズや位置等の情報を表示したりできる(showrgb, xlsclients, xwininfo, xdpyinfo, xvidtune)
    • 「startx」コマンドでX Window Systemが起動する
  2. ディスプレイマネージャの設定
    • ディスプレイマネージャとは、ユーザ認証とシェルの起動を扱うソフトウェア
      • ディスプレイマネージャには「XDM」「GDM」「KDM」などがある
      • XDMの設定ファイルは、「/etc/X11/xdm/」配下に格納されている(xdm-config, Xaccess, Xresources, Xservers, Xsetup_0, Xsession)
    • ウィンドウマネージャがXの外観(ウィンドウの外観、メニュー、アイコン等)を制御している

    • デスクトップ環境の代表例はGNOMEKDE

  3. アクセシビリティ
    • 障害者を支援するためのソフトウェアをATという
    • キーボードのアクセシビリティには、スティッキーキー、スローキー、バウンスキー、トグルキー、マウスキーなどがある
    • 他にも、ハイコントラスト、スクリーンリーダー、スクリーン拡大鏡、オンスクリーンキーボード等もある

1. X11のインストールと設定

X Window System

  • X Window System(別称:「X11」・「X」)とは、UNIX系OSで利用されるグラフィカルユーザインターフェース(GUI)環境
    • X11はネットワークでの利用を想定しているため、クライアント/サーバ方式を採用
      • Xサーバ:グラフィカルなインターフェースを提供(モニター やビデオカード、キーボードといったハードウェアの管理を行う)
      • Xクライアント:ユーザーアプリケーションでWebブラウザやオフィスアプリケーションに相当する
      • XサーバとXクライアントは同じコンピュータでも異なるコンピュータで動作しても良い
    • Xサーバのリファレンス実装として X.Org Serverがあり、主流として利用されている

f:id:Amarron:20150830003105p:plain

X.Orgの設定

  • X.Orgの設定ファイルは、「/etc/X11/xorg.conf」に格納されている
    • xorg.conf」は、キーボードやマウス、モニター、フォント、解像度などの設定がある
セクション 説明
ServerLayout 入出力デバイスとスクリーンの指定
Files フォントやカラーデータベースファイルのパス名
Module ダイナミックモジュールの設定
InputDevice キーボードやマウスなどの入力装置の設定
Monitor モニターの設定
Device ビデオカードの設定
Screen ディスプレイの色深度(表示色数)や画面サイズの設定

ネットワーク経由でのXの利用

  • 「xhost」コマンドでXクライアントがXサーバを利用できるよう許可を与えることが出来る
xhost [+-] [ホスト名]
オプション 説明
+ ホスト名 指定ホストを接続許可リストに追加
- ホスト名 指定ホストを接続許可リストから削除
+ 全て接続許可
- 接続続許可リストを有効
例)
remotepc(Xクライアント)
↓ネットワーク
localpc(Xサーバ)
↓
rxt(端末エミュレータ)

[lpic@localpc]$ xhost +remorpc     // Xサーバで実行
[lpic@remotepc]$ DISPLAY=localpc:0 // Xクライアントで実行
[lpic@remotepc]$ export DISPLAY    // Xクライアントで実行
[lpic@remotepc]$ rxvt &            // Xクライアントで実行(localpcのディスプレイにremotepcで実行されているrxvtのウィドウが表示される)

Xクライアントコマンド

  • X Window System上で、設定を確認したり、様々な情報を集めるコマンドが用意されている
コマンド 説明
showrgb 利用可能な色とRGB
xlsclients 実行中のXクライアントを表示
xwininfo 指定したウィンドウのサイズや位置、色深度などの情報を表示
xdpyinfo ディスプレイ情報を表示
xvidtune ディスプレイの表示画面(垂直位置や水平位置など)を調整

Xサーバの起動

  • X Window Systemの起動の流れは次の通り
    1. startxコマンド
    2. xinitコマンド
      • 「~/.xinitrc」の場合、「/etc/x11/xinit/xinitrc.d」以下のスクリプト実行
      • 「/etc/x11/xinit/xinitrc」の場合、
        1. 「~/.xsession」または「~/.Xclients」または「/etc/X11/xinit/Xclients」
        2. KDE」または「GNOME」または「他のウィンドウマネージャ」

2. ディスプレイマネージャの設定

ディスプレイマネージャ

  • ディスプレイマネージャとは、ユーザ認証とシェルの起動を扱うソフトウェア
    • RedHat系でランレベル5で起動でGUIのログイン画面が表示される(ユーザ認証とシェルが起動する)
  • ディスプレイマネージャには「XDM」「GDM」「KDM」などがある
  • XDMでログイン後に特定のアプリケーションを自動起動させたい場合、「/etc/X11/xdm/Xsession」ファイルに起動させたいアプリケーションパスを記述する(全ユーザに適用される)
  • ユーザ独自の設定を行いたい場合、ホームディレクトリの「.xsession」ファイルに記述
XDMの設定ファイル 説明
xdm-config XDMの基本設定(パスや基本的なアクセス許可など)
Xaccess XDMへのホスト接続許可
Xresources ログイン画面をデザイン
Xservers Xサーバとディスプレイの対応
Xsetup_0 XDM起動時(ログイン前)にカラー設定や背景の指定
Xsession ログイン後に起動するプログラムの設定
条件 Xの重要な設定ファイルとディレクトリ 説明
/etc/X11/xorg.conf X.orgの基本設定ファイル
/etc/X11/xinit/Xclient デスクトップ環境やウィンドウマネージャの起動(システム全体)
~/.Xclients ユーザごとのXclientsスクリプト
startxで起動する場合
/etc/X11/xinit/xinitrc startxやinitコマンドで読み込まれるスクリプト
~/.xinitrc ユーザごとのxinitrcスクリプト
XDMで起動する場合
/etc/X11/xdm/Xsession /etc/X11/xinit/xinitrc.d/ディレクトリ以下のファイルを呼び出しやウィンドウマネージャの起動
~/.xsession ユーザごとのXsessionスクリプト
/etc/X11/Xresources ログイン画面のデザインやXクライアントの設定
~/.Xresources ユーザごとのXクライアントの設定

ウィンドウマネージャ

  • ウィンドウマネージャがXの外観(ウィンドウの外観、メニュー、アイコン等)を制御している
ウィンドウマネージャの種類 説明
twm 最小限の機能
tvwm 少ないメモリでも軽快に動作
Sawfish Gnomeでの利用にフォーカス
enlightenment 高度なカスタマイズが可能
Metacity Gnome標準
Fluxbox 警戒でカスタマイズ性の高い
WindowMaker NextStepに似たGUIを提供
KWin KDE標準

デスクトップ環境

  • 統合デスクトップ環境(アプリケーションやウィンドウマネージャを含め、統一的な操作を提供するソフトウェアセット)の代表例はGNOMEKDEである

3. アクセシビリティ

  • ユーザー補助機能全般をアクセシビリティという
  • その中で、障害者を支援するためのソフトウェアを「AT(Assistive Technology)」という

キーボードのアクセシビリティ

アクセシビリティ 説明
スティッキーキー 複数キー同時押しが困難な場合、同時に押さなくても押したと認識する機能
スローキー 正確にキーを入力できない人のための補助機能、キー押下認識時間を遅くしたり
バウンスキー 素早く何度も押したり押し続けた場合、入力を無視する
トグルキー キーロック時に音を出して認識させる
マウスキー マウスの代わりにテンキーでマウスのポインタを移動させたり、クリック操作をする機能

その他のアクセシビリティ機能

アクセシビリティ 説明
ハイコントラスト 視覚障害者用にコントラストを強調
スクリーンリーダー スクリーン上の文字を点字データや音声に変換
点字ディスプレイ 文字データを点字に変換して表示する点字端末
スクリーン拡大鏡 スクリーンの一部を拡大
オンスクリーンキーボード マウスを使ってキーボード入力が出来る
アクセシビリティを実現するソフトウェア 機能
Orca スクリーンリーダー、スクリーン拡大鏡など
GOK(Gnome Onscreen Keyboard) オンスクリーンキーボード
emacspeak エディタEmacsにスクリーンリーダ機能を追加

使用した教材

LPIC101,102