suzukinpの忘備録

AWS/Linux/グルメ

Linux9月_(5)

4.Linuxの基本操作(3)

ls -l →詳細オプション、ファイルの属性情報が表示される

ファイルモード

-:レギュラーファイル d:ディレクトリファイル l:シンボリックリンク b:特殊デバイスファイル(キャラクターデバイス) c:特殊デバイスファイル(ブロックデバイス)

リンク数 レギュラーファイル1 ディレクトリ2以上 子ディレクトリがいくつあるかによって数字が変わる

所有ユーザ

所有グループ

パーミッション ファイルのアクセス権限 (読込、書込・変更・上書、実行)

パーミッションとコマンド

パーミッション   ファイル       ディレクトリ         一般 |プログラム

r:読み込み cat,less,head,tail ls

w:書き込み rm,mv,上書き保存 rmdir,rm -r,ディレクトリ内の変更

X:実行 - | 実行 cd ※一般ファイルには実行権限を付けない(緑色)

ユーザ u:所有ユーザ g:所有グループのメンバー o:第三者 a:すべてのユーザ

操作 +:続く権限を付与する -:続く権限をはく奪する =:続く権限にする

数値式

rwxrwxrwx 111111111→777 rwxr-xr-- 111110100→764

r=4 w=2 x=1

rw-r----- → rwxr-xr-x chmod a+x,o+r test chmod 755 test

デフォルトのパーミッションを確認する umask デフォルトで削除する権限 User 0002→自動的に第三者の書き込み権限は削除される ugo root 0022→自動的にグループユーザと第三者ユーザの書き込み権限は削除される

所有ユーザ・所有グループの変更 rootユーザのみ変更可

chown 所有ユーザ ファイル・ディレクトリ名 chown 所有ユーザ:所有グループ ファイル・ディレクトリ名 ※:は.でも可

chgrp 所有グループ ファイル・ディレクトリ名

5.Linuxの基本操作

vi ファイル名 vi -R ファイル名

編集モード→i コマンドモード→Esc

移動 ←:h ↓:j ↑:k →:l

:行番号[ENTER]指定された行番号に移動

削除 x:カーソル下の文字を削除 dd:カーソルがある行を削除 o:カーソル行の下に行追加

コピー yy:カーソル行がバッファに格納される→WindowsのCtrl+C dd:行を削除すると同時に行をバッファに格納する→WindowsのCtrl+X

ペースト p:コピーしたデータをペーストする→WindowsのCtrl+D

文字列の検索 /検索文字列[Enter]

ファイルの保存 :wq→保存して終了する ファイルを保存しないで終了 :q!

行番号を表示する :set number 行番号を非表示にする :set nonumber

置換 :%s/置換前文字列/置換後文字列/g[Enter] g:同じ行に置換対象となる文字列が複数ある場合すべて置換する

コマンドの繰り返し .(ピリオド) コマンドの取り消し u(直前に入力した内容を取り消す)

名前なしバッファ "バッファ番号p(ddやyyを使用した場合、過去9回分保管されている) 名前付きバッファ "バッファ名yy(aからzまでの指定したバッファ名にコピーした行を保存) "バッファ名dd(aからzまでの指定したバッファ名に削除した行を保存) "バッファ名p(名前付きバッファに保存された内容を張り付ける)

:reg→レジスター(名前なし・名前付きバッファに保存されているデータ)一覧 !!→viを終了せずにコマンド実行

:e!→編集結果を破棄して開きなおす

6.Linuxの基本操作(5)

Linuxには6つのコンソールを使用する事ができる tt1~tt6

X Window SystemからF2に行くとき[Ctrl] + [Alt] + [F2] [Alt] + [F1]~[F6] X Window Systemに戻る時は、[Alt] + [F1]

マルチタスク プロセスごとに切り替えて処理する事で、複数の処理を同時に行っている様に見せかけている。

pstree systemdがすべての頂点となるプロセス

ps aux a:ほかのユーザのプロセスも表示 u:人間に読みやすい形での表示 x:制御端末のないプロセスも表示

pstree -p → PID付でプロセスのツリー構造を表示する

Linux9月_(3)

4・5.データが届くためには

昨日の復習

TCP/IP階層 HTTP,DNS,SMTP TCP,UDP→ポート番号 IP→IPアドレス EthernetMACアドレス

データはフレームに分割される

TCPの通信 ・3wayハンドシェイク

・第5章確認問題 ・Wiresharkで3wayハンドシェイクの確認

6.安全にインターネットを利用するために

パスワードの運用 ・共通のパスワードを使わない ・定期的にパスワードを変更 ・8文字以上英数字、記号を含むものを設定する ・推測されやすい単語、連続した英数字をさける

セキュリティの基本 ・ソフト・OSの更新は頻繁にする

標的型攻撃 ①ソーシャルエンジニアリング ②ウィルス付メールを送信 ③サーバーに侵入→バックドア作成 ④データ流出 サラミ攻撃 ⑤大量のデータ流出

脅威    対策 ・盗聴 →データ暗号 ・なりすまし →サーバ認証 (フィッシング)   ↓   SSL

SSLのしくみ ・共通鍵暗号方式 ・公開鍵暗号方式

SEO内部対策 ・HTMLをシンプルに記述する ・検索キーワードにマッチさせる

7.IPv6

128ビット、16進数で表される ループバックアドレス→::1

8.クラウドとは何か

クラウドサービスの種類 ・SaaSクラウド上のサービス ・PaaS→プラットフォーム一式を提供するサービス ・HaaS(IaaS)→仮想化技術を利用してハードウェアレベルのものをサービスとして提供する(AWSなど)

クラウドサービスの種類 ・パブリッククラウド(インターネット空間に展開されているクラウド) ・プライベートクラウド(クローズドな空間に構築されているクラウド) ・ハイブリッドクラウド(上記双方を併せ持つクラウド、機密情報→プライベートクラウド、公開情報→パブリッククラウドで運用)

9.SDN

SDN(Software-Defined Network) ネットワークの設定をソフトウェアだけで設定できるようにする技術 Ciscoが力を入れている

10.無線LAN

無線LANの規格

IEEE 802.11g 54Mbps 2.4GHz 2003年6月 ・IEEE 802.11n 600Mbps 2.4GHz/5GHz 2009年9月 ・IEEE 802.11ac 6.9Gbps 5GHz 2014年1月 ・IEEE 802.11ad 6.8Gbps 60GHz 2013年1月

2.4GHz帯→無線LAN、電子レンジ、コードレス電話、マウス・キーボード、Bluetooth等で利用。電波干渉が起きる。 5GHz帯→無線LAN以外では使用される事が少ないので、電波干渉が起きにくい。

Linux9月_(2)

2.IPアドレス IPアドレスは32bit サブネットマスク ネットワーク部(電話だと市外局番)+ホスト部(電話だと加入者番号) ネットワーク部のグループ=セグメント 例)192.168.1.3 255.255.255.0 プレフリックス表記だと /24 ネットワークアドレス:ネットワーク全体を表すIPアドレスホスト部が全部0 例)192.168.1.0 ブロードキャストアドレス:ネットワーク全体のコンピュータ宛にデータを送信するためのIPアドレスホスト部が全部1 例)192.168.1.255 IPアドレス数 ホスト部のビット数 ホストとして使用可能な数は全部のビット数-2

プライベート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アドレスを使用

NATを使用してプライベートアドレスをグローバルアドレスに変換する NAPTは複数のプライベートアドレスを1つのグローバルアドレスに変換する IPアドレス・ポート番号を組み合わせて複数のプライベートアドレスの宛先を識別する

3.IPアドレスの計算 IPアドレスの範囲 IPアドレスサブネットマスクを2進数に変換して区切りを求め、IPアドレスホスト部を0にしてネットワークアドレスを求める IPアドレスホスト部を1にしてブロードキャストアドレスを求める

4.プロトコルの階層モデル

OSI参照モデルTCP/IPの階層モデルについて ・アプリケーション層 ・プレゼンテーション層 ・セッション層 ・トランスポート層データリンク層物理層

カプセル化、PDUについて ・トランスポート層 セグメント ・ネットワーク層 パケット ・データリンク層 フレーム ・物理層 ビット

イーサネット ・物理的な規格  ケーブルの種類  コネクタの形状

LANのトポロジ ・バス型 ・スター型

イーサネットケーブル ・UTPケーブル(Cat5e、Cat6が主流) ・結線(ストレート、クロス(現在は使い分けしない)) ・PC・ルータ同士、SW同士を接続する場合はクロス(最近は自動認識)

通信方式 ・CSMA/CD  コリジョンを検出したら、ランダムな時間待ってから送信を開始する。

MACアドレス 最初の6桁がベンダーコード、後の6桁がシリアル番号、世界中で固有のアドレス

フレームフォーマット ヘッダ(宛先MACアドレス・送信元MACアドレス・タイプ)+データ+トレーラ(FCS)

5.データが届くためには

インターネット層のプロトコル ・IP IPアドレス ・ICMP データが届いたか確認したり、パケットの送信元に異常を知らせる 例)ping,tracert ・ARP IPアドレスMACアドレスを調べ、変換を行う 例)arp -a,arp -d トランスポート層プロトコルTCP(信頼性確保、通信速度遅) ・UDP(信頼性確保なし、通信速度早)

ポート番号 0~65535が使用されている

・ウェルノウンポート(0~1023) 20 TCP ftp-data ファイル転送(データ) 21 TCP ftp ファイル転送(コントロール) 25 TCP smtp メール送信 53 TCP/UDP domain DNS 80 TCP http WWW 110 TCP pop3 メール受信 123 UDP NTP 時刻合わせ ・登録ポート(1024~49151) ・プライベートポート(49152~65535)

Linux9月_(1)

11、パソコンの仕組み CPU(演算・制御)、主記憶装置(記憶)、補助記憶装置(記憶)、入力装置、出力装置について学習した。 CPUのスペックは、ビット数・クロック周波数・コア数の値により、処理速度が変わる。 コンピュータは0と1で情報を処理し、2の乗数で計算できる。 1bit=2,2bit=4,3bit=8....8bit=256 1byte=8bit 文字コードUnicode(UTF-8)が主流 日本語は3byte コンピュータで文字を表現するには、文字コードをOSが認識→文字コードからフォントデータを見る→該当する文字を出力するという流れになる。 画像データはピクセル(画素)で表現され、縦のピクセル数×横のピクセル数が画素数となる。 補助記憶装置には、磁気ディスク・光磁気ディスク・半導体メモリカードがあり、容量・速度・データ消失の要因など用途に応じて使用される。 USBは3種類の規格があり、ポートが対応していればUSB3.0だと5GBまで転送速度が出る。 CASCADE接続は、USB HUBで127台まで可能。

1、インターネットのサービス ユーザがブラウザを通して、Webサーバから送られた情報を表示する仕組みを学習した。 電子メールの送受信について下記学習した。 送信者→送信メールサーバ(プロトコルSMTP)→受信メールサーバ(POP・IMAP)→受信者 インターネット上で宛先を知る為にはDNSサーバで名前解決が必要。 サーバの種類と機能・対応するクライアント用のアプリケーションを学習した。 インターネットは軍事用に開発され、インターネットとして大学や研究機関で使用され発展した。 ネットワークはAS(自律システム)の集合体。 ネットワークに接続するには、ルータ、スイッチ、PCをUTPケーブルで接続する。 コンピュータ同士でやり取りするには、各種のプロトコル(ルール)がある。

2、IPアドレス コンピュータは0と1でデータを認識する。 2進数、10進数の計算を学習した。

Linux 9月_(4)

1.Linuxとは

VirtualBoxとは Windows(ホストOS)上で仮想マシン(CentOS=ゲストOS)を動作させる

WindowsMacOSAndroidiOS等…製品・サポート→誰でも使う LinuxOSS→NWエンジニア、サーバエンジニア、ネットワークの機能・OSの堅ろう性

Linuxカーネル:OSの中核 シェル:キーボードからユーザがコマンドを入力し操作 ライブラリ:アプリケーションを動かす為の機能群

ディストリビューションLinuxカーネル+ライブラリ・アプリケーションの集合

Red Hat系 CentOSRed Hat等 ・Debian系 Ubuntu

2.Linuxの基本操作(1)

/:ルートディレクトリ→Windowsのドライブ等とは違い、必ず1つ 絶対パス:ルートディレクトリからのパス 相対パス:カレントディレクトリ(現在のディレクトリ)から見た経路 場所によっては、絶対パスの方が短い事もある

shutdown:停止 -h:システムの停止 -r:システムの再起動 -c:既に実行した後取り消し now:今すぐに +n:n分後に hh:mm:hm時mm分に

例)shutdown -h now

pwd:現在のディレクトリを表示する ls:現在のディレクトリにあるフォルダ名・ファイル名を表示する -R:子ディレクトリもすべて表示する -a:隠しファイルも表示する

cd:ディレクトリの移動 cdのみ:homeディレクトリへ移動 cp ~:homeディレクトリへ移動 cp /home/ユーザー名:homeディレクトリへ移動

ディレクトリの別名 .:カレントディレクトリ ..:1階層上のディレクトリ ~:自身のホームディレクトリ ~ユーザ名:指定ユーザのホームディレクト

cp:ファイルのコピー cp コピー元のファイル名 コピー先のファイル名→名前を変更してコピー cp コピー元のファイル名 コピー先のディレクトリ→同じ名前でコピー

cat:ファイルの参照

less:別画面でファイルを参照 ↑、↓でページ移動、qキーで終了

mv:ファイルの移動 mv 元のファイル名 新しいファイル名→ファイル名の変更 mv 元のファイル名 移動先ディレクトリ→ファイルの移動

rm:ファイルの削除 rm ファイル名→ファイル削除 -i:削除する前に確認する(yかnで回答) -rf:その下のディレクトリも強制的に削除する

bashの便利な機能 ↑:直前のコマンドを表示 ↓:直後のコマンドを表示 !!:直前のコマンドを実行 TAB:入力補完→3文字ぐらい打つと候補の文字が出てくる、複数ある場合は複数表示される

マニュアルの表示 man コマンド名→マニュアルが表示される

主なディレクトリ /bin:通常のコマンドなどのバイナリファイルが置かれる /home:一般ユーザのホームディレクトリが置かれる /root:rootのホームディレクトリが置かれる /etc:各種プログラムの設定ファイルが置かれる

mkdir:ディレクトリの作成 mkdir 作成するディレクトリ名 mkdir -p ディレクトリ名/ディレクトリ名→子ディレクトリも一緒に作成できる

rmdir:ディレクトリの削除 rmdir 削除するディレクトリ名(空のディレクトリのみ削除可能) rm -r ディレクトリ名(指定したディレクトリ以下のファイル・ディレクトリをすべて削除)

ディレクトリの移動・コピー

mv 移動元ディレクトリ 移動先ディレクトリ cp -r コピー元ディレクトリ コピー先ディレクトリ(ディレクトリのコピーには-rを付ける)

3.Linuxの基本操作(2)

1つのユーザは1つのグループに所属する→プライマリグループ 1つのユーザは0以上のグループに所属する→サブ(セカンダリ)グループ

新規のユーザを作成できるのはrootユーザのみ

user→root切り替え su - PW入力

useradd:ユーザの作成 useradd ユーザ名 passwd ユーザ名→パスワードの入力を求められるので2回入力

ユーザ情報の確認 less /etc/passwd

ユーザIDを指定してユーザを作成 useradd -u 2000 tanaka

ユーザのホームディレクトリを指定してユーザ作成 useradd -d /home/dir sato

ユーザの削除 userdell ユーザ名→ホームディレクトリは削除されない userdell -r ユーザ名→ホームディレクトリも削除される

グループの作成 groupadd グループ名

グループの確認 groups→現在の自分のプライマリグループが確認できる less /etc/passwd→プライマリグループが確認できる less /etc/group→サブグループも確認できる id ユーザ名→UID、プライマリGID、サブGIDが確認できる

グループへのユーザ追加と変更 useradd -g グループ名 ユーザ名→既存のグループを指定してユーザを作成 usermod -g プライマリグループ -G サブグループ ユーザ名→既存のユーザが所属するグループを変更

グループの削除 groupdel グループ名

AWSフルコース04月度(5週目)①

RaiseTech AWSフルコース5週目受講

今週の講座は、本題のAWSの内容に入った。
AWSのコースだけど、その他の事で学ぶ事が多くてやっとたどり着いたという印象。

まずは、バージョン管理システム(GitやSVN)の説明から始まり、AWSアカウントの作成、VPC構築、サブネット設定、EC2インスタンスの作成、RDSの作成について。
このあたりは、NWやDBの説明なので馴染みがあってほっとした。スタブネットワークにスタティックルートを設定する話。
それにしても、NWの設定がこんなに簡単にできるなんてズルいな。
この紋所が目に入らぬかーとばかりに、名刺にCCIEのロゴ入れてる人も、転職しようとしたら「クラウドのご経験は?」と聞かれる時代なのも納得。
オンプレミスの最下層で禄を食み、AWSの勉強をする自分は隠れキリシタンwww

今回の課題は、AWS上にEC2、RDSの構築。EC2からRDSへの接続確認まで。

AWSアカウントは既に作成して様子を見ていたので、続きからはじめる事にする。
久しぶりにログインして、何となく心配になり請求情報を確認すると。。

今月末の予想請求額$28.85

色々な人からAWSで課金されてしまった話を聞いていたのにやってしまったー。。
最初、最小の選んだはずなのに、なぜかDBがラージサイズになっていて不思議??
まぁ今までCiscoに課金してきたのに比べたら大したことないと、自分を納得させる。

はー。。検証終わったらDBとEC2速攻で停止する事にしよう。

下記サイトを参考に課題を進める。

qiita.com

本当に世界一丁寧で、詰まる事なくサクサク進められた。

一応課題のところまで終了できたので、SSHで接続を確認。

Microsoft Windows [Version 10.0.18362.836]  
(c) 2019 Microsoft Corporation. All rights   
C:\Users\genti>ssh -i "suzukinp-keypair.pem" ec2-user@54.248.193.65  

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/  
1 package(s) needed for security, out of 10 available  
Run "sudo yum update" to apply all updates.  

5週目の課題はとりあえずクリアできた。

AWSフルコース04月度(4週目)②

「Ruby on Rails5 速習実践ガイド」の、「Chapter3 タスク管理アプリケーション」の続きを進めたところ、名称や登録日時がブラウザ上で日本語化されていなかった。

前回解決したと思っていた「3-1-7 Railsのエラーメッセージなどを日本語で出せるようにする」の「ja.yml」のデータが読み込まれていないせいかと思い、下記コマンドで再試行したところ表示された。

curl https://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml > config/locales/ja.yml

参考サイト
www.atmarkit.co.jp

「Chapter3 タスク管理アプリケーション」を完成させてみるとCRUD処理の仕組みが何となくつかめたので、今度は自分で考えたサンプルを作ってみたい。

【今回使用したviコマンドまとめ】

<viを起動>
vi ファイル名 (1つのファイルを起動)
vi ファイル名 ファイル名 (複数のファイルを起動)

<vi起動中>
Ctrl + f (画面上へスクロール)
Ctrl + b(画面下へスクロール)
i    (カーソル位置で編集可能)
Escキー (編集終了)
yy   (カーソル行をコピー)
行数yy (カーソル行から指定行数をコピー)
dd   (カーソル行を削除)
行数dd (カーソル行から指定行数を削除)
p     (ペースト)
:next   (複数ファイルを開いている時、次のファイルへ移動)
:previous (複数ファイルを開いている時、前のファイルへ移動)

<vi終了時>
:q (上書きせず終了)
:q! (上書きせず強制終了)
:wq (上書きして終了)