ひとり情シス日記#5 Linux/サーバー
小さな組織でひとり情シスやる事になったので、自己リマインド&勉強アウトプット用の記事。解像度を上げて随時更新
Linuxとは
WindowsやMacOS、AndroidのようなOS(基本ソフト)で1991年大学生がUNIXを真似し開発されオープンソース化。無料で使える。サーバー、組み込み、デスクトップなど幅広い用途で使用されている。
カーネルとディストリビューション
カーネル(和訳:種)はOSの中核となるソフトウェアだが、それだけでは機能が少なすぎるので、カーネルに色々なソフトウェアを組み合わせて使いやすくしたものを、ディストリビューションという。(カーネル=Linux)ディストリビューションは1000種類以上あるが、RedHat系とDebian系が主流。
RedHat系
・RedHatEnterpriseLinux
・CentOS
・Fedora
Debian系
・Debian BNU/Linux
・Ubunts
シェル
LinuxのCLIを提供するソフトウェア。実際のCLI入力はターミナル画面へ入力するが、シェルとは別のソフトウエア。(ターミナルの中でシェルが動いている)
・シェル:コマンドを解釈するソフトウェア
・ターミナル:入出力の画面を提供するソフトウエア
Linuxは「1つのプログラムには1つのことを上手くやらせる」という設計思想のため、色々な機能が出来るだけ細かく分かれて作られている。そうすることで、お互いの影響を受けずに柔軟に開発することができる。
コマンド
【cdコマンド】ディレクトリ移動
cd / 「/」はツリー構造の最上部(ルートディレクトリ)へ
cd . 現在のディレクトリ
cd .. 一つ上の階層のディレクトリへ
cd ~ /home/ユーザー名ディレクトリへ
【pwdコマンド】カレントディレクトリ表示
pwd ※意味はprint name of working directory
/home
【lsコマンド】ディレクトリ中身表示
ls ※意味はlist
bin dev home
パス名展開例(*任意の文字列、?任意の一文字)
例拡張子がhtmlファイルを表示
$ ls*.html
index.html home.html job.html
zで始まり4文字で終わるファイルを表示
$ ls /bin/z???
/bin/zcat /bin/zcmp /bin/znew
ファイル詳細情報を表示(-l)
$ ls ーl
隠しファイルなど設定ファイル全てを表示(-a)
$ ls ーa
.bash_history .bashrc desktop
ファイル種別を表示(-F)
$ ls ーF
bin@ dev/
【mkdirコマンド】ディレクトリ作成
mkdir code
【rmdirコマンド】空のディレクトリを削除
rmdir code ※空ではないディレクトリを削除しようとするとエラーになる。隠れファイルが残っている場合など、誤削除を防止できる。
【**--helpコマンド】コマンドのヘルプメッセージを表示
ls --help
【man **コマンド】コマンドのmanualを表示
man ls
SQL(Structured Query Language)
SQLは、データベース管理システム(DBMS)に対してデータを操作するための標準的な言語。具体的には、データの挿入、更新、削除、検索などの操作を行うための命令を提供。代表的なSQLデータベースには、MySQL、Microsoft SQL Server、Oracle Databaseなどがある。
多くのSQLベースのデータベース管理システムは、Linuxサーバー上で動作している。データベースをインストールするためのパッケージ管理システム(例:apt、yum)が提供されており、簡単にデータベースソフトウェアをインストールできる。(Linuxが安定しており、パフォーマンスが良く、コストがかからないという利点があるため)
※SQLインジェクション(SQL Injection)
Webアプリケーションに対するセキュリティ攻撃の一種で、攻撃者が悪意のあるSQLコードを挿入し、データベースを操作することを目的としている。この攻撃によって、データの漏洩、改ざん、削除、管理者権限の奪取などが行われる可能性がある。対策としては、プリペアドステートメント(SQLクエリのテンプレートを事前に準備しておき、実行時にパラメータをバインドする手法)やパラメータ化クエリ(ユーザー入力から不正な文字や危険な文字を取り除くプロセス)の使用、入力のサニタイズとバリデーション(ユーザー入力が予期された形式や範囲内にあることを確認するプロセス)、最小権限の原則の適用などを実践することで、リスクを大幅に軽減。
サニタイズはクロスサイトスクリプティング(ユーザーブラウザのセッション情報の盗難、ページ改ざん)にも有効。
この記事が気に入ったらサポートをしてみませんか?