《MYSQL數(shù)據(jù)庫Mysql數(shù)據(jù)庫中用戶授權(quán)原則分析》要點:
本文介紹了MYSQL數(shù)據(jù)庫Mysql數(shù)據(jù)庫中用戶授權(quán)原則分析,希望對您有用。如果有疑問,可以聯(lián)系我們。
在為mysql數(shù)據(jù)庫中用戶進行授權(quán)時,秉承如下的原則:
給用戶分配僅夠使用的最小權(quán)限,盡量不在影響整個數(shù)據(jù)庫的user表中分配權(quán)限.
有些權(quán)限是有危險的,例如FILE、GRANT、PROCESS,管理員要慎重使用.MYSQL入門
1,服務(wù)器重新啟動的情況
當mysqld啟動時,所有的授權(quán)表內(nèi)容被讀進存儲器并且從那時開始生效.MYSQL入門
2,被服務(wù)器立即應(yīng)用的情況
用GRANT、REVOKE或SET PASSWORD對授權(quán)表施行的修改會立即被服務(wù)器注意到.MYSQL入門
3,直接修改授權(quán)表的情況
如果手工地修改授權(quán)表(使用INSERT、UPDATE等等),應(yīng)該執(zhí)行一個FLUSH PRIVILEGES語句或運行mysqladmin flush-privileges告訴服務(wù)器再裝載授權(quán)表,否則改變將不生效,除非重啟服務(wù)器.MYSQL入門
4,對現(xiàn)有客戶連接的影響情況
當服務(wù)器注意到授權(quán)表被改變了時,現(xiàn)存的客戶連接有如下影響:
1)、表和列權(quán)限在客戶的下一次哀求時生效.
2)、數(shù)據(jù)庫權(quán)限改變在下一個USE db_name命令生效.
3)、全局權(quán)限的改變和口令改變在下一次客戶連接時生效.MYSQL入門
5,mysql用戶授權(quán)的原則MYSQL入門
一般應(yīng)該遵守如下的這些規(guī)則.MYSQL入門
只有root用戶擁有授權(quán)表的改寫權(quán)MYSQL入門
不要把授權(quán)表的改寫權(quán)授予除root用戶之外的其它用戶(當然,如果你可以用另一個用戶代替root用戶進行管理,以增加平安性).因為這樣,用戶可以通過改寫授權(quán)表而推翻現(xiàn)有的權(quán)限.產(chǎn)生平安漏洞.MYSQL入門
一般情況下,你可能不會犯這個錯誤,但是在安裝新的分發(fā), 初始授權(quán)表之后.這個漏洞是存在的,如果你不了解這時授權(quán)表的內(nèi)容你可能會犯錯誤.MYSQL入門
在Unix(Linux)上,在依照手冊的指令安裝好MySQL后,你必須運行mysql_install_db腳本建立包含授權(quán)表的mysql數(shù)據(jù)庫和初始權(quán)限.在Windows上,運行分發(fā)中的Setup程序初始化數(shù)據(jù)目錄和mysql數(shù)據(jù)庫.假定服務(wù)器也在運行.MYSQL入門
當你第一次在機器上安裝MySQL時,mysql數(shù)據(jù)庫中的授權(quán)表是這樣初始化的:
1)、可以從本地主機(localhost)上以root連接而不指定口令.root用戶擁有所有權(quán)限(包括管理權(quán)限)并可做任何事情.(順便說明,MySQL超級用戶與Unix超級用戶有相同的名字,他們彼此毫無關(guān)系.)
2)、匿名拜訪被授予用戶可從本地連接名為test和任何名字以test_開始的數(shù)據(jù)庫.匿名用戶可對數(shù)據(jù)庫做任何事情,但無管理權(quán)限.MYSQL入門
一般地,建議你刪除匿名用戶記錄:
mysql> DELETE FROM user WHERE User="";MYSQL入門
更進一步,同時刪除其他授權(quán)表中的任何匿名用戶,有User列的表有db、tables_priv和columns_priv.MYSQL入門
另外要給root用戶設(shè)置暗碼.MYSQL入門
關(guān)于用戶、口令及主機的設(shè)置
1)、對所有MySQL用戶使用口令.
記住,如果other_user沒有口令,任何人能簡單地用mysql -u other_user db_name作為任何其它的人登錄.
對客戶機/服務(wù)器應(yīng)用程序,客戶可以指定任何用戶名是常見的做法.MYSQL入門
在運行它之前,可以通過編輯 mysql_install_db腳本改變所有用戶的口令,或僅僅MySQL root的口令,例如:
?MYSQL入門
2)、刪除匿名用戶
匿名用戶的存在不僅不僅容易引起存取拒絕錯誤,更會產(chǎn)生嚴重的平安漏洞,安裝授權(quán)表后,自動安裝匿名用戶.
缺省時可以用任何用戶名連接,不需要密碼,并且具有修改授權(quán)表權(quán)限.MYSQL入門
可以這樣刪除匿名用戶:
?MYSQL入門
3)、把穩(wěn)使用通配符的主機名,盡量縮小主機名的范圍,適合用戶的主機就足夠了,不要讓用戶不使用的主機留在授權(quán)表里.MYSQL入門
4)、如果不信任DNS,應(yīng)該在授權(quán)表中使用IP數(shù)字而不是主機名.
原則上講,--secure選項對mysqld應(yīng)該使主機名更平安.
在任何情況下,應(yīng)該非常小心地使用包含通配符的主機名!MYSQL入門
授予用戶合適的權(quán)限MYSQL入門
1)、授權(quán)用戶足夠使用的權(quán)限,不要賦予額外的權(quán)限.
例如,對于用戶只需要檢索數(shù)據(jù)表的需求,賦予SELECT權(quán)限即可,不可賦予UPDATE、INSERT等寫權(quán)限,不要怕被說成時吝嗇鬼.MYSQL入門
2)、可能會產(chǎn)生平安漏洞的權(quán)限MYSQL入門
grant權(quán)限允許用戶放棄他們的權(quán)限給其他用戶.2個有不同的權(quán)限并有g(shù)rant權(quán)限的用戶可以合并權(quán)限.MYSQL入門
alter權(quán)限可以用于通過重新命名表來推翻權(quán)限系統(tǒng).因為ALTER權(quán)限可能以你沒有設(shè)想的任何方法被使用.例如,一個用戶user1能拜訪table1,但不能拜訪table2.但是如果用戶user1帶有ALTER權(quán)限可能通過使用ALTER TABLE將table2重命名為table1來打亂你的設(shè)想.MYSQL入門
shutdown權(quán)限通過終止服務(wù)器可以被濫用完全拒絕為其他用戶服務(wù) .MYSQL入門
3)、可能會產(chǎn)生嚴重平安漏洞的權(quán)限MYSQL入門
不要把PROCESS權(quán)限給所有用戶.mysqladmin processlist的輸出顯示出當前執(zhí)行的查詢正文,如果另外的用戶發(fā)出一個UPDATE user SET password=PASSWORD(not_secure)查詢,被允許執(zhí)行那個命令的任何用戶可能看得到.mysqld為有process權(quán)限的用戶保存一個額外的連接, 以便一個MySQL root用戶能登錄并檢查,即使所有的正常連接在使用.MYSQL入門
不要把FILE權(quán)限給所有的用戶.有這權(quán)限的任何用戶能在擁有mysqld守護進程權(quán)限的文件系統(tǒng)那里寫一個文件!為了使這更平安一些,用SELECT ... INTO OUTFILE生成的所有文件對每個人是可讀的,并且你不能覆蓋已經(jīng)存在的文件.MYSQL入門
FILE權(quán)限也可以被用來讀取任何作為運行服務(wù)器的Unix用戶可存取的文件.這可能被濫用,因為不僅有該服務(wù)器主機帳號的用戶可以讀取它們,而且有FILE權(quán)限的任何客戶機也可以通過網(wǎng)絡(luò)讀取它們.你的數(shù)據(jù)庫目錄和系統(tǒng)的各種文件可能成為全球范圍共享的文件!例如,通過使用LOAD DATA裝載“/etc/passwd”進一個數(shù)據(jù)庫表,然后它能用SELECT被讀入.MYSQL入門
mysql用戶授權(quán)的實例分享.MYSQL入門
1、建具有LONGBLOB列的表:
?MYSQL入門
2、用此表讀取你要竊取的文件的內(nèi)容:
?MYSQL入門
3、可以這樣竊取你的數(shù)據(jù)表data:
?MYSQL入門
然后,用戶就擁有的一個新表another.data,可以對它進行完全拜訪.MYSQL入門
最后說一下MySQL權(quán)限系統(tǒng)無法完成的任務(wù)MYSQL入門
有一些事情不能用MySQL權(quán)限系統(tǒng)做到:
1)、不能明顯地指定一個給定用戶應(yīng)該被拒絕存取.
即不能明顯地匹配一個用戶并且然后拒絕連接.MYSQL入門
2)、不能指定一個用戶有權(quán)創(chuàng)建立或拋棄一個數(shù)據(jù)庫中的表,也不能創(chuàng)建或拋棄數(shù)據(jù)庫自己.MYSQL入門
維易PHP培訓學院每天發(fā)布《MYSQL數(shù)據(jù)庫Mysql數(shù)據(jù)庫中用戶授權(quán)原則分析》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/12722.html