91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據庫的授權原則有哪些

發布時間:2021-08-04 16:57:14 來源:億速云 閱讀:174 作者:Leah 欄目:數據庫

MySQL數據庫的授權原則有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

服務器重新啟動的情況

當mysqld啟動時,所有的授權表內容被讀進存儲器并且從那時開始生效。

被服務器立即應用的情況

用GRANT、REVOKE或SET PASSWORD對授權表施行的修改會立即被服務器注意到。

直接修改授權表的情況

如果你手工地修改授權表(使用INSERT、UPDATE等等),你應該執行一個FLUSH PRIVILEGES語句或運行mysqladmin flush-privileges告訴服務器再裝載授權表,否則你的改變將不生效,除非你重啟服務器。

對現有客戶連接的影響情況

當服務器注意到授權表被改變了時,現存的客戶連接有如下影響:

·表和列權限在客戶的下一次請求時生效。

·數據庫權限改變在下一個USE db_name命令生效。

·全局權限的改變和口令改變在下一次客戶連接時生效。

授權原則

無論怎么小心都難免在給用戶授權時留有,希望下面的內容能給你一些幫助,你一般應該遵守這些規則。

只有root用戶擁有授權表的改寫權

不要把授權表的改寫權授予除root用戶之外的其它用戶(當然,如果你可以用另一個用戶代替root用戶進行管理,以增加安全性)。因為這樣,用戶可以通過改寫授權表而推翻現有的權限。產生安全漏洞。

一般情況下,你可能不會犯這個錯誤,但是在安裝新的分發, 初始授權表之后。這個漏洞是存在的,如果你不了解這時授權表的內容你可能會犯錯誤。

在Unix()上,在按照手冊的指令安裝好MySQL后,你必須運行mysql_install_db腳本建立包含授權表的mysql和初始權限。在Windows上,運行分發中的Setup程序初始化數據目錄和數據庫。假定服務器也在運行。

當你第一次在機器上安裝MySQL時,my中的授權表是這樣初始化的:

·你可以從本地主機(localhost)上以root連接而不指定口令。root用戶擁有所有權限(包括管理權限)并可做任何事情。(順便說明,MySQL超級用戶與Unix超級用戶有相同的名字,他們彼此毫無關系。)

·匿名訪問被授予用戶可從本地連接名為test和任何名字以test_開始的數據庫。匿名用戶可對數據庫做任何事情,但無管理權限。

一般地,建議你刪除匿名用戶記錄:

mysql> DELETE FROM user WHERE User="";

更進一步,同時刪除其他授權表中的任何匿名用戶,有User列的表有db、tables_priv和columns_priv。

另外要給root用戶設置密碼。

關于用戶、口令及主機的設置

·對所有MySQL用戶使用口令。

記住,如果other_user沒有口令,任何人能簡單地用mysql -u other_user db_name作為任何其它的人登錄。對客戶機/服務器應用程序,客戶可以指定任何用戶名是常見的做法。在你運行它以前,你可以通過編輯 mysql_install_db腳本改變所有用戶的口令,或僅僅MySQL root的口令,象這樣:

shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(new_password)
-> WHERE user=root;
mysql> FLUSH PRIVILEGES;


·刪除匿名用戶

匿名用戶的存在不僅不僅容易引起存取拒絕錯誤,更會產生嚴重的安全漏洞,安裝授權表后,自動安裝匿名用戶。缺省時你可以用任何用戶名連接,不需要密碼,并且具有修改授權表權限。

你可以這樣刪除匿名用戶:

shell>mysql –u root –p mysql
mysql>delete from user where User=””;


·留意使用通配符的主機名,盡量縮小主機名的范圍,適合用戶的主機就足夠了,不要讓用戶不使用的主機留在授權表里。

·如果你不信任你的DNS,你應該在授權表中使用IP數字而不是主機名。原則上講,--secure選項對mysqld應該使主機名更安全。在任何情況下,你應該非常小心地使用包含通配符的主機名!

授予用戶合適的權限

·授權用戶足夠使用的權限,不要賦予額外的權限。

例如,對于用戶只需要檢索數據表的需求,賦予SELECT權限即可,不可賦予UPDATE、INSERT等寫權限,不要怕被說成時吝嗇鬼。

·可能會產生安全漏洞的權限

grant權限允許用戶放棄他們的權限給其他用戶。2個有不同的權限并有grant權限的用戶可以合并權限。

alter權限可以用于通過重新命名表來推翻權限系統。因為ALTER權限可能以你沒有設想的任何方法被使用。例如,一個用戶user1能訪問table1,但不能訪問table2。但是如果用戶user1帶有ALTER權限可能通過使用ALTER TABLE將table2重命名為table1來打亂你的設想。

shutdown權限通過終止服務器可以被濫用完全拒絕為其他用戶服務 。

·可能會產生嚴重安全漏洞的權限

不要把PROCESS權限給所有用戶。mysqladmin processlist的輸出顯示出當前執行的查詢正文,如果另外的用戶發出一個UPDATE user SET password=PASSWORD(not_secure)查詢,被允許執行那個命令的任何用戶可能看得到。mysqld為有process權限的用戶保留一個額外的連接, 以便一個MySQL root用戶能登錄并檢查,即使所有的正常連接在使用。

不要把FILE權限給所有的用戶。有這權限的任何用戶能在擁有mysqld守護進程權限的文件系統那里寫一個文件!為了使這更安全一些,用SELECT ... INTO OUTFILE生成的所有文件對每個人是可讀的,并且你不能覆蓋已經存在的文件。

FILE權限也可以被用來讀取任何作為運行服務器的Unix用戶可存取的文件。這可能被濫用,因為不僅有該服務器主機帳號的用戶可以讀取它們,而且有FILE權限的任何客戶機也可以通過網絡讀取它們。你的數據庫目錄和系統的各種文件可能成為全球范圍共享的文件!例如,通過使用LOAD DATA裝載“/etc/passwd”進一個數據庫表,然后它能用SELECT被讀入。

下面的過程說明如何進行此項操作:

1、建具有LONGBLOB列的表:

mysql> USE test;
mysql> CREATE TABLE temp (b LONGBLOB);


2、用此表讀取你要竊取的文件的內容:

mysql>LOAD DATA INFILE “/etc/passwd” INTO TABLE temp
->FIELDS ESCAPED BY  “”  LINES TERMINATED BY  “”;
mysql>SELECT * FROM temp;


3、可以這樣竊取你的數據表data:

mysql>LOAD DATA INFILE“./other_db/data.frm” INTO TABLE temp
->FIELDS ESCAPED BY“”LINES TERMINATED BY“”;
mysql>SELECT * FROM temp INTO OUTFILE“./another_db/data.frm”
->FIELDS ESCAPED BY“”LINES TERMINATED BY“”;
mysql>DELETE FROM temp;
mysql>LOAD DATA INFILE“./other_db/data.MYD” INTO TABLE temp
->FIELDS ESCAPED BY“”LINES TERMINATED BY“”;
mysql>SELECT * FROM temp INTO OUTFILE“./another_db/data.MYD”
->FIELDS ESCAPED BY“”LINES TERMINATED BY“”;
mysql>DELETE FROM temp;
mysql>LOAD DATA INFILE“./other_db/data.MYI” INTO TABLE temp
->FIELDS ESCAPED BY“”LINES TERMINATED BY“”;
mysql>SELECT * FROM temp INTO OUTFILE“./another_db/data.MYI”
->FIELDS ESCAPED BY“”LINES TERMINATED BY“”;
mysql>DELETE FROM temp;


然后用戶就擁有的一個新表another.data,可以對它進行完全訪問。

MySQL權限系統無法完成的任務

有一些事情你不能用MySQL權限系統做到:

你不能明顯地指定一個給定用戶應該被拒絕存取。即,你不能明顯地匹配一個用戶并且然后拒絕連接。

你不能指定一個用戶有權創建立或拋棄一個數據庫中的表,也不能創建或拋棄數據庫本身。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

莱西市| 方山县| 徐州市| 青神县| 儋州市| 达州市| 辽宁省| 西乌珠穆沁旗| 甘孜县| 沾益县| 南通市| 台东县| 青川县| 东山县| 横山县| 仪征市| 乃东县| 林西县| 桂东县| 丹寨县| 临洮县| 和顺县| 红河县| 甘谷县| 赤峰市| 沙雅县| 辽宁省| 军事| 定兴县| 喀喇沁旗| 定州市| 禄劝| 蒲江县| 武汉市| 晋州市| 宝兴县| 蒙城县| 类乌齐县| 郸城县| 金秀| 宁都县|