chmodは所有者/グループ/その他のモードビットを変更する操作です。アクセス失敗を直すために全体を777へ広げたり、所有者やMACを一括変更したりしません。対象パス、実行ユーザー、必要な操作、ACL/マウント等を先に確認します。
ファイルとディレクトリでr/w/xの意味が違う
| 権限 | 通常ファイル | ディレクトリ |
|---|---|---|
| r | 内容の読取り | 項目名の列挙 |
| w | 内容の書込み | x等の条件と合わせて項目の作成/削除/名前変更 |
| x | 実行許可。実行形式等は別条件 | 既知の名前への探索/通過 |
ファイル自体が読めるモードでも、親ディレクトリを通過できなければ開けません。逆にディレクトリのxだけで、名前を知っているファイルを開ける場合と、一覧を読める場合は違います。削除も対象ファイルのwだけで決まりません。所有者は通常chmodでモードを戻せるため、000を「あらゆる主体から永久にアクセス不可」とは説明しません。
新しい一時ディレクトリだけで試す
以下はGNU/Linuxのstat -cを使うPOSIX sh用の例です。mktempで新しい検体を作り、sudoや既存プロジェクトのパスを使いません。親からのdefault ACLがない検体での表示結果であり、Windowsのcmd/PowerShell/NTFSや全POSIX実装へ同じ構文を保証しません。
#!/bin/sh
set -eu
# GNU/Linux practice in a new empty directory only; no sudo or existing project paths.
work=$(mktemp -d)
printf 'New practice directory: %s\n' "$work"
(
cd "$work"
umask 077
printf '#!/bin/sh\nexit 0\n' > run.sh
mkdir data
chmod u+x -- run.sh
stat -c '%a %n' -- run.sh data
# Expected: 700 for each, with no inherited default ACL in this fixture.
: > omitted.txt
: > explicit.txt
chmod 000 -- omitted.txt explicit.txt
chmod +r -- omitted.txt
chmod a+r -- explicit.txt
stat -c '%a %n' -- omitted.txt explicit.txt
# Expected under umask 077: 400 omitted.txt / 444 explicit.txt.
)
# No recursive cleanup command: inspect the newly created directory separately.
umask 077では、対象を省略したchmod +rと、全員を明示するchmod a+rは同じ結果になりません。この例ではそれぞれ400/444になります。作成時のumaskは単純な引算ではなく、要求モードのうちmaskが示すビットを落とす処理です。default ACL等の条件も別に確認します。通常ファイルの要求0666とumask 0055なら0622で、0666 - 0055 = 0611という計算にはなりません。
再帰変更とXを「安全」という一語で済ませない
chmod -R 755は非実行の通常ファイルにもxを付けます。大文字Xはディレクトリ、または元々誰かのxがあるファイルへ実行/探索ビットを付ける条件で、既存xを無条件に取り除く機能ではありません。対象の所有者/ACL/秘密ファイルを判断するものでもなく、X付きだから混在した実プロジェクト全体へ安全とは言えません。
findで型を分けても、既存スクリプトのxや共有設定を意図せず変える可能性があります。対象を一覧で確認してから必要な範囲だけ変更し、シンボリックリンクや別マウント/競合も考慮します。GNUの検体では、再帰中に見つかったファイルへのリンクと、コマンド引数へ直接指定したリンクとで変更先が違うことを確認しました。リンクを使えば安全な境界ができるとは扱いません。
特殊bit・所有者・Web用途は別に設計する
GNU chmodではディレクトリのSGID等が通常の数値指定で保持される条件があります。検体の2770のディレクトリへ755を指定した結果は2755で、明示的なg-sで755になりました。全実装/全ファイルの特殊bitが同じように残るとは保証しません。
SUID/SGIDの実行時効果、スクリプト、nosuid、実行ユーザーの権限等は別の条件です。Stickyも「ファイル所有者だけが削除可」ではなく、ディレクトリ所有者/特権等の例外を確認します。今回の検査はmodeの保持等で、特権実行や複数ユーザーの全アクセス制御を検証したものではありません。
644/755/775は全サイト共通の推奨値ではありません。アプリコード、秘密情報、書込み用データ、実行ファイルを分け、実際のユーザー/グループ/ACLを設計します。Web実行ユーザーへコード全体の所有権や書込権を与えると改ざん範囲も広がります。公開鍵と秘密鍵をまとめてchmodするワイルドカードや、全Webツリーへの再帰chown/chmodを通常の対処にしません。
SELinux/AppArmorは無効化せず原因を確認する
DACのmode以外にACL、読み取り専用/noexec/nosuid等のマウント、SELinux/AppArmor等の制約もあります。ログ/ラベル/対象プロセスの方針を確認し、一般のエラーを理由にcomplain化やラベルの再帰上書きをしません。semanage portによるSELinuxのport型設定はファイアウォールを開ける操作とは別です。MAC/所有権/永続umaskの変更には、その管理範囲の確認が必要です。
旧記事の例と個別の注意
現在のコード/表/章を個別の注意付きで残し、元v4の基本構文/754の例等も末尾に保持します。読み取れたmodeを全アクセス許可の保証とはせず、既存Webツリー/秘密鍵/OS設定へそのまま実行しないでください。
旧例の注意:旧要点のWeb用644/755/775は全環境共通の推奨ではありません。コード/秘密/実行/書込みデータと実ユーザー/ACLを分け、全体へ一律設定しません。
| この記事の要点 |
|
Linux パーミッションの基本
Linux/Unix のファイルとディレクトリには3 種類のユーザ × 3 種類のアクション の権限ビットが付与されています。
旧例の注意:lsの表示例です。先頭1文字は種類で、続く9文字はmodeの一部の情報です。ACL/所有者/親パス/マウント/MAC等まで示す完全なアクセス許可表ではありません。
$ ls -l file.txt
-rw-r--r-- 1 user group 120 Jun 1 10:00 file.txt
│└─┬┘└─┬┘└─┬┘
│ │ │ └─ その他 (others) : r-- 読取のみ
│ │ └───── グループ (group) : r-- 読取のみ
│ └───────── 所有者 (user / owner) : rw- 読み書き
└─────────── ファイル種別 (- ファイル / d ディレクトリ / l シンボリックリンク)
各文字の意味:
r = read (読取) 4
w = write (書込) 2
x = execute (実行) 1
- = なし 0
数値表記(最頻出)
各桁が「所有者 / グループ / その他」に対応。r=4, w=2, x=1 の合計。
旧例の注意:旧表の666を一般のログへ推奨しません。000も所有者や特権等を含む全てのアクセスを永久に防ぐ意味ではありません。modeの典型表記と用途の設計を分けます。
| 数値 | シンボル | 典型用途 |
|---|---|---|
777 | rwxrwxrwx | 全員フルアクセス(危険、原則使わない) |
755 | rwxr-xr-x | 実行ファイル / ディレクトリ標準 |
700 | rwx------ | 所有者のみアクセス可(~/.ssh) |
666 | rw-rw-rw- | 全員読み書き(ログ等) |
644 | rw-r--r-- | 一般ファイル標準 |
600 | rw------- | 秘密鍵 / .env |
444 | r--r--r-- | 読み取り専用 |
000 | --------- | 誰もアクセス不可 |
旧例の注意:既存の秘密鍵や実ファイルへ実行せず、新規検体で確認します。chmodは既存モードを変更する操作です。
# 数値で変更
chmod 644 file.txt
chmod 755 script.sh
chmod 600 ~/.ssh/id_ed25519
# 結果確認
ls -l file.txt
# -rw-r--r-- 1 user group 120 Jun 1 10:00 file.txt
シンボル表記
旧例の注意:chmod +rはumaskによりa+rと同じにならない場合があります。Xは条件付きのxで、既存実行bitを消したり、対象全体の安全性を判定したりしません。
# 構文: chmod [対象][演算子][権限] file
# 対象: u(owner) / g(group) / o(others) / a(all)
# 演算子: + (追加) / - (削除) / = (上書き)
# 権限: r / w / x
# 所有者に実行権限を追加
chmod u+x script.sh
# グループの書き込みを削除
chmod g-w shared.txt
# その他は読み取りのみに上書き
chmod o=r public.txt
# 全員に読み取り追加
chmod a+r doc.txt
chmod +r doc.txt # a は省略可
# 複数同時 (カンマ区切り)
chmod u+x,g+x,o-w script.sh
# X (大文字) : ディレクトリ or 既に x がある場合のみ追加
# → ファイル/ディレクトリ混在で安全
chmod -R u+rwX,g+rX,o+rX project/
再帰的変更 (-R)
旧例の注意:再帰755は通常ファイルにもxを付けます。findで型を分けても既存実行/共有/秘密等の意図を壊し得ます。PHP等の実行bitの影響も一律に害が少ないとは断定せず、全プロジェクトへ実行しません。
# ディレクトリ配下全部
chmod -R 755 project/
# ❌ よくあるミス: ファイルにも 755 を当てると実行ビットが立つ
# 例) PHP ファイルが実行可能になっても害は少ないが意図せず
# ✅ ファイルとディレクトリで権限を分ける (find と組み合わせ)
find project/ -type d -exec chmod 755 {} \;
find project/ -type f -exec chmod 644 {} \;
# ✅ chmod の X 機能でも可
chmod -R u=rwX,go=rX project/
特殊権限: SUID / SGID / Sticky
数値の先頭桁で特殊bitを表せますが、GNUのディレクトリでは通常の数値指定で既存のset-ID bitが保持される条件もあります。実行時効果とbitの変更は別に確認します。
旧例の注意:Stickyはファイル所有者だけに削除を限定するという一律の規則ではありません。ディレクトリ所有者/特権等も関係します。特殊bitの効果はOS/実行形式/マウント等にも依存します。
| 値 | 名前 | 意味 |
|---|---|---|
4 | SUID | 実行時に所有者の権限で動く(/usr/bin/passwd 等) |
2 | SGID | ファイル: グループ権限で実行。ディレクトリ: 配下の新規ファイルが親グループを継承 |
1 | Sticky | ディレクトリ内のファイル削除は所有者のみ(/tmp) |
旧例の注意:旧コメントのSGID付き2755という見出しと実際の2775は一致していません。既存の/usr/local/binや/var/sharedへ実行せず、bitの表記と実行時効果を区別します。
# SUID 付き 755 = 4755
chmod 4755 /usr/local/bin/myprog
ls -l /usr/local/bin/myprog
# -rwsr-xr-x ← 所有者 x の位置が "s"
# SGID 付き 755 = 2755 (ディレクトリ向け)
chmod 2775 /var/shared
# drwxrwsr-x ← グループ x の位置が "s"
# Sticky 付き 777 = 1777 (典型: /tmp)
ls -ld /tmp
# drwxrwxrwt ← その他 x の位置が "t"
# シンボル表記
chmod u+s file # SUID
chmod g+s dir # SGID
chmod +t dir # Sticky
umask: デフォルトパーミッション
作成時の要求modeとumaskのbit演算、default ACL等を確認します。単純な引算の公式ではなく、既存ファイルへchmodした時のmodeとも分けます。
旧例の注意:umaskは要求modeからの単純引算ではありません。default ACLのない作成ならmaskのbitを落とします。022の例だけで一般化せず、077等の変更や.bashrcへの永続追記を既存環境へ実行しません。
# 現在の umask 確認
umask
# 0022
# umask 022 の場合:
# ファイル = 666 - 022 = 644 (rw-r--r--)
# ディレクトリ = 777 - 022 = 755 (rwxr-xr-x)
# 厳しめに(自分以外見せない)
umask 077
# ファイル = 600, ディレクトリ = 700
# 永続化
echo "umask 022" >> ~/.bashrc
所有者・グループ変更(併用)
旧例の注意:所有者/グループ変更はchmodとは別操作です。既存Webツリーへの再帰chownや共有設定変更を、アクセス失敗の通常対処として行いません。
# 所有者変更
chown nginx:nginx /var/www/html
# 所有者だけ
chown nginx file.txt
# グループだけ
chgrp www-data file.txt
chown :www-data file.txt # 等価
# 再帰
chown -R nginx:nginx /var/www/html
# シンボリックリンク自体を変更(リンク先ではなく)
chown -h nginx symlink
Web サーバ推奨パーミッション
旧例の注意:Webコード全体への書込権/所有権付与や再帰変更は推奨しません。755/775までなら必ず安全という意味でもなく、公開鍵/秘密鍵をid_*でまとめて変更しません。
# 一般的な PHP / Laravel / WordPress の推奨
# ファイル: 644
find /var/www/html -type f -exec chmod 644 {} \;
# ディレクトリ: 755
find /var/www/html -type d -exec chmod 755 {} \;
# Web サーバが書き込む必要があるディレクトリ: 775
chmod -R 775 /var/www/html/storage # Laravel
chmod -R 775 /var/www/html/bootstrap/cache # Laravel
chmod -R 775 /var/www/html/wp-content/uploads # WordPress
# 所有者を Web サーバユーザに
chown -R www-data:www-data /var/www/html
# ❌ NG: 全部 777 にすると誰でも改ざん可能(マルウェア混入)
# 必ず 755 / 775 までに留める
# 秘密情報は 600 で所有者のみ
chmod 600 .env
chmod 600 ~/.ssh/id_*
SELinux / AppArmor との関係
CentOS / RHEL のSELinux、Ubuntu のAppArmor 環境では、chmod だけでは不十分なことがあります。MAC(強制アクセス制御)がブロックします。
旧例の注意:MACの変更を含む旧例です。chcon/restoreconの再帰適用やaa-complainを診断の読取と混ぜません。semanage portはSELinuxのport型設定で、firewall開放ではありません。実設定は変更していません。
# SELinux 状態確認
getenforce
# Enforcing / Permissive / Disabled
# ファイルのコンテキスト確認
ls -lZ /var/www/html
# system_u:object_r:httpd_sys_content_t:s0
# Web 書き込みを許可するコンテキスト付与
chcon -R -t httpd_sys_rw_content_t /var/www/html/storage
restorecon -R /var/www/html # ポリシー通りに戻す
# ポート開放 (例: Web 8080)
semanage port -a -t http_port_t -p tcp 8080
# AppArmor 確認
sudo aa-status
sudo aa-complain /etc/apparmor.d/usr.sbin.nginx # 一時的に緩和
FAQ
Q: chmod 777 にしても動かない
A: ① 親ディレクトリの x が無いと辿れない、② SELinux 等の MAC、③ ACL (getfacl) で別途制限、④ マウントオプション(noexec)。
Q: シンボリックリンクの権限は意味がある?
A: GNU/Linuxではリンク自身のmodeを通常のchmodで変更するものではありません。コマンド引数のリンクと再帰探索中のリンク、リンク先/親パス等を区別し、全OS/全オプションで同じとは断定しません。
Q: Windows でも chmod は動く?
A: WSL/Git Bash/Cygwinやファイルシステム/マウントで意味が異なります。このGNU/Linuxの検体結果をWindows/NTFSへそのまま当てはめず、実行環境とACL等を確認します。WSL2を本番用の一律推奨にしません。
元v4の基本構文と754の例
Linuxコマンドであるchmodを使用することで権限を変更することが出来ます。
元例の注意:アクセス権/ファイル名は説明用の置換箇所で、その日本語をそのまま実行しません。実パスと対象modeを限定して確認します。
|
chmod アクセス権 ファイル名 |
ディレクトリ配下全ての権限変更
元例の注意:-Rは広い範囲へ変更します。型/リンク/既存mode/所有者等を調べず、実プロジェクト全体へ使いません。
|
chmod -R アクセス権 ファイル名 |
アクセス権の説明
元例の注意:元表のr/w/xは短い説明です。ディレクトリではrは列挙、xは探索等で、ファイルと意味が異なります。
| r | 読み取り |
| w | 書き込み |
| x | 実行 |
以下、アクセス権を調べる例。
元例の注意:llは全shellにある標準コマンドではなくalias等の場合があります。ls -l等で確認し、種類とmode、ACL/所有者等を分けます。
|
$ ll -rw-r--r-- 1 tarou tarou 10240 6月 27 20:17 sample.txt |
先頭はファイル種類、続くmode表示を所有者/グループ/その他へ分けます。これだけでACL等を含む全アクセス許可は分かりません。
左から数えて
1: ファイルの種類 (-: 通常ファイル d: ディレクトリ l: リンク)
234: 所有者のアクセス権
567: グループのアクセス権
8910: その他ユーザーのアクセス権
となる。
アクセス権の付与
アクセス権を付与するには 「chmod 754 sample.txt」といった具合に数値で付与する。
数値の内訳は以下の通り
r: 4
w: 2
x: 1
として合計値を記載する。
3桁なのは左から 所有者、グループ、その他ユーザー のアクセス権とする。
例えば以下の例では
元例の注意:754はbitの例で所有者rwx/グループr-x/その他r--です。全ファイルに実行bitを付ける推奨ではありません。
|
chmod 754 sample.txt |
所有者: rwx
グループ: rx
その他ユーザー: r
ということになる。
確認範囲と関連情報
2026年10月26日確認。GNU coreutils 9.7/Python3.13.5のLinux隔離コンテナで非root UIDの新規一時ファイルだけを使い、掲載例とmode/umask/r/x/リンク/SGID保持を検査しました。default ACL、実MAC、特権実行/多ユーザーの全権限、Windows/全POSIX実装や本番Webサーバー設定は未検証。既存ファイル/所有者/OS policy/永続umaskは変更していません。
コマンド一覧の親ページから子ページを選択できます。Linux配下の階層は変更しません。
一次資料:GNU chmod、GNU版chmodのman page、Linux umask、Ubuntu AppArmor。GNUサイトの取得が失敗したため、今回の事実照合には同実装のman page/隔離コマンドとLinux man-pagesを使っています。
子ページはありません
- ls ファイル/ディレクトリ一覧表示
- sudo ユーザー指定
- cron/crontab ジョブの自動実行と登録方法
- wget http通信によるファイルダウンロード
- rm ファイル/ディレクトリ削除
- pwd カレントディレクトリの表示
- cd ディレクトリの移動
- ./configure
- make
- make install
- unzip ファイルの解凍
- mv ファイル/ディレクトリの移動および名称変更
- mkdir ディレクトリの作成
- touch 空ファイルの新規作成
- vi テキストディタの使用
- find ファイル/ディレクトリ検索
- grep 文字列の検索
- tail ファイルの末尾表示
- curl HTTP通信によるリクエスト
- nslookup ドメインのIP解決
- apt update パッケージリストの情報を更新
- apt upgrade パッケージの更新
- ln リンク/ショートカットの作成と削除
- rsync ファイル/ディレクトリの同期
- ssh リモートとの暗号化通信
- scp sshを利用したファイルのコピー
- unzip zip ファイルを解凍する
- cp ファイル/ディレクトリのコピー
- diffファイルの差分抽出
- fdisk ハードディスクに対する操作
- lsblk デバイスをツリー状で表示する
- kill プロセスを終了させる
- zip ファイルやディレクトリをzip形式に圧縮する
- hostコマンド
- chmod 権限の変更
- ip IPアドレスの確認
- chown コマンド(所有者の変更)
- chgrp ファイル/ディレクトリのグループ情報の変更
- nohupと'&' プログラムのバックグラウンド実行(ssh接続時)
- lsof 開いているポート番号の確認
- tar ファイルの圧縮と解凍
- file ファイルの種類を表示
- cat ファイルの中身を表示
- head ファイルの先頭部分を表示
- wc 行数/単語数/文字数を確認
- shutdown システムのシャットダウンと再起動
- ps プロセスの確認
- which コマンドの絶対パスを調べる
- yum RedHat系ディストリビューションの管理
- mount ファイルシステムのマウント
- 特定フォルダ以下の特定拡張子のファイルを再帰的に削除する方法
- 特定のフォルダとそのサブフォルダ内にある特定のファイル名のファイルを再帰的に削除
- sed テキスト処理用ストリームエディタ
- awk フィールド単位の柔軟なテキスト処理
- sort 行の並び替え
- uniq 重複行の除去・カウント
- cut 行から特定列を切り出し
- tr 文字の置換・削除
- less ページャでファイルを読む
- more 古典ページャ
- xargs 標準入力をコマンド引数に変換
- paste 複数ファイルを列方向に結合
- top プロセスの動的監視
- htop 強化版インタラクティブプロセス監視
- nice プロセスの優先度を指定して起動
- renice 実行中プロセスの優先度を変更
- jobs シェル管理下のジョブ一覧
- bg ジョブをバックグラウンドで実行
- fg バックグラウンドジョブをフォアグラウンドに
- killall プロセス名でまとめて終了
- pgrep プロセス名から PID を検索
- pkill プロセス名でシグナルを送信
- uname システム情報の表示
- uptime システム稼働時間とロードアベレージ
- free メモリ使用状況の表示
- df ディスク使用量 (ファイルシステム単位)
- du ディレクトリ・ファイル単位の使用量
- lscpu CPU 情報の表示
- lsmod 読み込み済みカーネルモジュール一覧
- lspci PCI デバイス一覧
- dmesg カーネルリングバッファの表示
- w ログイン中ユーザーと負荷の表示
- ping ホストへの到達性とラウンドトリップ確認
- traceroute ホストまでの経路を表示
- netstat ネットワーク接続・ルーティング表示 (旧式)
- ss netstat 後継、ソケット統計
- ifconfig ネットワークインターフェース表示・設定 (旧式)
- dig DNS リゾルバ問い合わせの定番
- route ルーティングテーブル表示 (旧式)
- iptables Linux パケットフィルタリング
- telnet TCP 接続診断・古典的リモートログイン
- arp ARP テーブルの表示・編集 (旧式)
- useradd ユーザーアカウントの作成
- usermod 既存ユーザーアカウントの変更
- userdel ユーザーアカウントの削除
- passwd パスワードの変更・管理
- groupadd グループの追加
- id ユーザーとグループの ID・所属を表示
- whoami 現在のユーザー名を表示
- su 別ユーザーに切り替え
- dnf Red Hat 系の次世代パッケージマネージャ (yum 後継)
- pacman Arch Linux のパッケージマネージャ
- echo 文字列・変数の出力
- export 環境変数の設定と継承
- alias コマンドの別名定義
- source / . スクリプトをカレントシェルで実行
- history コマンド履歴の表示・操作
- type コマンドの種別 (組み込み/関数/エイリアス/外部) を表示
- env 環境変数表示と一時設定でコマンド実行
- set シェルオプションと位置パラメータの操作
- unset 変数・関数の削除
- printf C 風書式付き出力
- systemctl systemd ユニットの管理
- service init.d 互換のサービス管理
- journalctl systemd ジャーナルログの参照
- crontab 定期実行ジョブの登録・編集
- at 指定時刻に 1 回だけコマンド実行
- umount ファイルシステムのアンマウント
- reboot システムを再起動
- halt システムを停止
- date 日付・時刻の表示と設定
- hostname ホスト名の表示・設定
- gzip ファイルを Deflate で圧縮
- gunzip gzip 圧縮ファイルの展開
- bzip2 高圧縮率の圧縮コマンド
- xz LZMA2 ベースの高圧縮コマンド
- zstd Facebook 製の高速圧縮コマンド
- dpkg Debian パッケージの低レベル操作
- rpm Red Hat パッケージの低レベル操作
- snap Canonical の sandbox パッケージマネージャ
- apt Debian/Ubuntu の高レベルパッケージマネージャ
- 7z 7-Zip コマンドラインツール
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09