ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
MySQL ユーザーのパスワード無効化
方法 A: ACCOUNT LOCK(推奨・MySQL 5.7.6+)
パスワードは残したままアカウントだけロックします。ログイン試行時に明示的にエラーが返り、原因が分かりやすい:
-- ロック
ALTER USER 'app'@'%' ACCOUNT LOCK;
-- アンロック
ALTER USER 'app'@'%' ACCOUNT UNLOCK;
-- 新規ユーザーをロック状態で作成
CREATE USER 'temp'@'%' IDENTIFIED BY 'secret' ACCOUNT LOCK;
-- 状態確認
SELECT User, Host, account_locked
FROM mysql.user
WHERE User = 'app';
ロック中のユーザーがログイン試行すると:
ERROR 3118 (HY000): Access denied for user 'app'@'localhost'.
Account is locked.
方法 B: パスワードを空に / 無効プラグインに
-- パスワードを空にする(接続させない用途)
ALTER USER 'app'@'%' IDENTIFIED BY '';
-- 認証プラグインを mysql_no_login に(MySQL 5.7.6+)
ALTER USER 'app'@'%' IDENTIFIED WITH mysql_no_login;
-- → このユーザーではログイン不可。アプリ内部でだけ参照される definer などに
-- 有効期限を切る(過去日付)
ALTER USER 'app'@'%' PASSWORD EXPIRE;
-- 次回ログイン時にパスワード変更を強制
方法 C: ユーザー自体を削除
-- 一発削除
DROP USER 'app'@'%';
-- 削除後に確認
SELECT User, Host FROM mysql.user WHERE User = 'app';
Linux ユーザーのパスワード無効化
方法 A: passwd -l(パスワードロック)
最も一般的。/etc/shadow のパスワードハッシュ先頭に ! を付与してログインを無効化します:
# ロック
sudo passwd -l alice
# アンロック
sudo passwd -u alice
# 状態確認
sudo passwd -S alice
# alice L 2026-05-17 0 99999 7 -1 (Password locked.)
# ^
# P = 有効, L = ロック, NP = パスワード未設定
# /etc/shadow を直接確認
sudo grep '^alice:' /etc/shadow
# alice:!$6$xxxx:... ← 先頭の ! でロック
方法 B: usermod -L / -U
passwd -l と同じ動作:
sudo usermod -L alice # ロック
sudo usermod -U alice # アンロック
方法 C: chage -E 0(アカウント失効)
パスワードだけでなくアカウント自体を失効させます。sudo / 公開鍵認証も拒否されます:
# アカウント失効日を 1970-01-01 に
sudo chage -E 0 alice
# 失効解除
sudo chage -E -1 alice
# 状態確認
sudo chage -l alice
# Account expires: never ← もしくは過去日付
方法 D: シェルを nologin に
SSH ログインだけを禁止しつつ、その UID 配下のサービス(メール配信など)は動かしたい場合:
sudo usermod -s /usr/sbin/nologin alice
# /sbin/nologin (RHEL) / /usr/sbin/nologin (Ubuntu)
# 確認
grep '^alice:' /etc/passwd
# alice:x:1001:1001::/home/alice:/usr/sbin/nologin
# 元に戻す
sudo usermod -s /bin/bash alice
3 つの「無効化」の違い
| 方法 | SSH パスワード | SSH 公開鍵 | sudo | cron 実行 |
|---|---|---|---|---|
passwd -l | 不可 | 可 | パスワード sudo 不可 | 動く |
chage -E 0 | 不可 | 不可 | 不可 | 止まる |
usermod -s nologin | 不可 | 不可 | 不可 | 動く |
userdel | 消滅 | 消滅 | 消滅 | 消滅 |
SSH 公開鍵だけ無効化したい
# 公開鍵を退避
sudo mv /home/alice/.ssh/authorized_keys /home/alice/.ssh/authorized_keys.disabled
# または rename
sudo chmod 000 /home/alice/.ssh/authorized_keys
# 元に戻す
sudo mv /home/alice/.ssh/authorized_keys.disabled /home/alice/.ssh/authorized_keys
sudo chmod 600 /home/alice/.ssh/authorized_keys
sudo chown alice:alice /home/alice/.ssh/authorized_keys
退職者のアカウント処理(実務手順)
- 引き継ぎ・ファイル退避完了を確認
passwd -l aliceで即座にロックchage -E 0 aliceでアカウント失効find / -user alice 2>/dev/nullで所有ファイル確認- 必要なら所有者を変更(
chown -R newowner /path) - 30 日後など期間を置いてから
userdel alice削除
MySQL 全ユーザーのパスワード強制リセット
-- 全ユーザーのパスワードを即時失効
ALTER USER 'app'@'%' PASSWORD EXPIRE;
-- 全員に対しては動的 SQL
SELECT CONCAT('ALTER USER ''', User, '''@''', Host, ''' PASSWORD EXPIRE;')
FROM mysql.user
WHERE User NOT IN ('mysql.sys','mysql.session','mysql.infoschema','root');
-- 結果をコピペして実行
FAQ
Q: passwd -l しても SSH 公開鍵でログインできる
A: 仕様です。passwd -l はパスワード認証だけ無効化します。完全に止めるなら chage -E 0 または公開鍵を退避。
Q: MySQL の root をロックしたら復旧不能?
A: 他に admin ユーザーがあればそこから ACCOUNT UNLOCK。無ければ --skip-grant-tables で起動して直接 mysql.user を更新。
Q: Active Directory / LDAP 連携のユーザーは?
A: ローカルの passwd -l は効きません。AD / LDAP 側で「アカウント無効」にする必要があります。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- ダウンロード&インストール方法(Windows)
- インストール方法(Linux)
- コマンド一覧
- SQL
- データ型
- 関数
- 管理ツール
- 設定
- パフォーマンスチューニング関連
- エクスポートおよびインポート
- エラー&トラブル
- 文字コードの確認
- 実行中の SQL の状態確認およびプロセスキルの方法
- パスワードの無効化設定
- root ユーザーの初期パスワード確認方法
- rootユーザーのパスワード変更方法
- LIMIT, OFFSET の始まりと挙動
- mysqlのバージョン確認方法
- 実行計画の表示方法
- レプリケーションのステータス確認方法
- 中央値の導き方(バージョン8未満)
- 階層SQL(バージョン8未満)
- パーセンタイルの導き方
- 特定スキーマの全テーブルの全カラム情報を取得する方法
- MySQLで文字列の置換をする方法
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?