【MySQL】用戶賬戶、角色、口令、PAM

目錄

查看用戶賬戶設置

連接

1.本地連接

2.遠程連接

賬戶

角色

操作用戶賬戶和角色

配置口令和賬戶有效期限

手工使口令過期

配置口令有效期限

PAM身份驗證插件

客戶端連接:使用 PAM 賬戶登錄


在連接到MySQL服務器并執行查詢時,會驗證你的身份并為您的活動授權。

查看用戶賬戶設置

查詢mysql數據庫以查看user標識信息:SELECT user, host, authentication_string?FROM mysql.user;

  • user:此賬戶上的用戶名。
  • host:用戶可以連接的DNS主機名或IP地址。
  • authentication_string:用戶必須對該賬戶提供的口令,是加密的(AES加密算法)。

連接

1.本地連接

要使用mysql客戶機連接到本地服務器,為要使用的帳戶指定用戶名和口令:

mysql -u username -ppassword -h localhost

默認主機名是localhost(127.0.0.1/::1),表示本機套接字連接。

mysql.user 表包含具有正確口令的 username@localhost 帳戶。

2.遠程連接

要連接到未安裝在客戶端本地主機上的服務器,必須提供要連接的服務器的主機名:

mysql -u username -ppassword -h servername

mysql.user 表中與用戶關聯的主機名是指發起連接的客戶端主機的名稱,而不是服務器主機的名稱。

賬戶

賬戶名由用戶名(可以不唯一,長度最長32個字符)和連接到客戶端主機的名稱或IP地址組成。

使用 create user 用戶@主機名?identified by '口令'?創建賬戶,不要創建無口令和匿名帳戶,避免通配符的使用。

角色

角色是一組權限的集合,可以更加方便地添加、刪除和管理授權。角色類似于用戶,存儲在 mysql.users 表中,角色名由用戶和主機組成,但不能像用戶一樣登錄,可以將一個用戶賬戶角色授予另一個用戶。

使用 create role 用戶@主機名 創建一個或多個角色。角色是作為一個特殊類型的賬戶創建的,沒有口令,被鎖定無法登錄,而且指定了默認的驗證插件。

操作用戶賬戶和角色

  1. 使用 rename?user 用戶@主機名 to?用戶@主機名 語句重命名賬戶和角色。
  2. 使用 drop user/role?用戶@主機名 語句刪除用戶賬戶和角色。

配置口令和賬戶有效期限

  1. 創建用戶時使用?create user 用戶@主機名?identified by '口令';設置賬戶口令。
  2. 更改現有用戶使用?alter user 用戶@主機名?identified by '新口令'
  3. 更改當前用戶口令:alter user user()?用戶@主機名?identified by '新口令'
  4. 使用?mysqladmin -u 用戶 -p password '新口令';也可更改口令。

手工使口令過期

  1. 創建口令過期賬戶:CREATE USER 用戶@主機名 IDENTIFIED BY '口令' PASSWORD EXPIRE; 在新用戶第一次登錄時需要重新設置密碼。
  2. 使用戶口令過期:ALTER USER?用戶@主機名 PASSWORD EXPIRE;(追加 ACCOUNT LOCK 還可以使用戶鎖定)

配置口令有效期限

  1. 使用 default_password_lifetime 全局變量指定多少天后必須要更改口令,默認為0,表示口令長期有效。
  2. 創建用戶時配置:CREATE USER 'user'@'host' IDENTIFIED BY '口令' PASSWORD EXPIRE INTERVAL 30 DAY;?
  3. 將默認口令有效期應用于賬戶:ALTER USER 'user'@'host'?PASSWORD EXPIRE DEFAULT;
  4. 禁用自動的賬戶失效:ALTER USER 'user'@'host' PASSWORD EXPIRE NEVER;

PAM身份驗證插件

PAM 身份驗證插件是一個企業版插件,可根據操作系統對MySQL 帳戶進行身份驗證。

PAM 定義了配置身份驗證的服務,這些服務存儲在 /etc/pam.d 中 ,每個服務對應一個文件。

MySQL客戶端 → MySQL服務器 → PAM插件 → /etc/pam.d/mysql-pam → 操作系統認證

(1)直接映射:要創建直接映射到操作系統用戶的 MySQL 用戶,使用語句:

CREATE USER bob@localhost IDENTIFIED WITH authentication_pam AS 'mysql-pam';

用戶:bob,主機:localhost,插件:authentication_pam,驗證字符串:mysql-pam。

  • 用戶?bob@localhost?必須同時是操作系統用戶
  • 密碼驗證完全由操作系統處理
  • 口令不存儲在MySQL 的?mysql.user?表中,它是操作系統驗證口令。
  • 用戶只能使用操作系統密碼登錄

(2)組映射代理:創建一個使用PAM并從OS操作系統組映射到MySQL用戶的匿名代理用戶

 CREATE USER ''@''IDENTIFIED WITH authentication_pam AS 'mysql-pam, www=webuser, root=root';
  • 匿名用戶賬戶(''@'')作為代理
  • 根據操作系統組自動映射到不同 MySQL 賬戶:操作系統 www 組的成員映射到MySQL webuser 帳戶,root組的成員映射到MySQL root 帳戶。
  • 代理用戶必須對映射的帳戶具有PROXY權限:
GRANT PROXY ON webuser@localhost TO ''@'';
GRANT PROXY ON root@localhost TO ''@'';

客戶端連接:使用 PAM 賬戶登錄

MySQL 將從客戶端收到的用戶名和口令傳遞給PAM,PAM針對操作系統進行身份驗證。

(1)PAM 只能處理純文本的口令,必須啟用明文客戶端身份驗證插件:

mysql --enable-cleartext-plugin -u username -p

(2)連接示例:代理用戶采用映射帳戶的身份。示例:Anne 不是MySQL 用戶,但在操作系統的www組中:

# 直接映射用戶連接
mysql --enable-cleartext-plugin -u os_user -p# 組映射用戶連接(用戶 anne 屬于 www 組)
mysql --enable-cleartext-plugin -u anne -p

Anne 的客戶端現在使用webuser@localhost 帳戶的權限登錄。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/73490.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/73490.shtml
英文地址,請注明出處:http://en.pswp.cn/web/73490.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

5種生成模型(VAE、GAN、AR、Flow 和 Diffusion)的對比梳理 + 易懂講解 + 代碼實現

目錄 1 變分自編碼器(VAE)? 1.1 概念 1.2 訓練損失 1.3 VAE 的實現 2 生成對抗網絡(GAN)? 2.1 概念 2.2 訓練損失 a. 判別器的損失函數 b. 生成器的損失函數 c. 對抗訓練的動態過程 2.3 GAN 的實現 3 自回歸模型&am…

印刷電路板 (PCB) 的影響何時重要?在模擬環境中導航

我和我的同事們經常被問到關于 PCB 效應的相同問題,例如: 仿真何時需要 PCB 效果? 為什么時域仿真需要 PCB 效應? 當 PCB 效應必須包含在仿真中時,頻率是否重要? 設計人員應該在多大程度上關注 VRM 模型中包…

2024跨境電商挑戰:AI反檢測技術在避免封號中的作用

2024跨境電商挑戰:AI反檢測技術在避免封號中的作用 跨境電商的浪潮席卷全球,為商家打開了通往世界各地的大門。然而,隨著平臺監管的加強,合規性問題成為商家不得不面對的挑戰。在電商平臺的嚴格監控下,任何違規行為都…

QML控件 - Text

在 QML 中,Text 組件是用于顯示文本的核心元素,支持豐富的文本樣式、布局和交互功能。以下是 完整指南 和常見用法示例: 1. 基礎用法 import QtQuick 2.15Text {text: "Hello, QML!" // 顯示文本內容font.pixelSize: 20 // 字體…

網絡運維學習筆記(DeepSeek優化版) 024 HCIP-Datacom OSPF域內路由計算

文章目錄 OSPF域內路由計算:單區域的路由計算一、OSPF單區域路由計算原理二、1類LSA詳解2.1 1類LSA的作用與結構2.2 1類LSA的四種鏈路類型 三、OSPF路由表生成驗證3.1 查看LSDB3.2 查看OSPF路由表3.3 查看全局路由表 四、2類LSA詳解4.1 2類LSA的作用與生成條件4.2 2…

HTML5 SVG:圖形繪制的現代標準

HTML5 SVG:圖形繪制的現代標準 引言 隨著互聯網技術的發展,網頁的交互性和美觀性日益受到重視。HTML5 SVG作為一種強大的圖形繪制技術,在網頁設計中發揮著重要作用。本文將深入探討HTML5 SVG的原理、應用場景以及如何在實際項目中運用。 一、HTML5 SVG簡介 1.1 什么是SV…

多智能體融合(Multi-Agent Fusion)

多智能體融合(Multi-Agent Fusion)是指在多智能體系統(MAS, Multi-Agent System)中,多個智能體(Agent)通過協作、競爭或共享信息,實現全局最優的智能決策和任務執行。該方法廣泛應用…

[學習筆記]NC工具安裝及使用

工具簡介 Netcat(簡稱 nc)是一款強大的命令行網絡工具,被稱作瑞士軍刀,用來在兩臺機器之間建立 TCP/UDP 連接,并通過標準的輸入輸出進行數據的讀寫,大家也可以使用Nmap(增強版nc工具&#xff0…

SvelteKit 最新中文文檔教程(11)—— 部署 Netlify 和 Vercel

前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte …

計算機等級4級數據庫工程師(筆記1)

數據依賴(2):多值依賴 進程(4):PCB 內存管理(3) 文件管理(3) 關系模型中數據的物理結構是一張二維表(錯) 在用戶看來,…

pod 不允許改哪些字段?

在 Kubernetes 中,Pod 是一種不可變的資源對象。這意味著一旦 Pod 被創建,其中的一些字段是無法修改的。如果你需要對這些不可變字段進行更改,通常的做法是刪除舊的 Pod 并創建一個新的 Pod。 以下是一些在 Pod 中不可修改的關鍵字段&#x…

量子計算的黎明:從理論到現實的突破之旅

在科技發展的浩瀚星空中,量子計算如同一顆璀璨的新星,正逐漸照亮人類探索未知領域的道路。從最初的理論構想,到如今實驗室中的初步實現,量子計算正經歷著一場從夢想到現實的華麗蛻變。這場變革不僅挑戰了我們對計算本質的理解&…

【Unity】 HTFramework框架(六十三)SerializableDictionary可序列化字典

更新日期:2025年3月26日。 Github 倉庫:https://github.com/SaiTingHu/HTFramework Gitee 倉庫:https://gitee.com/SaiTingHu/HTFramework 索引 一、SerializableDictionary可序列化字典1.使用SerializableDictionary2.實現思路 二、Serializ…

二叉樹練習

102. 二叉樹的層序遍歷 - 力扣(LeetCode) 使用隊列進行層序遍歷。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.v…

深入了解 Git Merge:用法、類型與合并沖突處理

文章目錄 深入了解 Git Merge:用法、類型與合并沖突處理一、Git Merge 是什么?二、Git Merge 的工作流程四、Git Merge 的類型1. Fast-forward Merge(快進合并)2. Three-way Merge(三方合并) 四、Git Merge…

DeepSeek助力Vue開發:打造絲滑的鍵盤快捷鍵

DeepSeek助力Vue開發:打造絲滑的鍵盤快捷鍵 大家好,給大家分享一篇文章!并提供具體代碼實現幫助大家深入理解,徹底掌握!如果能幫助到大家或給大家一些靈感和啟發,歡迎收藏關注。💕💕…

FreeRTOS 隊列結構體 xQUEUE 深度解析

一、核心成員與功能設計 FreeRTOS 的隊列結構體 xQUEUE 是任務間通信(IPC)的核心數據結構,通過統一的設計支持隊列、信號量、互斥量等多種同步機制。其設計體現了 ?**"數據拷貝 結構復用"** 的理念,兼顧輕量化與擴展…

斜對角線的應用

引入 題目描述 經典應用:八皇后問題 dg和udg數組的解釋 對角線 d g [ u i ] d g [ u i ] dg[ui]dg[ui] dg[ui]dg[ui],反對角線 u d g [ n ? u i ] u d g [ n ? u i ] udg[n?ui]udg[n?ui] udg[n?ui]udg[n?ui]中的下標 u i ui ui和 n ? …

簡單聊聊Oracle和MySQL數據庫的區別和使用場景

對于IT的技術人員,MySQL是非常熟悉的開源數據庫,在各個行業被廣泛應用。但是對于Oracle數據庫,很多專業的IT從業人員不太了解,今天就來聊一聊Oracle和MySQL的一些區別。 1. 使用場景 首先MySQL是在各種IT公司或者非IT公司廣泛應用…

STM32學習筆記之存儲器映射(原理篇)

📢:如果你也對機器人、人工智能感興趣,看來我們志同道合? 📢:不妨瀏覽一下我的博客主頁【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸對你有幫助,可點贊 👍…