Linux下的 mariadb 使用 root 用戶啟動方式


近日因測試安全產品需要,想調整mariadb的啟動用戶為root, 經歷一番波折后終於成功!

注意:以root身份啟動mysql是一項非常危險行為,相當於給了數據庫操作用戶(數據庫管理員或黑客)一個通過mysql對系統直接操作的通道!

實際上是官方不允許root啟動的, 因此在一般啟動方式下root啟動會返回啟動失敗,並於 /var/log/mariadb/mariadb.log 中提示

Please consult the Knowledge Base to find out how to run mysqld as root!

 


好吧,轉入正題,關於Mariadb 啟動方式:

一般人就會操作:  systemctl start mariadb

然而這個指令實際上就是調用了  mariadb.service  (具體目錄用find找),執行對 mariadb 進行啟動。

mariadb.service 修改配置如下:

# vi `find /usr -name 'mariadb.service' ` 

[Unit]

[Service]

Type=simple

User=mysql      此處修改為  User=root        ||  服務的啟動用戶

Group=mysql    此處修改為  Group=root      ||  服務的啟動組

 

#初始化mysql庫文件的腳本,如果 mysql目錄不為空會提示 Database Mariadb is probably initialized in /var/lib/mysql already, nothing is done,  如果排錯時看見此內容可忽略

ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n           

 

#執行mysqld的執行腳本,做了安全檢查,就是這個文件限制root啟動的

ExecStart=/usr/bin/mysqld_safe --basedir=/usr   此處添加參數   --user=root     

 

以下略。。。

 

#systemctl demon-reload

#systemctl restart mariadb

 

PS:同樣操作方式支持mysql以其他用戶啟動,

BUT   /var/lib/mysql  /var/log/mariadb  這兩個目錄的權限或屬主需作調整。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM