tag:crieit.net,2005:https://crieit.net/users/ko00w1/feed ko00w1の投稿 - Crieit Crieitでユーザーko00w1による最近の投稿 2021-06-02T11:51:03+09:00 https://crieit.net/users/ko00w1/feed tag:crieit.net,2005:PublicArticle/17351 2021-06-02T11:50:27+09:00 2021-06-02T11:51:03+09:00 https://crieit.net/posts/vim-60b6f1f3465e8 vim 各モード別コマンド集 <h2 id="ノーマルモード"><a href="#%E3%83%8E%E3%83%BC%E3%83%9E%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89">ノーマルモード</a></h2> <h4 id="各モード切替え"><a href="#%E5%90%84%E3%83%A2%E3%83%BC%E3%83%89%E5%88%87%E6%9B%BF%E3%81%88">各モード切替え</a></h4> <ul> <li>「i」 インサートモードに移行</li> <li>「:」 コマンドラインモードに移行</li> <li>「v」 ビジュアルモードに移行</li> <li>「a」 カーソル上の文字の次からテキストを追加するためにインサートモードに移行</li> <li>「A」 行末にテキストを追加するためにインサートモードに移行</li> <li>「o」 カーソルの下の行を開けて、インサートモードに移行</li> <li>「O」 カーソルの上の行を開けて、インサートモードに移行</li> <li>「Esc」 他のモードからノーマルモードに移行</li> </ul> <h4 id="カーソル移動"><a href="#%E3%82%AB%E3%83%BC%E3%82%BD%E3%83%AB%E7%A7%BB%E5%8B%95">カーソル移動</a></h4> <ul> <li>「h」 左に移動</li> <li>「j」 下に移動</li> <li>「k」 上に移動</li> <li>「l」 右に移動</li> <li>「番号w」 単語の番号分前に移動</li> <li>「番号e」 単語番号分の終端に移動</li> <li>「[指定する行番号]gg」 指定した行番号にジャンプ</li> <li>「g」 先頭行にジャンプ</li> <li>「G」 最終行にジャンプ</li> </ul> <h4 id="文字列検索"><a href="#%E6%96%87%E5%AD%97%E5%88%97%E6%A4%9C%E7%B4%A2">文字列検索</a></h4> <ul> <li>「/検索したい文字」 検索したい文字を検索する<br /> ※検索したい文字が複数存在する場合は、「n」キーを押すと次の位置へカーソルが移動する</li> </ul> <h4 id="文字及び行の削除"><a href="#%E6%96%87%E5%AD%97%E5%8F%8A%E3%81%B3%E8%A1%8C%E3%81%AE%E5%89%8A%E9%99%A4">文字及び行の削除</a></h4> <ul> <li>「x」 カーソルの位置の文字を1文字削除</li> <li>「dw」 1単語単位で削除</li> <li>「数字dw」 数字分の単語単位を削除</li> <li>「de」 カーソルの位置から空白を含まない単語の末尾まで削除</li> <li>「d$」 カーソルの位置から行末まで削除</li> <li>「dd」 行を丸ごと削除</li> </ul> <h4 id="やり直し&取り消し"><a href="#%E3%82%84%E3%82%8A%E7%9B%B4%E3%81%97%EF%BC%86%E5%8F%96%E3%82%8A%E6%B6%88%E3%81%97">やり直し&取り消し</a></h4> <ul> <li>「u」 直前まで行ったコマンド1つを取り消しする※押した回数分やり直しができる</li> <li>「U」 行全体のコマンドを取り消しする</li> <li>「Ctrl+r」 やり直しの取り消しを行う</li> </ul> <h4 id="置換"><a href="#%E7%BD%AE%E6%8F%9B">置換</a></h4> <ul> <li>「r」 カーソル下の文字を置換</li> <li>「R」 1文字以上の置換</li> <li>「cw」 カーソルの位置から語の終わりまで置換</li> <li>「c$」 行の終わりまで置換</li> </ul> <h4 id="行コピー&ペースト"><a href="#%E8%A1%8C%E3%82%B3%E3%83%94%E3%83%BC%EF%BC%86%E3%83%9A%E3%83%BC%E3%82%B9%E3%83%88">行コピー&ペースト</a></h4> <ul> <li>「y」 カーソル上の文字をコピー</li> <li>「yy」 カーソル行の文字全部をコピー</li> <li>「p」 カーソルの下の行へペースト</li> </ul> <h2 id="コマンドラインモード"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%A2%E3%83%BC%E3%83%89">コマンドラインモード</a></h2> <h4 id="コマンドラインモード移行はノーマルモードから「:」を入力して移行してコマンドを入力する"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%A2%E3%83%BC%E3%83%89%E7%A7%BB%E8%A1%8C%E3%81%AF%E3%83%8E%E3%83%BC%E3%83%9E%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%E3%81%8B%E3%82%89%E3%80%8C%3A%E3%80%8D%E3%82%92%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%A6%E7%A7%BB%E8%A1%8C%E3%81%97%E3%81%A6%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B">コマンドラインモード移行はノーマルモードから「:」を入力して移行してコマンドを入力する</a></h4> <ul> <li>「x」 保存して終了</li> <li>「q!」 保存せずに終了</li> <li>「!dir」、「!ls」 ディレクトリ一覧を見る</li> <li>「!del(ファイル名)」、「!rm(ファイル名)」 ファイルを削除する</li> <li>「w[ファイル名]」 ここではファイル名というファイルがディスクに書き込まれる</li> <li>「r[ファイル名]」 ここではファイル名というファイルがディスクにより取り込まれカーソル下の位置に挿入</li> <li>「r!dir」 dirコマンドの出力をカーソル位置下に読み込む</li> <li>「set nu」 行数の表示</li> <li>「set nonu」 行数の非表示</li> <li>「s/元の単語/新しく置換する単語/g」 カーソルを合わせている文全体の対象を置換</li> <li>「%s/元の単語/新しく置換する単語/g」 全業で対象部分が置換</li> <li>「:help」 ヘルプウィンドウを表示</li> <li>「:herp cmd」 コマンドヘルプを検索</li> <li>「q」 ヘルプウィンドウを閉じる</li> </ul> <h2 id="ビジュアルモード"><a href="#%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89">ビジュアルモード</a></h2> <h4 id="ビジュアルモードはノーマルモードから「v」で移行してコマンドを入力"><a href="#%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AF%E3%83%8E%E3%83%BC%E3%83%9E%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%E3%81%8B%E3%82%89%E3%80%8Cv%E3%80%8D%E3%81%A7%E7%A7%BB%E8%A1%8C%E3%81%97%E3%81%A6%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%85%A5%E5%8A%9B">ビジュアルモードはノーマルモードから「v」で移行してコマンドを入力</a></h4> <ul> <li>vモーションで「:w[ファイル名]」でビジュアル選択行がファイルに保存される</li> <li>「d」 選択した範囲を削除してノーマルモードに戻る</li> <li>「y」 選択した範囲をコピーしてノーマルモードに戻る</li> <li>「c」 選択した範囲を削除してインサートモードに移行する</li> </ul> ko00w1 tag:crieit.net,2005:PublicArticle/17346 2021-06-01T16:34:18+09:00 2021-06-02T11:53:20+09:00 https://crieit.net/posts/6-60b5e2fa08954 サーバ入門6 運用体験まとめ <h2 id="パスワードリセット方法"><a href="#%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E6%96%B9%E6%B3%95">パスワードリセット方法</a></h2> <p><手順><br /> Active Directoryの「ユーザーとコンピュータ」から「パスワードを変えるアカウント名」を右クリックしてパスワードをリセットをクリック<br /> ↓<br /> 新しいパスワードを入力(ユーザアカウントを解除するをチェック入れる)して完了<br /> ↓<br /> パスワードを変えたアカウントを1回ログアウトして、再度設定しなおしたパスワードでサインインできればOK(一応、cmdで”net user (ドメイン名) /dmain”でパスワード変更時刻を確認する)<br /> <strong>※ネットワーク環境が変わったりしていると変更が反映されないので、同じネットワーク環境内で行うこと。違う場合は、ローカルアカウントで入りなおして、参加PCの「優先するDNSサーバアドレス」をDCのIPアドレスに設定しなおして同じネットワーク環境内にする。</strong></p> <h3 id="ドメインアカウントでネットワークの設定を変えられるようにする方法"><a href="#%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%A7%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%82%92%E5%A4%89%E3%81%88%E3%82%89%E3%82%8C%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95">ドメインアカウントでネットワークの設定を変えられるようにする方法</a></h3> <p><手順><br /> Windowsキーを右クリックしてコンピュータの管理を開く<br /> ↓<br /> ローカルユーザーとグループをクリックする<br /> ↓<br /> グループをクリックして「administrators」を展開する<br /> ↓<br /> 追加をクリックして、ドメインアカウントの名前を入力して名前の確認をクリックし、そのドメインアカウントのパスワードを入力<br /> ↓<br /> これでドメインアカウントでもネットワーク設定を変えることができる。</p> <h2 id="PC名変更対応"><a href="#PC%E5%90%8D%E5%A4%89%E6%9B%B4%E5%AF%BE%E5%BF%9C">PC名変更対応</a></h2> <p>例としてPC_Aを「PC_A」というPC名に変更する。<br /> <手順><br /> PC_A側で検索で「sysdm.cpl」を起動<br /> ↓<br /> 「ユーザー名:administrator」「パスワード:DCのパスワード」を入力<br /> ↓<br /> コンピュータ名の変更をクリックしてコンピュータ名を変更<br /> ↓<br /> 再起動<br /> ↓<br /> Active Directoryの「ユーザーとコンピュータ」で「computers」が、変更した名前になっているか確認する<br /> ↓<br /> 変更したPCのcmdで「hostname」と入力し、変えたPC名になっているか確認、なっていたら完了</p> <h2 id="PC返却対応"><a href="#PC%E8%BF%94%E5%8D%B4%E5%AF%BE%E5%BF%9C">PC返却対応</a></h2> <p>例としてPC_Aをドメインアカウントからワークグループへ戻す。ワークグループ名は「WORKGROUP」とする。<br /> <手順><br /> PC_Aで「sysdm.cpl」を起動し、ワークグループにチェックを入れ、ワークグループ名を「WORKGROUP」にして完了する<br /> ↓<br /> 再起動<br /> ↓<br /> Active Directoryの「Computers」からPC_Aのプロパティを見てワークグループになっていることを確認して、PC_Aを右クリックして削除を行う<br /> ↓<br /> 完了</p> <h2 id="オフィスクローズ対応"><a href="#%E3%82%AA%E3%83%95%E3%82%A3%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%BA%E5%AF%BE%E5%BF%9C">オフィスクローズ対応</a></h2> <p><手順><br /> Active Directoryのサーバマネージャーの管理より「役割と機能の削除」を選択<br /> ↓<br /> 降格するドメインコントローラーを選択し、次へ<br /> ↓<br /> 「Active Directory Dmain Service」横のチェックを外し、「機能の削除」を押す<br /> ↓<br /> 検証結果の「このドメインコントローラーを降格する」を押す(このドメインコントローラーの削除を強制にチェックをつけないと正常に削除できない)<br /> ↓<br /> 「このDNSゾーンを削除する」、「アプリケーションパーティションの削除」にチェックをつけ、次へを押す<br /> ↓<br /> administratorのパスワードを入力し、次へを押す<br /> ↓<br /> 「降格」を押す<br /> ↓<br /> 再起動しなおして、Active DirectoryサーバPCのローカルサーバーのワークグループが「WORKGROUP」になっていることを確認する<br /> ↓<br /> 「役割と機能の削除」から「Active Directoryドメインサービス」と「DNSサーバー」のチェックを外す(チェックを外すときに出るウィンドウでは、機能の削除をクリックする)<br /> ↓<br /> 必要に応じて対象サーバーを自動的に再起動するをチェックし、「削除」を押す<br /> ↓<br /> 「役割とサーバーグループ」に「Active Directory」と「DNSサーバー」がなくなっていたら完了<br /> ※参加していたPCが「sysdm.cpl」でワークグループが「WORKGROUP」担ていることも併せて確認すること</p> <p>ドメインコントローラーの降格・・・ドメインコントローラーを通常のサーバーにすること。</p> <h3 id="グループポリシー"><a href="#%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%83%9D%E3%83%AA%E3%82%B7%E3%83%BC">グループポリシー</a></h3> <p>・・・ユーザーやコンピュータに対する設定を一元的に管理するためのActive Directoryの仕組み(機能)のこと。セキュリティを強化したり、Windows機能を有効/無効にしたりするといった目的で企業内で扱うコンピュータ/ユーザを同じ設定にしたい場合に活用する。<br /> ※WindowsServer2012R2のグループポリシーは3000以上の設定項目が用意されている。</p> <p><a target="_blank" rel="nofollow noopener" href="https://www.atmarkit.co.jp/ait/articles/1501/29/news032.html">https://www.atmarkit.co.jp/ait/articles/1501/29/news032.html</a><br /> ↑<br /> 参考URL</p> ko00w1 tag:crieit.net,2005:PublicArticle/17345 2021-06-01T15:27:31+09:00 2021-06-01T15:40:46+09:00 https://crieit.net/posts/6-Active-Directory-60b5d3539494b サーバ入門6 Active Directoryの導入 <p>ドメインコントローラーのIPアドレスは静的(固定)IPアドレスで設定する。</p> <h3 id="手順"><a href="#%E6%89%8B%E9%A0%86">手順</a></h3> <p>ADサーバの役割と機能の追加から「Active Directoryドメインサービス」をクリックしてインストールする。(ドメインコントローラーになるには、役割インストール後に昇格が必要になる。)<br /> ↓<br /> 「このサーバをドメインコントローラーに昇格」をクリック、新しいフォレストを追加するをチェックして、ルートドメインを入力<br /> ↓<br /> DSRMパスワードを入力(DSRMパスワードは破損時に使う特殊なパスワード)<br /> ↓<br /> 「次へ」で進みインストールをクリック<br /> ↓<br /> 再起動がかかる<br /> ↓<br /> ADDSが追加されていれば完了</p> <h2 id="ドメインアカウントでサインインする場合の注意"><a href="#%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%A7%E3%82%B5%E3%82%A4%E3%83%B3%E3%82%A4%E3%83%B3%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AE%E6%B3%A8%E6%84%8F">ドメインアカウントでサインインする場合の注意</a></h2> <p>ドメインアカウントでサインインする場合は、アカウント名の指定方法が変わる。例えば、「aaa.test」という名前のドメインで作成したドメインアカウント「xyz」でサインインするには「aaa¥xyz」(.testは省略する)をユーザ名に指定してサインインする。ただし、「ドメイン名が1つだけで選択肢がない」かつ「同じ名前のローカルアカウントが存在しない場合」は省略可能。</p> <h2 id="Active Directory補足"><a href="#Active+Directory%E8%A3%9C%E8%B6%B3">Active Directory補足</a></h2> <p>・参加対象のPCの「優先DNSサーバアドレス」をDC(ドメインコントローラー)のIPアドレスへ変更する理由は、DCと作業対象の通信に「DNS」を使用するため必要。</p> ko00w1 tag:crieit.net,2005:PublicArticle/17344 2021-06-01T15:17:27+09:00 2021-06-01T15:17:27+09:00 https://crieit.net/posts/6-Active-Directory サーバ入門6 Active Directoryの基礎知識 <h2 id="Active Directoryの基礎知識"><a href="#Active+Directory%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98">Active Directoryの基礎知識</a></h2> <div class="table-responsive"><table> <thead> <tr> <th>基本機能</th> <th>身近なもので例えると</th> </tr> </thead> <tbody> <tr> <td>ディレクトリーサービス</td> <td>住民基本台帳(住民票)</td> </tr> <tr> <td>ユーザ認証</td> <td>マイナンバーカード</td> </tr> <tr> <td>クライアント管理</td> <td>法律</td> </tr> </tbody> </table></div> <h2 id="ディレクトリーサービスとは"><a href="#%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%83%BC%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A8%E3%81%AF">ディレクトリーサービスとは</a></h2> <p><strong>ネットワーク上に存在するリソース情報を、記録、検索できるデータベースのこと</strong><br /> 例えば、ユーザ(社員)、コンピュータ(社員のPC)、プリンター(officeの複合機)の情報管理に利用される。<br /> ※ディレクトリーサービスに、ネットワークに接続するために<strong>LDAP</strong>と呼ばれる通信プロトコルが使われている。</p> <h2 id="ユーザ認証とは"><a href="#%E3%83%A6%E3%83%BC%E3%82%B6%E8%AA%8D%E8%A8%BC%E3%81%A8%E3%81%AF">ユーザ認証とは</a></h2> <p><strong>ディレクトリーサービスの情報へアクセスするユーザを識別する機能</strong><br /> ※<strong>kerberos</strong>(ケルベロス)と呼ばれる通信プロトコルを使い、<strong>チケット</strong>(身分証明書みたいなもの)を使ってシングルサインオン認証を行う。</p> <h2 id="クライアント管理とは"><a href="#%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E7%AE%A1%E7%90%86%E3%81%A8%E3%81%AF">クライアント管理とは</a></h2> <p><strong>Active Directoryの管理下にあるコンピュータに対して、設定(グループポリシー)を配布する機能</strong><br /> ※ポリシーの配布には、ファイル共有でも使われる<strong>SMB</strong>と呼ばれる通信プロトコルが利用される。<br /> ・「<strong>簡単なパスワードを使わせない</strong>」、「<strong>定期的に変更を強制させる</strong>」ルールもよく使わ<br /> れる。</p> <h2 id="Active Directoryのメリット"><a href="#Active+Directory%E3%81%AE%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88">Active Directoryのメリット</a></h2> <h4 id="管理者側のメリット"><a href="#%E7%AE%A1%E7%90%86%E8%80%85%E5%81%B4%E3%81%AE%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88">管理者側のメリット</a></h4> <p>・ドメイン管理下のユーザアカウント管理が簡単になる。<br /> ・ファイルサーバへのアクセス許可が簡単になる。<br /> ・ドメイン管理下のコンピュータに同じ設定を簡単に適用できる</p> <h4 id="利用者側のメリット"><a href="#%E5%88%A9%E7%94%A8%E8%80%85%E5%81%B4%E3%81%AE%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88">利用者側のメリット</a></h4> <p>・ドメイン管理下のコンピュータと連携アプリケーション(officeやTeamsなど)は、同じユーザ名とパスワードでログオン可能。<br /> ・WindowsUpdate等のセキュリティ管理を利用者側で意識しなくてもよい。<br /> ・検索機能を使えば、ユーザ(全社員の情報)を簡単に検索できる。</p> <h2 id="Active Directoryとワークグループ"><a href="#Active+Directory%E3%81%A8%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97">Active Directoryとワークグループ</a></h2> <p><strong>Windowsコンピュータをネットワークに接続して利用、管理するには2種類の方式がある。</strong></p> <h4 id="1.ワークグループ"><a href="#1.%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97">1.ワークグループ</a></h4> <p>家庭や数人程度の会社に適した設定<br /> ※Windows10homeはこの設定のみ可能</p> <h4 id="2.Active Directory(ドメイン)"><a href="#2.Active+Directory%28%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%29">2.Active Directory(ドメイン)</a></h4> <p>企業ネットワークに適した設定。ネットワーク上に<strong>ドメインコントローラー</strong>の役割を持つサーバが最低1台必要になる。</p> <h2 id="ワークグループ環境"><a href="#%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E7%92%B0%E5%A2%83">ワークグループ環境</a></h2> <p>ユーザアカウントを<strong>各コンピュータが管理</strong>する方式。<br /> ・ユーザ名とパスワードは「SAM」と呼ばれる特殊なデータベースに格納される。<br /> ・管理されるユーザアカウントは「<strong>ローカルアカウント</strong>」と呼ばれる。<br /> ・複数台のコンピュータを使う場合、それぞれのコンピュータが「SAM」を持っているので、<strong>ユーザ名とパスワードは台数分設定が必要</strong>。</p> <h2 id="Active Directory環境"><a href="#Active+Directory%E7%92%B0%E5%A2%83">Active Directory環境</a></h2> <p>「ドメイン」という論理的な単位で、組織のネットワークに接続されたコンピュータをまとめ「<strong>ドメインコントローラー</strong>」と呼ばれる役割を持つサーバが、ユーザーアカウントを<strong>集中管理</strong>する方式。<br /> ・ユーザ名、パスワードは「SAM」ではなく、ドメインコントローラーが持つNTDSデータベースで集中管理される。<br /> ・管理されているアカウントは「<strong>ドメインアカウント</strong>」と呼ばれる。<br /> ・ドメインで管理できるPCは<strong>Windows10Professional</strong>以上<br /> ・ドメインアカウントを所持していると、ドメインに参加したPC全てにサインインできる(制限している場合を除く)</p> <h2 id="Active Directoryオブジェクトに対するアクセス許可について"><a href="#Active+Directory%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E8%A8%B1%E5%8F%AF%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">Active Directoryオブジェクトに対するアクセス許可について</a></h2> <p><strong>アクセス許可</strong>とは、ファイルやフォルダなど、ネットワーク上のオブジェクトに関連付けられている規則のこと。<br /> ・オブジェクトにアクセスできるかどうか、オブジェクトに対してどのような操作を実行できるかはアクセス許可によって決まる。<br /> ・Administratorのアカウントはフルコントロールすることができる。<br /> ・アクセス許可レベルについては、フルコントロール、変更、読み取りと実行、読み取りと書き込みといったものがある(今あげたものは例として、ファイルサーバのアクセス許可レベルについて)</p> <h3 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h3> <p>Active Directoryを導入してグループ単位でファイルサーバのアクセス許可を設定すれば、ユーザーが増えても、そのグループにユーザーを追加するだけでファイルサーバーの設定変更なしにアクセスを許可することができる。(ファイルサーバ以外にメールサーバやアプリケーションサーバなども同様の対応を設定していることが多い。)</p> ko00w1 tag:crieit.net,2005:PublicArticle/17329 2021-05-31T15:05:15+09:00 2021-05-31T15:05:15+09:00 https://crieit.net/posts/5-60b47c9bf2e13 サーバ入門5 運用体験まとめ <h1 id="運用体験「アップデート」"><a href="#%E9%81%8B%E7%94%A8%E4%BD%93%E9%A8%93%E3%80%8C%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E3%80%8D">運用体験「アップデート」</a></h1> <p>・LinuxのWebサーバのパッケージを最新にする。<br /> ・Webサーバ(Linux)のパッケージを全て最新のものへとアップデートして、サーバを再起動する。<br /> <手順><br /> <code>$su - でroot権限にする</code><br /> ↓<br /> <code>#yum cheak-update (アップデートを確認)</code><br /> ↓<br /> <code>#yum -y update (アップデートを開始)</code><br /> ↓<br /> <code>#yum cheak-update (アップデートをもう1度確認)</code><br /> ↓<br /> <code>#systemctl restart httpd (Webサーバ再起動)</code><br /> ↓<br /> <code>#cat /etc/redhat-release (OSのバージョンを確認)</code><br /> ↓<br /> 完了</p> <h1 id="運用体験 「Webサーバのアインストール」"><a href="#%E9%81%8B%E7%94%A8%E4%BD%93%E9%A8%93%E3%80%80%E3%80%8CWeb%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AE%E3%82%A2%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%80%8D">運用体験 「Webサーバのアインストール」</a></h1> <p>・Webサーバ(Linux)からApacheのパッケージを削除する。<br /> <手順><br /> <code>#systemctl stop httpd (httpdを停止)</code><br /> ↓<br /> <code>#yum -y remove httpd (Apacheのアインストール)</code><br /> ↓<br /> <code>#yum list installed httpd (httpdがアインストールされているか確認)</code><br /> ↓<br /> <code>#firewall-cmd --permanent --remove-service=http (ファイアウォールを閉じる※「--permanent」で永続化を指定しなければ、再起動したら元の状態に戻ってしまうことに注意)</code><br /> ↓<br /> <code>#firewall-cmd --reload (ファイアウォールをリロードする)</code><br /> ↓<br /> <code>#fairewall-cmd --list-services (リストを見て、httpがなくなっていたら完了)</code><br /> ↓<br /> 完了</p> <p>### 補足<br /> ・vimのインサートモードで編集を終えて、保存して終了する方法は、「Esc」で戻り「:x」で保存して終了<br /> ・httpの自動起動無効化の方法は「#systemctl disable httpd」<br /> ・設定ファイルをvimで編集する際、サーバ上でできることは、cpを使って設定ファイルをバックアップし、編集後はdiffで編集前後の差分を確認する。スナップショットも有効。<br /> ・Windows10やMacOSでは、Linuxと同様に、scpコマンドを使ったファイルを転送できる。<br /> ・Apache(httpd)だけをアップデートするコマンドは「yum -y update httpd」</p> ko00w1 tag:crieit.net,2005:PublicArticle/17327 2021-05-31T14:38:45+09:00 2021-05-31T14:41:12+09:00 https://crieit.net/posts/5-fail2ban サーバ入門5 fail2banのインストールと動作確認 <h2 id="fail2banとは"><a href="#fail2ban%E3%81%A8%E3%81%AF">fail2banとは</a></h2> <p>サーバのアクセスログを解析してパスワード総当たり攻撃を行っているIPアドレスを自動でブロックするソフトウェア。インターネットにサーバを公開すると、攻撃されるので、不正アクセス地策が必要。</p> <h2 id="EPELリポジトリのインストール"><a href="#EPEL%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB">EPELリポジトリのインストール</a></h2> <p>fail2banはCentOS7の標準リポジトリでは公開されていない。EPEL(Extra Packages for Enterprise Linux)リポジトリで公開されている。</p> <h3 id="リポジトリ"><a href="#%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA">リポジトリ</a></h3> <p>・・・ソフトウェア(パッケージ)が公開されているサーバのこと。EPELリポジトリにアクセスするには、別途インストールが必要。<br /> ※EPELリポジトリが使えない状態でfail2banをインストールしようとするとエラー表示になる。<br /> ・EPELリポジトリが使える状態にするため、「epel-release」をインストールする。<br /> <code>#yum -y install epel-release</code><br /> インストールが完了した直後から、EPELサーバへアクセスができる。</p> <h2 id="fail2banのインストール"><a href="#fail2ban%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB">fail2banのインストール</a></h2> <p>fail2banをインストールする。<br /> <code>#yum -y install fail2ban</code><br /> ・<strong>fail2banはインストールしてもすぐに使えない</strong>。<br /> ・<strong>設定ファイルに、足りない情報(どのような不正アクセスをブロックするか)の記述が必要</strong>。</p> <h2 id="fail2ban設定ファイルのコピー"><a href="#fail2ban%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%82%B3%E3%83%94%E3%83%BC">fail2ban設定ファイルのコピー</a></h2> <p>設定テンプレートファイルjail.confをディレクトリ/etc/fail2ban/jail.d/にjail.localという名前でコピーし、編集を行う。<br /> <code>#cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.d/jail.local  ファイルをコピーする</code><br /> <code>#ll /etc/fail2ban/jail.d/jail.local   ちゃんとコピーできたかどうか確認</code><br /> <code>#vim /etc/fail2ban/jail.d/jail.local   jail.localをvimで編集する。</code></p> <h2 id="設定ファイル(jail.local)の編集"><a href="#%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%28jail.local%29%E3%81%AE%E7%B7%A8%E9%9B%86">設定ファイル(jail.local)の編集</a></h2> <p>3行だけ変える内容がある。<br /> <code>23: # [sshd]  →  23:[sshd] (先頭の#とスペースの2つを削除する)</code><br /> <code>24: # enable = true → 24:enabled = ture (先頭の#とスペースの2つを削除する)</code><br /> <code>208:banaction = iptables-multiport → 208:banaction = fairewallcmd-ipset (文字列変更)</code><br /> 23、24行目は<strong>sshでfail2banを有効(enable)にする意味</strong><br /> 208行目は<strong>fail2banはfairewalldと連携してブロックするという意味</strong><br /> ※fail2banのバージョンによって、編集対象の文字列がある行や位置が変わるので注意。</p> <h2 id="diffコマンド"><a href="#diff%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">diffコマンド</a></h2> <p><strong>ファイルの差分を見られる</strong>便利なコマンド。<strong>変更作業の実務でよく使う</strong>。元ファイルとの差分を見れば、変更すべき行だけ変更したのかすぐわかる。<br /> <code>$diff [比較元ファイル] [比較先ファイル]</code><br /> ・diffの出力は、数字が変更のある行数、「<」の記号が比較元の文字を表し、「>」の記号が比較先の文字を表す。<br /> ※fail2banのバージョンによって、編集対象の文字列がある行や位置が変わるので注意。</p> <h2 id="fail2banの起動及び自動起動"><a href="#fail2ban%E3%81%AE%E8%B5%B7%E5%8B%95%E5%8F%8A%E3%81%B3%E8%87%AA%E5%8B%95%E8%B5%B7%E5%8B%95">fail2banの起動及び自動起動</a></h2> <p>Apache HTTP Serverの時と同じ要領で、systemctlコマンドを使う。サービス名は「fail2ban」<br /> 1.fail2banを起動<code>#systemstl start fail2ban</code><br /> 2.起動したことを確認<code>#systemctl status fail2ban</code><br /> 3.自動起動の有効化<code>#systemctl enabled fail2ban</code><br /> 4.自動起動が有効化になったことを確認<code>#systemctl is-enabled fail2ban</code><br /> ※設定ファイルの記述がおかしいとfail2banはエラーで起動しない。エラーの場合は設定ファイルの記述を見直すこと。<br /> ・fail2banが起動すると、攻撃元のIPアドレスを<strong>一定時間(600秒)ファイアウォールでブロックする</strong>。※ログイン回数や遮断時間はfail2banのデフォルト設定値。</p> <h2 id="fail2banの状態確認"><a href="#fail2ban%E3%81%AE%E7%8A%B6%E6%85%8B%E7%A2%BA%E8%AA%8D">fail2banの状態確認</a></h2> <p>fail2banには、攻撃背れた回数、ブロックした回数、ブロックしたIPアドレスの統計情報を出力するコマンドがある。<br /> <code>#fail2ban-client status [サービス名]</code><br /> ※SSHに設定している場合は、サービス名は「<strong>sshd</strong>」となる。</p> <h2 id="fail2banおまけ"><a href="#fail2ban%E3%81%8A%E3%81%BE%E3%81%91">fail2banおまけ</a></h2> <p>・実際にfail2banを運用する場合、ブロックする時間は600秒では短い。長めの時間に設定することがほとんど。時間を変更したい場合は、<strong>jail.local</strong>に「<strong>bantime=(秒)</strong>」を追記する。なお、vimで修正しても、systemctlコマンドで<strong>fail2banを再起動させないと新しい設定が反映されない</strong>。<br /> ・ブロック中のIPアドレスのbantimeは「<strong>ipset --list</strong>」で確認できる。※ipsetはfirewalldの管理ユーティリティの1種。<br /> ・ブロックしたIPアドレスをbantimeを待たずに解除させる方法は<br /> <code>#fail2ban-client set sshd unbanip [IPアドレス]</code></p> ko00w1 tag:crieit.net,2005:PublicArticle/17321 2021-05-31T12:53:01+09:00 2021-05-31T12:54:07+09:00 https://crieit.net/posts/5-Web-60b45d9dcbeca サーバ入門5 Webサーバのインストールと動作確認 <h2 id="Apache HTTP Server"><a href="#Apache+HTTP+Server">Apache HTTP Server</a></h2> <p>世界中で最も多く使われているOSSのWebサーバソフトウェア<br /> ・信頼性が高い、Webで情報を入手しやすいといった特徴がある。<br /> ※Apacheは仕組み上Clok(クライアント1万台問題)を抱えているので、万単位のリクエストを処理するようなWebサーバでは、nginxが使われる。</p> <h2 id="Apacheのインストール"><a href="#Apache%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB">Apacheのインストール</a></h2> <p><code>$su - →    #yum -y install httpd(CentOSではhttpdというパッケージを指定)</code></p> <h2 id="Apacheの起動"><a href="#Apache%E3%81%AE%E8%B5%B7%E5%8B%95">Apacheの起動</a></h2> <p>Windowsと異なり、インストールしてもApache HTTP Serverは起動していない。<br /> <code>#systemctl start httpd(インストールしただけでは起動していない)</code><br /> <code>#systemctl status httpd(本当に起動したのか状態を確認する)</code><br /> ※ステータスが<strong>active</strong>になっていれば、httpdは起動している。</p> <h2 id="Apacheを自動起動させる"><a href="#Apache%E3%82%92%E8%87%AA%E5%8B%95%E8%B5%B7%E5%8B%95%E3%81%95%E3%81%9B%E3%82%8B">Apacheを自動起動させる</a></h2> <p>OSを起動(再起動)したときに自動でApache HTTP Serverを起動させたい場合。<br /> <code>#systemctl enable httpd</code><br /> <code>#systemctl is-enabled httpd(自動起動が有効か確認)</code><br /> ※is-enabledの結果が<strong>enabled</strong>になっていれば、httpdは自動起動する。disabledの場合は、自動起動しないことを意味する。</p> <h1 id="cystemctlコマンド"><a href="#cystemctl%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">cystemctlコマンド</a></h1> <p>Linuxの起動処理や、システム管理をコントロールするためのコマンド。サービスの起動や停止の操作する際に欠かせない。<br /> <code>#systemctl [サブコマンド] [サービス名(ユニット名)]</code></p> <div class="table-responsive"><table> <thead> <tr> <th>サブコマンド</th> <th>効果</th> </tr> </thead> <tbody> <tr> <td><strong>start</strong></td> <td><strong>開始する</strong></td> </tr> <tr> <td>restart</td> <td>再起動する</td> </tr> <tr> <td>stop</td> <td>停止する</td> </tr> <tr> <td><strong>status</strong></td> <td><strong>状態を確認する</strong></td> </tr> <tr> <td><strong>enable</strong></td> <td><strong>自動起動を有効にする</strong></td> </tr> <tr> <td>disable</td> <td>自動起動を無効にする</td> </tr> <tr> <td><strong>is-enabled</strong></td> <td><strong>自動起動の状態を確認する</strong></td> </tr> <tr> <td>list-unit-files</td> <td>インストールされているユニットを表示する</td> </tr> </tbody> </table></div> <p>etc...</p> <h1 id="ファイアーウォールの設定"><a href="#%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%83%BC%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%81%AE%E8%A8%AD%E5%AE%9A">ファイアーウォールの設定</a></h1> <p>以下のコマンドを入力し、外部からサーバへHTTP通信を許可にする。<br /> <code>#firewall-cmd --permanent --add-service=http</code><br /> <code>#firewall-cmd --reload</code><br /> <code>#firewall-cmd --list-services</code><br /> 「--list-srvices」でHTTPがリストに追加されたことを確認する。</p> <h1 id="firewall-cmdコマンド"><a href="#firewall-cmd%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">firewall-cmdコマンド</a></h1> <p>CentOS7では、ファイアーウォールにfirewalldが採用されている。fairewalldをコマンドで操作できるのが「<strong>firewall-cmd</strong>」<br /> <code>#firewall-cmd [オプション]</code><br /> ※オプション「<strong>--permanent</strong>」を加えない場合は設定が即時反映されるが、fairealldを起動すると<strong>設定が元に戻る</strong>。</p> <div class="table-responsive"><table> <thead> <tr> <th>オプション</th> <th>効果</th> </tr> </thead> <tbody> <tr> <td><strong>--add-service=サービス</strong></td> <td><strong>指定サービスの通信を許可にする</strong></td> </tr> <tr> <td>--remove-service=サービス</td> <td>指定サービスの通信を許可しない</td> </tr> <tr> <td><strong>--permanent</strong></td> <td><strong>永続化を指定※即時反映には--reloadが必須</strong></td> </tr> <tr> <td><strong>--reload</strong></td> <td><strong>設定をリロードする</strong></td> </tr> <tr> <td><strong>--list-services</strong></td> <td><strong>許可されたサービスを確認する</strong></td> </tr> <tr> <td>--list-all</td> <td>ゾーンの状態を確認する</td> </tr> <tr> <td>--get-services</td> <td>--add-srviceで指定できるサービス名を確認する</td> </tr> </tbody> </table></div> <p>etc...</p> <h3 id="firewalld"><a href="#firewalld">firewalld</a></h3> <p>・・・LinuxOS用のファイアーウォール管理ツール<br /> ・Webサーバには<strong>ドキュメントルート</strong>と呼ばれる、<strong>公開するコンテンツを配置するディレクトリ</strong>がある。httpdの場合「/var/www/html/」<br /> ・Webサーバに<strong>ファイル名を指定せずにアクセスした場合</strong>「<strong>index.html</strong>」という名前のファイルが表示される。</p> <h1 id="サーバソフトウェアのインストールフロー"><a href="#%E3%82%B5%E3%83%BC%E3%83%90%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%83%95%E3%83%AD%E3%83%BC">サーバソフトウェアのインストールフロー</a></h1> <p>パッケージのインストール(yum)<br /> ↓<br /> (設定ファイルの編集)(vim)※場合によっては設定しない<br /> ↓<br /> サービス起動と確認(systemctl)<br /> ↓<br /> サービス自動起動設定と確認(systemctl)<br /> ↓<br /> ファイアーウォールの設定(firewall-cmd)<br /> ↓<br /> 動作確認</p> ko00w1 tag:crieit.net,2005:PublicArticle/17318 2021-05-31T12:16:50+09:00 2021-05-31T12:16:50+09:00 https://crieit.net/posts/5-60b45522cd423 サーバ入門5 チュートリアルメモ <p>vimにはチュートリアルが用意されている。</p> <h2 id="vim-enhancedのインストール"><a href="#vim-enhanced%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB">vim-enhancedのインストール</a></h2> <p><code>$su -</code>※インストールするためにはroot権限が必要なため<br /> <code>#yum -y install vim</code><br /> <code>#exit</code>※インストールが終わったらroot権限は不要なため<br /> ※su -の後には、rootユーザのパスワードを入力</p> <h1 id="su(Substitate)コマンド"><a href="#su%28Substitate%29%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">su(Substitate)コマンド</a></h1> <p><code>$su (オプション) [ユーザ名]</code><br /> <strong>ユーザを切り替えるコマンド</strong>。ユーザ名を省略すると、rootユーザが指定される。<br /> <オプション><br /> [-] <strong>対象ユーザがログインした時と同じログインシェルを環境にする。</strong><br /> [なし] <strong>現在のユーザのログインシェル環境を引き続き使用する。</strong><br /> ※オプションの「‐」のあるなしでユーザ環境変数に違いが出るので要注意。環境によってはプログラムの動作に違いが出ることもあり得る。<br /> ※rootユーザーで、<strong>操作を間違えると簡単にシステムを破壊する</strong>。</p> <h1 id="yum(Yellowdog Updater Modifie(CentOS8はdnfに置き換わっている))コマンド"><a href="#yum%28Yellowdog+Updater+Modifie%28CentOS8%E3%81%AFdnf%E3%81%AB%E7%BD%AE%E3%81%8D%E6%8F%9B%E3%82%8F%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%29%29%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">yum(Yellowdog Updater Modifie(CentOS8はdnfに置き換わっている))コマンド</a></h1> <p>ソフトウエアのパッケージインストール・削除が行えるパッケージ管理システムのコマンド。RedHat系ディストリビューションで使える。<br /> パッケージ・・・すぐ使えるようにソフトウェアのソースコードをコンパイルしたもの。<br /> <code>#yum (オプション) [コマンド] [パッケージ名]</code></p> <div class="table-responsive"><table> <thead> <tr> <th>オプション</th> <th>効果</th> </tr> </thead> <tbody> <tr> <td><strong>-y</strong></td> <td><strong>全ての問い合わせに「yes」で応答したものとして実行する</strong></td> </tr> <tr> <td>-x</td> <td>指定したパッケージを除外する</td> </tr> </tbody> </table></div> <div class="table-responsive"><table> <thead> <tr> <th>コマンド</th> <th>効果</th> </tr> </thead> <tbody> <tr> <td><strong>install</strong></td> <td><strong>インストールする</strong></td> </tr> <tr> <td>remove</td> <td>アインストールする</td> </tr> <tr> <td>update</td> <td>インストール済みのパッケージをアップデートする。すべてのパッケージアップデートする場合は、パッケージ名の指定は不要</td> </tr> <tr> <td>check-update</td> <td>インストール済みのパッケージでアップデート可能なものを表示する</td> </tr> </tbody> </table></div> <p>※check-updateはroot権限不要</p> <h1 id="vimtutorコマンド"><a href="#vimtutor%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">vimtutorコマンド</a></h1> <p>vimのチュートリアルができるコマンド<br /> <code>$vimtutor (オプション)</code></p> <div class="table-responsive"><table> <thead> <tr> <th>オプション</th> <th>効果</th> </tr> </thead> <tbody> <tr> <td>ja</td> <td>日本語で起動</td> </tr> <tr> <td>en</td> <td>英語で起動</td> </tr> </tbody> </table></div> <p>※vimtutorはSSHで接続しないと日本語で表示されない。<br /> ※途中で終了する場合は、コマンドラインモードから「q!」</p> <h1 id="vimチュートリアルメモ"><a href="#vim%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%A1%E3%83%A2">vimチュートリアルメモ</a></h1> <p>・テキストの追加(ノーマルモードで、追加したい場所にカーソルを合わせて「A」を押す)<br /> ・de(カーソルの位置から空白を含まない単語の末尾まで)<br /> ・d$(カーソルの位置から行末まで)<br /> ・「U」で行全体の取り消しができる<br /> ・カーソル下の文字を置き換えるためには「r」をタイプした後、それを置き換える文字をタイプする。<br /> ・「cw」はカーソルの位置から語の終わりまで変更する。「c$」なら行の終わりまで変更する。<br /> ・「:!dir」、「:!ls」でコマンドラインモードからディレクトリ内の一覧を見ることができる。<br /> ・「:!del(ファイルネーム)」、「:!rm(ファイルネーム)」でコマンドラインモードからファイルを削除することができる。<br /> ・「:w(ファイル名)」でコマンドラインモードからファイルがディスクに書き込まれる。<br /> ・「:r(ファイル名)」でコマンドラインモードからファイルがディスクにより取り込まれ、カーソルの下の位置に挿入される。<br /> ・「:r!dir」はdirコマンドの出力をカーソル位置下に読み込む。<br /> <strong>・「o」をタイプすると、カーソルの下の行を開けて、そこで挿入モードになる。「O」をタイプするとカーソルの上の行で挿入モードになる。</strong><br /> <strong>・カーソル上の文字の次からテキストを追加するには「a」を入力。行末に自動でテキストを挿入するには「A」を入力</strong><br /> <strong>・「R」をタイプすると、置換モードに入り、「Esc」を押すと抜ける。</strong><br /> ・「:help」、「F1キー」を押すとヘルプウィンドウが表示される。<br /> ・コマンドヘルプを検索するときは「:help cmd」と入力する。<br /> ・別のウィンドウへジャンプするときは、「Ctrlキー -w」とタイプする。<br /> ・ヘルプウィンドウを閉じるときは「:q」とタイプする。</p> ko00w1 tag:crieit.net,2005:PublicArticle/17312 2021-05-31T11:04:49+09:00 2021-05-31T11:04:49+09:00 https://crieit.net/posts/5-vim サーバ入門5 vim基本操作 <h2 id="なぜvimが必要か"><a href="#%E3%81%AA%E3%81%9Cvim%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%8B">なぜvimが必要か</a></h2> <p>LinuxはWindowsと異なり、設定する値をテキストファイルに記述するものが多い。</p> <h2 id="vimとは"><a href="#vim%E3%81%A8%E3%81%AF">vimとは</a></h2> <p>Linuxで標準的に使われている<strong>テキストエディタ</strong>で、Windowsでいうところのメモ帳。<br /> Linuxで利用されるエディタとして「<strong>emass</strong>」や「<strong>nano</strong>」がある。</p> <h2 id="vimの特徴 その1"><a href="#vim%E3%81%AE%E7%89%B9%E5%BE%B4%E3%80%80%E3%81%9D%E3%81%AE1">vimの特徴 その1</a></h2> <p><strong>基本は「hjkl」キーでカーソル移動をする。</strong>「h」は←、「j」は↓、「k」は↑、「l」は→の操作となる。<br /> ・ホームポジションから移動しない速度重視の設計<br /> ・十字キーでも移動できるが、<strong>できないサーバもある</strong>。</p> <h2 id="vimの特徴 その2"><a href="#vim%E3%81%AE%E7%89%B9%E5%BE%B4%E3%80%80%E3%81%9D%E3%81%AE2">vimの特徴 その2</a></h2> <p><strong>モードで挙動が違う</strong></p> <h3 id="ノーマルモード(Nomal mode)"><a href="#%E3%83%8E%E3%83%BC%E3%83%9E%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%28Nomal+mode%29">ノーマルモード(Nomal mode)</a></h3> <p>・vim起動時に最初に入るモード<br /> ・hjklのカーソル移動はノーマルモードでできる。<br /> ・<strong>文字入力はできない(a~Zまですべてコマンドとして割り当てられている。)</strong><br /> ・ほかの各モードから戻るには、「<strong>Esc</strong>」もしくは、<strong>「Ctrl+[」キー</strong>を押す。<br /> <コマンド><br /> x (カーソル上の1文字を削除)<br /> dd (カーソルのある行を削除)<br />              etc...</p> <h3 id="コマンドラインモード(Command-line mode)"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%A2%E3%83%BC%E3%83%89%28Command-line+mode%29">コマンドラインモード(Command-line mode)</a></h3> <p>ノーマルモード上で「:」キーを押すとコマンドラインモードへ移行する。<br /> <コマンド><br /> <strong>x(保存して終了)変更がないときはタイムスタンプの更新はない</strong><br /> <strong>q!(保存しないで強制終了) 変更があるときでも保存しないで終了する</strong><br />   etc...<br /> ※慣れないうちは、保存の「x」と保存しないで終了の「q!」のコマンドを覚えておくとよい</p> <h3 id="インサートモード(Insert mode)"><a href="#%E3%82%A4%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%88%E3%83%A2%E3%83%BC%E3%83%89%28Insert+mode%29">インサートモード(Insert mode)</a></h3> <p>・文字入力や編集ができる<br /> ・ノーマルモード上で「i」、「a」、「o」等のキーを押すと固有の動作をしてインサートモードへ移行する。<br /> ※慣れないうちは「i」だけ覚えておけばOK<br /> <コマンド><br /> <strong>i(カーソルの位置からInsert modeへ)</strong></p> <h3 id="ビジュアルモード(Visual mode)"><a href="#%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%28Visual+mode%29">ビジュアルモード(Visual mode)</a></h3> <p>・文字の選択が行える<br /> ・ノーマルモード上で「v」キー等を押すとビジュアルモードへ移行する。</p> <h2 id="vimの起動"><a href="#vim%E3%81%AE%E8%B5%B7%E5%8B%95">vimの起動</a></h2> <p>起動コマンドは、vimではなく「<strong>vi</strong>」<br /> 例:vimでファイル「xyz」を作成  $vi xyz</p> <h2 id="vimモード切替"><a href="#vim%E3%83%A2%E3%83%BC%E3%83%89%E5%88%87%E6%9B%BF">vimモード切替</a></h2> <p>・開始直後は、ノーマルモードだが、現在が何モードなのか表示されない。<br /> ・「i」キーを押せばインサートモードに移行、「Esc」キーでノーマルモードに戻る<br /> ・「INSERT」の表示が消えれば、ノーマルモードに移行していることになる。</p> <h2 id="カーソル移動"><a href="#%E3%82%AB%E3%83%BC%E3%82%BD%E3%83%AB%E7%A7%BB%E5%8B%95">カーソル移動</a></h2> <p>・「hjkl」キーでカーソルを移動する。<br /> ・「<strong>w</strong>」や「<strong>b</strong>」を使うと、単語単位で高速移動ができる。</p> <h2 id="保存・終了"><a href="#%E4%BF%9D%E5%AD%98%E3%83%BB%E7%B5%82%E4%BA%86">保存・終了</a></h2> <p>・「:」キーを押してコマンドラインモードへ移行<br /> ・左下に「:」の文字が表示されていればコマンドラインモード<br /> ・「:」の後に「x」を入力して「Enter」を実行すると保存・終了が行われCLIに戻る。</p> <h2 id="文字列の検索"><a href="#%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE%E6%A4%9C%E7%B4%A2">文字列の検索</a></h2> <p>・ノーマルモードで、「<strong>/</strong>」キーを押して検索コマンドラインへ移行、次に<strong>検索したい文字を入力</strong><br /> ・検索したい文字が複数存在する場合は、「<strong>n</strong>」キーを押すと次の位置へカーソルが移動する。</p> <h2 id="文字及び行の削除"><a href="#%E6%96%87%E5%AD%97%E5%8F%8A%E3%81%B3%E8%A1%8C%E3%81%AE%E5%89%8A%E9%99%A4">文字及び行の削除</a></h2> <p>・「x」キーを押すと、カーソルの位置の文字が1文字削除される。<br /> ・1単語単位で削除する場合は「<strong>dw</strong>」、2単語の場合は「<strong>2dw</strong>」<br /> ・行を丸ごと削除したい場合は、「<strong>dd</strong>」</p> <h2 id="行コピー&ペースト"><a href="#%E8%A1%8C%E3%82%B3%E3%83%94%E3%83%BC%EF%BC%86%E3%83%9A%E3%83%BC%E3%82%B9%E3%83%88">行コピー&ペースト</a></h2> <p>・「<strong>yy</strong>」キーを押すとカーソル行の文字全部をコピーする。ペーストするには「<strong>p</strong>」(カーソルの下の行へペースト)キーを使う</p> <h2 id="undo&amp;redo"><a href="#undo%26amp%3Bredo">undo&redo</a></h2> <p>・「<strong>u</strong>」キーを押すと<strong>undo(やり直し)</strong> が行われる。押した回数分undoが行われる。<br /> ・「<strong>Ctrl+r</strong>」キーは<strong>redo(やり直しの取り消し)</strong> が行われる。押した回数分redoができる。</p> <h2 id="行数表示と行ジャンプ"><a href="#%E8%A1%8C%E6%95%B0%E8%A1%A8%E7%A4%BA%E3%81%A8%E8%A1%8C%E3%82%B8%E3%83%A3%E3%83%B3%E3%83%97">行数表示と行ジャンプ</a></h2> <p>行数表示や行ジャンプは、長文のテキストファイル編集時に役立つ。<br /> ・「<strong>:</strong>」キーでコマンドラインモードへ行き、「<strong>set nu</strong>」と入力して「Enter」を押せば、行数が表示される。※解除したい場合は「<strong>set nonu</strong>」<br /> ・行ジャンプはノーマルモードで「<strong>[指定する行番号]gg</strong>」で行える。行番号を指定しない場合は(<strong>ggのみ</strong>)は先頭行へ移動、「<strong>G</strong>」は最終行に移動する。</p> ko00w1 tag:crieit.net,2005:PublicArticle/17296 2021-05-27T12:44:11+09:00 2021-05-27T17:17:26+09:00 https://crieit.net/posts/4-60af158b7b71f サーバ入門4 コマンド操作応用課題メモ <p>・<code>$touch (テキストファイル) (テキストファイル) ...</code>で複数のファイルを同時に作成することができる。<br /> ・<code>$rm (テキストファイル) (テキストファイル)...</code>で複数のファイルを同時に削除することができる。</p> <p>・ファイル名やコマンドキーは「<strong>Tabキー</strong>」で補完することができる。入力ミスを防げたり、コマンド入力のスピードが向上する。<br /> ・基本操作に慣れてきたら、<strong>検索</strong>を駆使して、知りたい操作や、コマンドをどんどん調べて身に着けていこう。<br /> ・Cent(OSのバージョン) やりたいこと コマンドのキーワードで検索するとだいたいヒットする。</p> ko00w1 tag:crieit.net,2005:PublicArticle/17295 2021-05-27T12:36:42+09:00 2021-05-27T12:37:24+09:00 https://crieit.net/posts/4-9-2 サーバ入門4 コマンド操作(9つのコマンド) その2 <h1 id="⑥cp(copy)コマンド"><a href="#%E2%91%A5cp%28copy%29%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">⑥cp(copy)コマンド</a></h1> <p><strong>指定したファイルを指定したディレクトリへコピーする。</strong><br /> <code>$cp (オプション) [コピー元ファイル] [コピー先ファイル]</code></p> <p>「r」オプションを使うとディレクトリもコピーできる。<br /> <code>$cp -r [コピー元ディレクトリ] [コピー先ディレクトリ]</code><br /> ※cpkコマンドは「コピー&ペースト」のイメージ</p> <h1 id="⑦mv(move)コマンド"><a href="#%E2%91%A6mv%28move%29%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">⑦mv(move)コマンド</a></h1> <p><strong>ファイルやディレクトリを指定ディレクトリへ移動する。</strong><br /> <code>$mv (オプション) [移動元パス] [移動先パス]</code><br /> ※ファイルを移動する際はオプションはなしでよい。<br /> ※mvコマンドは「カット&ペースト」のイメージ。</p> <p>mvコマンドは、<strong>名前変更する</strong>コマンドとしても使える。<br /> <code>$mv (ファイル名) (変更後のファイル名)</code></p> <h1 id="⑧rm(remove)コマンド"><a href="#%E2%91%A7rm%28remove%29%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">⑧rm(remove)コマンド</a></h1> <p><strong>ファイルやディレクトリを削除する。</strong><br /> <code>$rm (オプション) [削除したいファイル]</code><br /> ※ファイルを削除する際はオプションはなしでよい。<br /> ・rmは操作を誤ると、OSとその重要なファイルを削除してしまう<strong>危険コマンド</strong>。<strong>実作業では、指差し確認と「wチェック」が欠かせない。</strong></p> <p>rmコマンドでディレクトリを削除する場合は「<strong>r</strong>」オプションを使う。<br /> <code>$rm -r [削除したいディレクトリ]</code><br /> ※<strong>rmdir</strong>というディレクトリを削除するコマンドもある。</p> <h1 id="⑨lessコマンド"><a href="#%E2%91%A8less%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">⑨lessコマンド</a></h1> <p><strong>テキストファイルの中身を表示する。読み取り専用のメモ帳のイメージ</strong><br /> <code>$less [表示したいファイル名]</code><br /> 他の表示系のコマンドとして、「<strong>cat</strong>」や「<strong>more</strong>」があるが、それらとは異なり、「q」キーを入力するまで、表示が終了しないのが特徴。じっくりテキストファイルの中身を確認したいときに最適。<br /> <strong>ログファイル</strong>やサーバソフトウェアの<strong>設定ファイル</strong>の中身を確認するときによく使う。<br /> cat・・・<strong>catenateの連結するの意味($cat [ファイル名])</strong><br /> more・・・ <strong>$more (オプション) [ファイル名]</strong><br /> less上の操作は、カーソルキーで1行、スペースキーでページスクロール、終了するときは「q」を入力。<br /> <各コマンドのファイルの表示の違い><br /> less・・・「q」を押すまで終了しない<br /> cat・・・ファイルのログを全部一覧表示<br /> more・・・(%)で結果を表示。</p> <h1 id="コマンド操作補足"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E6%93%8D%E4%BD%9C%E8%A3%9C%E8%B6%B3">コマンド操作補足</a></h1> <p>・bashシェルの便利な機能の1つとして、「<strong>コマンド履歴</strong>」機能がある。<br /> ・bashシェルは過去に実行したコマンドを履歴として記録している。カーソルキーの「↑」キー、もしくは「Ctrl」+「p」を押すごとに、1つずつ遡ってコマンドを表示する。表示されたコマンドは「Enter」で実行することができる。<br /> ・「history」コマンドを実行すると過去に実行したコマンドの一覧が古い順に表示される。($history)「!ヒストリー番号」でその番号のコマンドを実行できる。</p> <h1 id="poweroffコマンド"><a href="#poweroff%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">poweroffコマンド</a></h1> <p><strong>OSを停止できる。</strong><br /> ※CentOS6以下の古いLinuxでは使用できない。<br /> <code>$poweroff</code><br /> CentOS7では<strong>管理者権限が必要</strong>なコマンドで、一般ユーザで実行するとrootユーザのパスワード入力が求められる。</p> ko00w1 tag:crieit.net,2005:PublicArticle/17290 2021-05-27T11:52:00+09:00 2021-06-03T13:04:59+09:00 https://crieit.net/posts/4-9-1 サーバ入門4 コマンド操作(9つのコマンド) その1 <h1 id="コマンドに入る前に"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AB%E5%85%A5%E3%82%8B%E5%89%8D%E3%81%AB">コマンドに入る前に</a></h1> <p>・Linuxのコマンド入力画面は、<strong>一般権限ユーザ</strong>だと「<strong>$</strong>」で表示され、<strong>管理権限をもつroot</strong>だと「<strong>#</strong>」がユーザの種類を表す記号として表示される。コマンドの入力列の先頭に、「$」や「#」が書いていてもターミナルでは「$」や「#」は<strong>入力しない</strong>こと。</p> <h1 id="①pwdコマンド"><a href="#%E2%91%A0pwd%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">①pwdコマンド</a></h1> <p>現在の作業ディレクトリ「<strong>カレントディレクトリ</strong>」を絶対パスで表示。<br /> 初心者は迷子防止のためディレクトリを<strong>移動する際に必ず使う</strong>こと。</p> <h4 id="pwd(print work directory)"><a href="#pwd%28print+work+directory%29">pwd(print work directory)</a></h4> <p>・・・現在どこのディレクトリで作業中なのかを知ることができる。<br /> ログインしたユーザの<strong>ホームディレクトリ(/home/ユーザ名)</strong> がカレントディレクトリ<br /> ※最初の”/”と<strong>homeの後の”/”は意味が異なる</strong>。最初のはルートディレクトリを表していて、homeの後はディレクトリの区切りを表す。</p> <h6 id="/(ルートディレクトリ)home/(ルートディレクトリ)ユーザ名"><a href="#%2F%28%E3%83%AB%E3%83%BC%E3%83%88%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%29home%2F%28%E3%83%AB%E3%83%BC%E3%83%88%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%29%E3%83%A6%E3%83%BC%E3%82%B6%E5%90%8D">/(ルートディレクトリ)home/(ルートディレクトリ)ユーザ名</a></h6> <p>コマンド例<br /> <strong>$pwd</strong></p> <h3 id="<ディレクトリ構成>"><a href="#%EF%BC%9C%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E6%A7%8B%E6%88%90%EF%BC%9E"><ディレクトリ構成></a></h3> <p>ファイルを入れる入れ物をWindowsではフォルダ、Linuxでは<strong>ディレクトリ</strong>と呼ぶ。<br /> Linuxは、頂点となる<strong>ルートディレクトリ(/)</strong> を起点とした<strong>ツリー構造</strong>で、ファイルとディレクトリを管理する。※ファイルを操作するコマンドを実行するためには、この構造のファイルやディレクトリの位置の指定が必要。<br /> ルートディレクトリはWindowsで「C:」のようなもの</p> <h3 id="FHS(Filesystem Hierarchy Standard)"><a href="#FHS%28Filesystem+Hierarchy+Standard%29">FHS(Filesystem Hierarchy Standard)</a></h3> <p>・・・ファイルシステムの階層標準のこと。</p> <h6 id="サーバ運用作業で頻繁に使用するFHS"><a href="#%E3%82%B5%E3%83%BC%E3%83%90%E9%81%8B%E7%94%A8%E4%BD%9C%E6%A5%AD%E3%81%A7%E9%A0%BB%E7%B9%81%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8BFHS">サーバ運用作業で頻繁に使用するFHS</a></h6> <p><strong>/etc システムの設定ファイルが保存される<br /> /home 一般ユーザのホームディレクトリ(rootユーザは/root)<br /> /var/log ログファイルが保存される</strong><br /> etc...</p> <h3 id="絶対パス指定"><a href="#%E7%B5%B6%E5%AF%BE%E3%83%91%E3%82%B9%E6%8C%87%E5%AE%9A">絶対パス指定</a></h3> <p><strong>ルートディレクトリ</strong>を基点とした<strong>ディレクトリ指定</strong>のこと。<strong>どこのディレクトリにいても必ず指定先に移動できる</strong>。絶対(いつ、いかなる、どんなときも)パス(ファイルやフォルダの場所を示す情報)<br /> 例:$cd /home/yy</p> <h3 id="相対パス指定"><a href="#%E7%9B%B8%E5%AF%BE%E3%83%91%E3%82%B9%E6%8C%87%E5%AE%9A">相対パス指定</a></h3> <p><strong>カレントディレクトリ</strong>(現在作業している場所)を基点としたディレクトリの指定のこと。「自分が今いるところ」を基準にして表現したファイルやフォルダの場所。<br /> <strong>相対パス指定には、記号を使った指定方法もある。</strong><br /> 例:$cd yy</p> <p><strong>相対パスでの指定で扱う記号</strong><br /> <div class="table-responsive"><table> <thead> <tr> <th>記号</th> <th>読み方</th> <th>意味</th> </tr> </thead> <tbody> <tr> <td>~</td> <td>チルダ</td> <td>ユーザのホームディレクトリ</td> </tr> <tr> <td>.</td> <td>ドット</td> <td>カレントディレクトリ</td> </tr> <tr> <td>..</td> <td>ドットドット</td> <td>1つ上のディレクトリ※</td> </tr> </tbody> </table></div></p> <p>※cd../..のように複数回使用すると、2つ上のディレクトリに移動できる。</p> <h1 id="②ls(List segments)コマンド"><a href="#%E2%91%A1ls%28List+segments%29%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">②ls(List segments)コマンド</a></h1> <p>ディレクトリに存在する、ファイルやディレクトリの一覧を表示する<br /> <code>$ls (オプション) (ディレクトリ名)</code><br /> ※オプションやディレクトリの前に必ず半角スペースが必要</p> <p>オプションなしで「ls」のみを実行すると、カレントディレクトリの一覧を表示する。</p> <p><code>$ls /</code>を実行すると、ルーディレクトリに存在するディレクトリ(第2階層)を見ることができる。<br /> <code>$ls -l</code>で<strong>詳細表示</strong>(CentOSの場合ll(エルエル)で同じ結果になる)<br /> <code>$ls -la</code>でさらに<strong>隠し属性も表示</strong></p> <div class="table-responsive"><table> <thead> <tr> <th>オプション</th> <th>オプションの意味</th> </tr> </thead> <tbody> <tr> <td>a</td> <td>隠し属性を表示</td> </tr> <tr> <td>l(エル)</td> <td>詳細を表示(パーミッション、オーナー(所有者)、サイズ、日付)</td> </tr> </tbody> </table></div> <h6 id="隠し属性"><a href="#%E9%9A%A0%E3%81%97%E5%B1%9E%E6%80%A7">隠し属性</a></h6> <p>・・・Linuxではファイルの先頭に.(ドット)をつけることで、表示を隠すことができる決まりがある。</p> <h1 id="③mkdir(make sirectory)コマンド"><a href="#%E2%91%A2mkdir%28make+sirectory%29%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">③mkdir(make sirectory)コマンド</a></h1> <p><strong>ディレクトリを作成する。</strong><br /> <code>$mkdir [ディレクトリ名]</code></p> <h1 id="④cd(change directory)コマンド"><a href="#%E2%91%A3cd%28change+directory%29%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">④cd(change directory)コマンド</a></h1> <p>ディレクトリを移動する。<br /> <code>$cd [ディレクトリ名]</code><br /> ・1つ上のディレクトリを表す「..(ドットドット)」を移動先へ指定し、元のディレクトリへ戻れる。<br /> <code>$cd ..</code><br /> ※絶対パス指定の「cd/home/[ユーザ名]」でも移動できる。</p> <h1 id="⑤touchコマンド"><a href="#%E2%91%A4touch%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">⑤touchコマンド</a></h1> <p>空のファイルを作成したり、ファイルの更新日時を現在の日時に変更することができる。<br /> <code>$touch [ファイル名]</code></p> ko00w1 tag:crieit.net,2005:PublicArticle/17288 2021-05-27T11:01:12+09:00 2021-05-27T11:01:12+09:00 https://crieit.net/posts/4-OS サーバ入門4 OSインストール及び初期設定 <h2 id="ssh(secure Shell)"><a href="#ssh%28secure+Shell%29">ssh(secure Shell)</a></h2> <p>・・・暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。<br /> 「PC(sshクライアント)」から「遠隔地にあるLinux(sshサーバ)」へリモート接続できる。<br /> <特徴><br /> ・Linuxコマンドを実行することはもちろん、<strong>ファイルの転送</strong>も行える。<br /> ・通信に使われるsshプロトコルは、<strong>TCPの22番ポート</strong>が使用される。</p> <h2 id="<VirtualBoxでCentOS7を使う場合の注意>"><a href="#%EF%BC%9CVirtualBox%E3%81%A7CentOS7%E3%82%92%E4%BD%BF%E3%81%86%E5%A0%B4%E5%90%88%E3%81%AE%E6%B3%A8%E6%84%8F%EF%BC%9E"><VirtualBoxでCentOS7を使う場合の注意></a></h2> <p>・<strong>マウスがコンソール画面から外へ出られない場合</strong>は、キーボードの右側にある【Ctrl】キーを押すこと。<br /> ・VirtualBox情報ウィンドウがでたら「キャプチャー」を選択。キャプチャするとマウスは仮想マシンの画面に固定される。<br /> (マウスがクリックできない、カーソルが途中までしか動かないときには)<br /> ・Tabキー選択位置の移動<br /> ・Enterキーボタン押下</p> <h2 id="root"><a href="#root">root</a></h2> <p>・・・Linuxで最強の権限を持つスーパーユーザ</p> <h2 id="CentOSでのコマンド"><a href="#CentOS%E3%81%A7%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">CentOSでのコマンド</a></h2> <p><code>ip a</code>Windowsのipconfigに近いコマンド。CentOSのIPアドレスを確認することができる。</p> <p>・Linuxは、sshでリモートログインして操作する運用がほとんど。運用現場では、「Tera Term」がクライアントソフトとしてよく使われる。<br /> ・スナップショットで復元する場合は、仮想マシンの電源をオフにする必要がある(オンの場合は復元がグレーアウトしてクリック不可となる)</p> <h1 id="<Ubuntuインストール>"><a href="#%EF%BC%9CUbuntu%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%EF%BC%9E"><Ubuntuインストール></a></h1> <p>・仮想マシンのメモリサイズは、「2048MB」に変更すること。</p> ko00w1 tag:crieit.net,2005:PublicArticle/17284 2021-05-27T09:48:05+09:00 2021-05-27T09:48:05+09:00 https://crieit.net/posts/Linux-60aeec451e55c サーバ入門4 Linuxの基礎知識 <h1 id="Linuxとは"><a href="#Linux%E3%81%A8%E3%81%AF">Linuxとは</a></h1> <p>一般的には、<strong>Linuxカーネル</strong>もしくは、Linuxカーネルを使っているOSのことを指す。<br /> 1991年、<strong>リーナス・トーバルズ</strong>氏がヘルシンキ大学在学中に、自分のPC用に開発した<strong>UNIX</strong>風のカーネルがルーツとなる。<br /> ・Linuxが誕生するまでは、PCで動作する<strong>オープンソース</strong>のOSはなかった。<br /> ・Linuxは問題があれば、ソースコードを見て、自ら修正することができる。</p> <h3 id="UNIX"><a href="#UNIX">UNIX</a></h3> <p>・・・1969年にベル研究所がPDP-7にとあるゲームを移植するために開発したOS。今では当たり前の<strong>マルチタスク</strong>や<strong>マルチユーザー機能</strong>を初期のころから備えていた。</p> <h2 id="<Linuxの特徴>"><a href="#%EF%BC%9CLinux%E3%81%AE%E7%89%B9%E5%BE%B4%EF%BC%9E"><Linuxの特徴></a></h2> <p>・オープンソースで鍛えられた結果、信頼性が高い<br /> ・サーバ用OSとして、世界中で大人気<br /> ・CLIが主流で、迅速かつ効率的な操作を実現している。</p> <h3 id="CLI(Command Line Interface)"><a href="#CLI%28Command+Line+Interface%29">CLI(Command Line Interface)</a></h3> <p>・・・コマンドは、必要なキーストローク数を減らすために非常に簡潔なものとなっているが、慣れるまで経験が必要。<br /> ・ <strong>W3Techs(Web技術の調査機関)</strong> のレポートを見ると、最新のWebサービスのインフラに使われているOSや、各種ソフトウェアのシェアを知ることができる。</p> <h2 id="<ディストリビューション>"><a href="#%EF%BC%9C%E3%83%87%E3%82%A3%E3%82%B9%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%EF%BC%9E"><ディストリビューション></a></h2> <h3 id="ディストリビューション"><a href="#%E3%83%87%E3%82%A3%E3%82%B9%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3">ディストリビューション</a></h3> <p>・・・一般の人がOSとしてすぐ使えるように、ひとまとめにしたソフトウェアの配布形態。具体的には、<strong>カーネル</strong>、ライブラリ、<strong>シェル</strong>、コマンド、サーバアプリケーションなどのソフトウェアと、それらをコンピュータへインストールするインストーラが含まれる。<br /> <strong>ユーザが入力するコマンド</strong>は、<strong>直接カーネルでは実行されず</strong>に必ず、シェルを経由する設計になっている。</p> <h3 id="カーネル(kernel)"><a href="#%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%28kernel%29">カーネル(kernel)</a></h3> <p>・・・ハードウェアとソフトウェアのやり取りを実現している。<br /> 最重要でかつ最も低レイヤーのプログラム、セキュリティと安全性を担保するため、通常は<strong>システムコール</strong>でしか命令ができない。</p> <h3 id="シェル(shell)"><a href="#%E3%82%B7%E3%82%A7%E3%83%AB%28shell%29">シェル(shell)</a></h3> <p>・・・カーネルとユーザの橋渡し役を行うプログラム。ユーザから入力されたコマンドを解釈してカーネルへ引渡し、その結果をターミナルへ出力する。</p> <p>・Linuxカーネルを含むソフトウェアは、パッケージという形式になっていて、「<strong>パッケージ管理システム</strong>」で管理する。これにより、インストールやバージョンアップなどの作業を、パッケージ単位で効率よく行える。<br /> ・「パッケージ管理システム」は、依存関係で必要なパッケージを識別して、それらをまとめて自動でインストールしてくれる。<br /> ・RedHat系のパッケージ管理システムは<strong>Yum</strong>や<strong>DNF</strong>、Debian系は<strong>APT</strong>が使われる。</p> <h2 id="<ディストリビューションの種類>"><a href="#%EF%BC%9C%E3%83%87%E3%82%A3%E3%82%B9%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E7%A8%AE%E9%A1%9E%EF%BC%9E"><ディストリビューションの種類></a></h2> <h3 id="RedHat系"><a href="#RedHat%E7%B3%BB">RedHat系</a></h3> <p>RedHat Enterprise Linux(RHEL)、CentOS等が該当<br /> 「トラブルを自己責任で解決できない企業」を対象に、サポート付きで売り出したLinuxOSがルーツ。<strong>商用のLinuxでデファクトスタンダード</strong>。<br /> 最新バージョンはRedHat、CentOSともに8</p> <h3 id="Debian系"><a href="#Debian%E7%B3%BB">Debian系</a></h3> <p>Debian GNU/Linux、Ubuntu、Raspbian等が該当<br /> 個人利用や研究、教育目的で利用される。UbuntuはWindowsに近いGUI環境を持つ。<br /> 最新バージョンはDebianが11、Ubuntuは21</p> <h2 id="CentOS"><a href="#CentOS">CentOS</a></h2> <p>セントスやセントオーエスと呼ばれる<strong>RHEL</strong>と高い互換性を持たせることを目指し、開発された。</p> <h4 id="<特徴>OS7まで"><a href="#%EF%BC%9C%E7%89%B9%E5%BE%B4%EF%BC%9EOS7%E3%81%BE%E3%81%A7"><特徴>OS7まで</a></h4> <p>・RHELをベースにしているので、ほかの無償提供されているLinuxより、信頼性が高い。<br /> ・サポート期間が、リリース日から<strong>10年</strong>と長い。</p> <h2 id="Ubuntu"><a href="#Ubuntu">Ubuntu</a></h2> <p>安定に定評があるDebianをベースに「誰でも使いやすい、最新かつ安定したOS」を目指し、開発されている。</p> <h3 id="<特徴>"><a href="#%EF%BC%9C%E7%89%B9%E5%BE%B4%EF%BC%9E"><特徴></a></h3> <p>・Debianをベースにしているので、安定性は高く、CentOSより最新のソフトウェアが多く使われている。<br /> ・GUIに力を入れているので、Windowsユーザでも使いやすい<br /> ・日本語対応も万全</p> <h5 id="<現場でよく見かける使い方>"><a href="#%EF%BC%9C%E7%8F%BE%E5%A0%B4%E3%81%A7%E3%82%88%E3%81%8F%E8%A6%8B%E3%81%8B%E3%81%91%E3%82%8B%E4%BD%BF%E3%81%84%E6%96%B9%EF%BC%9E"><現場でよく見かける使い方></a></h5> <p>・社外向けサービス用サーバ(Web、DNS、Mail etc...)<br /> ・監視系サーバ(Prometheus、Zabbix、Nagios etc...)</p> <h4 id="WordPress"><a href="#WordPress">WordPress</a></h4> <p>・・・オープンソースのブログソフトウェア</p> ko00w1 tag:crieit.net,2005:PublicArticle/17275 2021-05-25T16:35:42+09:00 2021-05-25T16:35:42+09:00 https://crieit.net/posts/Linux-60aca8ced7136 サーバ入門4 Linuxを学習するコツ <p>・Linuxはまさに、<strong>「できる」と「知っている」との間には深くて大きな溝</strong>がある。<br /> ・Linux技術を習得する最も効果的な方法は、「<strong>繰り返し</strong>」触れること。<br /> ・最初のうちは深く考えず、参考にした<strong>正しい手順をそのまま覚える</strong>ことに集中する。まずは構築を繰り返して <strong>「確実に完成させる手順」「構築の流れ」</strong> を覚えることに集中する。</p> ko00w1 tag:crieit.net,2005:PublicArticle/17270 2021-05-25T12:27:41+09:00 2021-05-25T12:28:35+09:00 https://crieit.net/posts/3-60ac6ead67bbf サーバ入門3 追加情報 <p>・DHCPサーバから、自動取得されなくなった場合は</p> <p><strong>1. サーバの電源が抜けていないか<br /> 2. OSが起動しているか<br /> 3. DHCPサーバが起動しているか<br /> 4. 対象スコープのリソースが枯渇していないか</strong><br />                     を確認する。</p> <p>・Windows Server2012R2からDHCPフェールオーバー構成ができるようになり、80/20のルールはそれほど使われなくなっている。<br /> ・1台のPCだろうと、無線LANと有線LANのインターフェースはそれぞれがDHCPDISCOVERを送信して、異なるIPアドレスを取得している(1台のPCで2つ分のIPアドレスを取得していることになる)</p> ko00w1 tag:crieit.net,2005:PublicArticle/17269 2021-05-25T12:19:49+09:00 2021-05-25T12:20:34+09:00 https://crieit.net/posts/3-60ac6cd54a7c9 サーバ入門3 運用体験まとめ <h1 id="1.DHCPサーバの設定変更依頼(DHCPの192.168.1.0/24のスコープを削除して、新しくスコープを作る)"><a href="#1.DHCP%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AE%E8%A8%AD%E5%AE%9A%E5%A4%89%E6%9B%B4%E4%BE%9D%E9%A0%BC%28DHCP%E3%81%AE192.168.1.0%2F24%E3%81%AE%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97%E3%82%92%E5%89%8A%E9%99%A4%E3%81%97%E3%81%A6%E3%80%81%E6%96%B0%E3%81%97%E3%81%8F%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97%E3%82%92%E4%BD%9C%E3%82%8B%29">1.DHCPサーバの設定変更依頼(DHCPの192.168.1.0/24のスコープを削除して、新しくスコープを作る)</a></h1> <p>1.まず、DHCPのネットワーク情報を変える必要がある。DHCPのイーサネット情報から各種IPアドレス情報を変更する。<br /> 2.ネットワークスコープを右クリックして削除する。<br /> 3.新しくスコープ情報を追加する。<br /> 4.クライアントPC側のコマンドプロンプトで「ipconfig /release」で現在のIPアドレスを開放する<br /> 5.また、コマンドプロンプト「ipconfig /renew」でIPアドレスを再取得する。<br /> 6.コマンドプロンプト「ipconfig/all」で各種IPアドレスが変更されているか確認する。<br /> ※クライアントPC側でパブリックネットワークがONになってしまったときは、1回シャットダウンして、ネットワークを「NAT」に変える。そして、起動してネットワークとインターネットの設定を開き、イーサネットのプロパティを開き、「パブリックからプライベートにする」。そして、シャットダウンして「内部ネットワーク」に切り替える。</p> <h1 id="2.DHCPサーバの設定変更依頼(シナリオ1でクライアントPCに割り当てられたものを除外する)"><a href="#2%EF%BC%8EDHCP%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AE%E8%A8%AD%E5%AE%9A%E5%A4%89%E6%9B%B4%E4%BE%9D%E9%A0%BC%28%E3%82%B7%E3%83%8A%E3%83%AA%E3%82%AA1%E3%81%A7%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88PC%E3%81%AB%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%82%89%E3%82%8C%E3%81%9F%E3%82%82%E3%81%AE%E3%82%92%E9%99%A4%E5%A4%96%E3%81%99%E3%82%8B%29">2.DHCPサーバの設定変更依頼(シナリオ1でクライアントPCに割り当てられたものを除外する)</a></h1> <h4 id="<手順>"><a href="#%EF%BC%9C%E6%89%8B%E9%A0%86%EF%BC%9E"><手順></a></h4> <p>1.DHCPで割り当てられたIPアドレスをコマンドプロンプトで確認、静的IPアドレスとして設定する。<br /> クライアントPC側からイーサネットのオプション変更からインターネットプロトコルバージョン4のプロパティを開き、割り当てられた各種IPアドレスを入力(IPアドレス、サブネットマスク、デフォルトゲートウェイ、DNS)<br /> 2.静的IPアドレスで利用中のIPアドレスを除外設定する。アドレスプールを右クリックして、新しい除外範囲をクリック、開始~終了までのIPアドレスの範囲を指定<br /> 3.リースにアドレスが消えていることを確認。</p> <h1 id="3.常に同じIPアドレスを割り当てる(例)IP:172.16.0.100)"><a href="#3%EF%BC%8E%E5%B8%B8%E3%81%AB%E5%90%8C%E3%81%98IP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%82%8B%28%E4%BE%8B%29IP%3A172.16.0.100%29">3.常に同じIPアドレスを割り当てる(例)IP:172.16.0.100)</a></h1> <p>(前提条件)<br /> ・クライアントPCを特定PCとする<br /> ・シナリオ2で行った除外設定は元に戻す</p> <h4 id="<手順>"><a href="#%EF%BC%9C%E6%89%8B%E9%A0%86%EF%BC%9E"><手順></a></h4> <p>1.クライアント側のPCのアドレスをもとに戻す。(静的から動的にする、自動取得にする)<br /> 2.除外設定も削除しておくこと(アドレスプールから除外されているIPアドレスを右クリックして削除する)<br /> 3.固定に必要なクライアント側のMacアドレスを確認する(クライアント側のコマンドプロンプトipconfig/allで確認)<br /> 4.DHCPマネージャーの予約をクリックして、そのまま右クリックし「新しい予約」をクリック<br /> 5.固定するIPアドレスとMacアドレスを入力して追加<br /> 6.クライアント側のコマンドプロンプトで「ipconfig /release」で再構築する。<br /> 7.コマンドプロンプトで「ipconfig /renew」でIPアドレスを再取得する<br /> 8.表示されたIPアドレスが固定したIPアドレスとなっていれば完了</p> <h1 id="4.DHCPサーバをもう1台追加して、80/20ルール(IPアドレスの所持比率)で冗長構成にする。"><a href="#4%EF%BC%8EDHCP%E3%82%B5%E3%83%BC%E3%83%90%E3%82%92%E3%82%82%E3%81%861%E5%8F%B0%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%A6%E3%80%8180%2F20%E3%83%AB%E3%83%BC%E3%83%AB%28IP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AE%E6%89%80%E6%8C%81%E6%AF%94%E7%8E%87%29%E3%81%A7%E5%86%97%E9%95%B7%E6%A7%8B%E6%88%90%E3%81%AB%E3%81%99%E3%82%8B%E3%80%82">4.DHCPサーバをもう1台追加して、80/20ルール(IPアドレスの所持比率)で冗長構成にする。</a></h1> <h2 id="80/20ルール"><a href="#80%2F20%E3%83%AB%E3%83%BC%E3%83%AB">80/20ルール</a></h2> <p>・・・複数のDHCPサーバが同じスコープにサービスを提供されている場合、80/20設計規則を使用して、アドレスのスコープ配布を分散することができる。2台のDHCPサーバで単一のネットワークとアドレスのスコープ範囲を分散する場合、一般的にアドレスの80%を一方のDHCPサーバで配布し、残りの20%をもう一方のサーバで配布する手法がとられる。</p> <h4 id="<手順>"><a href="#%EF%BC%9C%E6%89%8B%E9%A0%86%EF%BC%9E"><手順></a></h4> <p>1.2台目のDHCPサーバを構築(ネットワークを内部にすることを忘れない)<br /> 2.DHCP機能を追加する<br /> 3.DHCPサーバ1の予約機能を削除する<br /> 4.DHCPサーバ1のスコーププロパティからサーバ1のスコープ範囲を全体の80%とする<br /> (例:172.16.0.1~172.16.0.80となる)<br /> 5.Winから右クリックして「すべてのタスク」から再起動をかける<br /> 6.DHCPサーバ2で新しいスコープを追加する(アドレスの範囲は20%分とする。例:172.16.0.81~172.16.0.100)※DHCPサーバ1のリース情報が紛らわしいので削除しておくこと<br /> 7.クライアントPCでアドレスを開放し、再取得する。(ipconfig /release、ipconfig /renew)<br /> 8.クライアントPCでDHCPサーバ2を停止してサーバ1からアドレスを取得できるかテストする。<br /> 9.クライアントPCでDHCPサーバ1を停止してサーバ2からアドレスを取得できるかテストする。両方取得できれば完了</p> <h5 id="片方のDHCPサーバにしかつながらない場合の対処法"><a href="#%E7%89%87%E6%96%B9%E3%81%AEDHCP%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AB%E3%81%97%E3%81%8B%E3%81%A4%E3%81%AA%E3%81%8C%E3%82%89%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AE%E5%AF%BE%E5%87%A6%E6%B3%95">片方のDHCPサーバにしかつながらない場合の対処法</a></h5> <p>1.仮想マシン(DHCPサーバ2)のネットワークアダプターが手順通りの内部ネットワークか<br /> 2.仮想マシン(DHCPサーバ2)とクライアントPCは同じネットワークアドレスか<br /> 3.仮想マシン(DHCPサーバ2)のIPアドレスは他のサーバやクライアントPC(Windows10仮想マシン)やDHCPスコープと重複していないか<br /> 4.DHCPサーバ2のDHCPスコープは上記の範囲内か<br /> 5.クライアントPC(Windows10仮想マシン)にてipconfig /releaseでDHCPサーバ1から取得したIPアドレスを解放したことを確認してから、ipconfig /renewでIPアドレスの取得リクエストを実施しているか<br /> 6.上記でもNGなら仮想マシンすべての停止と起動やVirtulaBoxを動かしているPCそのもののシャットダウンと起動を実施(これはソフトウェアの不具合・バグの対処として実施)</p> ko00w1 tag:crieit.net,2005:PublicArticle/17265 2021-05-25T11:24:08+09:00 2021-05-25T11:24:08+09:00 https://crieit.net/posts/3-DHCP-60ac5fc881c1b サーバ入門3 DHCPサーバの動作確認 <p>DHCPクライアントを内部ネットワークに接続し、DHCPサーバから提供されたIPアドレスが自動設定されることを確認する。</p> <h5 id="<手順>"><a href="#%EF%BC%9C%E6%89%8B%E9%A0%86%EF%BC%9E"><手順></a></h5> <p>1.DHCPクライアント役の仮想マシンのネットワーク設定を<strong>NAT→内部ネットワーク</strong>に変更して起動。<br /> 2.DHCPのIPアドレス配布状況をDHCP管理ツールの<strong>アドレスのリース</strong>で確認し、クライアントが存在することを確認する。<br /> 3.クライアントPCのIPアドレス、サブネットマスク、ゲートウェイアドレス、DNSサーバのアドレスが、DHCPサーバで指定したとおりであることを確認する。(クライアントPC側のコマンドプロンプトで「ipconfig/all」を実施。)</p> ko00w1 tag:crieit.net,2005:PublicArticle/17264 2021-05-25T11:18:13+09:00 2021-05-25T11:18:13+09:00 https://crieit.net/posts/3-DHCP-60ac5e658bae7 サーバ入門3 DHCPクライアントの準備 <p>DHCPサーバの動作確認をするため、DHCPクライアント役の仮想マシンをVirtualBox上に構築したいので、仮想マシンの作成とOSのインストールを実施する。<br /> ※<strong>方法はサーバ入門2と一緒だが、OSは「Windows10」、ネットワークアダプターは「NAT」とする。</strong></p> ko00w1 tag:crieit.net,2005:PublicArticle/17263 2021-05-25T11:12:49+09:00 2021-05-25T11:12:49+09:00 https://crieit.net/posts/3-DHCP-60ac5d213a1e0 サーバ入門3 DHCPサーバの設定 <p>DHCPサーバにDHCPクライアントへ配布したい以下の情報を設定する。</p> <p><strong>1. 配布するIPv4アドレスの範囲<br /> 2. サブネットマスク<br /> 3. デフォルトゲートウェイのあどれす<br /> 4. DNSサーバのアドレス</strong></p> <h5 id="<手順>"><a href="#%EF%BC%9C%E6%89%8B%E9%A0%86%EF%BC%9E"><手順></a></h5> <p>1.DHCPの管理ツールを起動(ツールからDHCP)<br /> 2.新しいスコープウィザードより、IPアドレスの範囲、サブネットマスク、デフォルトゲートウェイ、DNSサーバのアドレスを設定<br /> 3.スコープのアクティブ化を実施</p> ko00w1