freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

mysql金典培訓(xùn)教程:10第七章-資料下載頁

2025-06-29 08:01本頁面
  

【正文】 匹配的用戶有關(guān)。如果,你從服務(wù)器主機(jī)連接,那么服務(wù)器匹配的是 root@localhost,修改該用戶密碼,否則一般修改 root@%密碼,除非你有其它 root 用戶存在。 4. 載入權(quán)限表: shell mysqladmin h hostname flushprivileges或者使用 SQL 命令`FLUSH PRIVILEGES39。 。當(dāng)然,在這里,你也可以重啟 mysqld。 總結(jié)本節(jié)介紹了如何修改一個(gè)用戶的密碼,你可以使用三種方法,GRANT 語句、SET PASSWORD 語句、直接修改授權(quán)表以及使用管理工具 mysqladmin。一個(gè)重要的應(yīng)用就是如何在遺忘 root 用戶密碼的時(shí)候修改密碼,使用的方法是啟動(dòng)MySQL 服務(wù)器時(shí)忽略加載授權(quán)表。 權(quán)限修改何時(shí)生效 服務(wù)器重新啟動(dòng)的情況當(dāng) mysqld 啟動(dòng)時(shí),所有的授權(quán)表內(nèi)容被讀進(jìn)存儲(chǔ)器并且從那時(shí)開始生效。 被服務(wù)器立即應(yīng)用的情況用 GRANT、REVOKE 或 SET PASSWORD 對(duì)授權(quán)表施行的修改會(huì)立即被服務(wù)器注意到。 直接修改授權(quán)表的情況如果你手工地修改授權(quán)表(使用 INSERT、UPDATE 等等),你應(yīng)該執(zhí)行一個(gè) FLUSH PRIVILEGES 語句或運(yùn)行 mysqladmin flushprivileges 告訴服務(wù)器再裝載授權(quán)表,否則你的改變將不生效,除非你重啟服務(wù)器。 對(duì)現(xiàn)有客戶連接的影響情況當(dāng)服務(wù)器注意到授權(quán)表被改變了時(shí),現(xiàn)存的客戶連接有如下影響: ? 表和列權(quán)限在客戶的下一次請(qǐng)求時(shí)生效。 ? 數(shù)據(jù)庫權(quán)限改變?cè)谙乱粋€(gè) USE db_name 命令生效。 ? 全局權(quán)限的改變和口令改變?cè)谙乱淮慰蛻暨B接時(shí)生效。 總結(jié)本小節(jié)總結(jié)了權(quán)限修改后以及服務(wù)器和客戶機(jī)的權(quán)限生效的幾種情況,讀者要十分留意這些情況,這對(duì)你管理數(shù)據(jù)庫系統(tǒng)有重要影響。當(dāng)你為了權(quán)限疑惑時(shí),不妨看一下本小節(jié)。 授權(quán)原則無論怎么小心都難免在給用戶授權(quán)時(shí)留有漏洞,希望下面的內(nèi)容能給你一些幫助,你一般應(yīng)該遵守這些規(guī)則。171 / 29 只有 root 用戶擁有授權(quán)表的改寫權(quán)不要把授權(quán)表的改寫權(quán)授予除 root 用戶之外的其它用戶(當(dāng)然,如果你可以用另一個(gè)用戶代替 root 用戶進(jìn)行管理,以增加安全性)。因?yàn)檫@樣,用戶可以通過改寫授權(quán)表而推翻現(xiàn)有的權(quán)限。產(chǎn)生安全漏洞。一般情況下,你可能不會(huì)犯這個(gè)錯(cuò)誤,但是在安裝新的分發(fā), 初始授權(quán)表之后。這個(gè)漏洞是存在的,如果你不了解這時(shí)授權(quán)表的內(nèi)容你可能會(huì)犯錯(cuò)誤。在 Unix(Linux)上,在按照手冊(cè)的指令安裝好 MySQL 后,你必須運(yùn)行mysql_install_db 腳本建立包含授權(quán)表的 mysql 數(shù)據(jù)庫和初始權(quán)限。在 Windows 上,運(yùn)行分發(fā)中的 Setup 程序初始化數(shù)據(jù)目錄和 mysql 數(shù)據(jù)庫。假定服務(wù)器也在運(yùn)行。當(dāng)你第一次在機(jī)器上安裝 MySQL 時(shí),mysql 數(shù)據(jù)庫中的授權(quán)表是這樣初始化的:? 你可以從本地主機(jī)(localhost)上以 root 連接而不指定口令。root 用戶擁有所有權(quán)限(包括管理權(quán)限)并可做任何事情。(順便說明,MySQL 超級(jí)用戶與Unix 超級(jí)用戶有相同的名字,他們彼此毫無關(guān)系。) ? 匿名訪問被授予用戶可從本地連接名為 test 和任何名字以 test_開始的數(shù)據(jù)庫。匿名用戶可對(duì)數(shù)據(jù)庫做任何事情,但無管理權(quán)限。一般地,建議你刪除匿名用戶記錄:mysql DELETE FROM user WHERE User=。更進(jìn)一步,同時(shí)刪除其他授權(quán)表中的任何匿名用戶,有 User 列的表有db、tables_priv 和 columns_priv。另外要給 root 用戶設(shè)置密碼。 關(guān)于用戶、口令及主機(jī)的設(shè)置? 對(duì)所有 MySQL 用戶使用口令。記住,如果 other_user 沒有口令,任何人能簡單地用 mysql u other_user db_name 作為任何其它的人登錄。對(duì)客戶機(jī)/服務(wù)器應(yīng)用程序,客戶可以指定任何用戶名是常見的做法。在你運(yùn)行它以前,你可以通過編輯 mysql_install_db 腳本改變所有用戶的口令,或僅僅 MySQL root 的口令,象這樣: shell mysql u root mysqlmysql UPDATE user SET Password=PASSWORD(39。new_password39。) WHERE user=39。root39。mysql FLUSH PRIVILEGES。? 刪除匿名用戶匿名用戶的存在不僅不僅容易引起存取拒絕錯(cuò)誤,更會(huì)產(chǎn)生嚴(yán)重的安全漏洞,安裝授權(quán)表后,自動(dòng)安裝匿名用戶。缺省時(shí)你可以用任何用戶名連接,不需要密碼,并且具有修改授權(quán)表權(quán)限。你可以這樣刪除匿名用戶:shellmysql –u root –p mysqlmysqldelete from user where User=””。? 留意使用通配符的主機(jī)名,盡量縮小主機(jī)名的范圍,適合用戶的主機(jī)就足夠了,不要讓用戶不使用的主機(jī)留在授權(quán)表里。? 如果你不信任你的 DNS,你應(yīng)該在授權(quán)表中使用 IP 數(shù)字而不是主機(jī)名。原則上講,secure 選項(xiàng)對(duì) mysqld 應(yīng)該使主機(jī)名更安全。在任何情況下,你應(yīng)該非常小心地使用包含通配符的主機(jī)名! 授予用戶合適的權(quán)限? 授權(quán)用戶足夠使用的權(quán)限,不要賦予額外的權(quán)限。例如,對(duì)于用戶只需要檢索數(shù)據(jù)表的需求,賦予 SELECT 權(quán)限即可,不可賦予UPDATE、INSERT 等寫權(quán)限,不要怕被說成時(shí)吝嗇鬼。? 可能會(huì)產(chǎn)生安全漏洞的權(quán)限grant 權(quán)限允許用戶放棄他們的權(quán)限給其他用戶。2 個(gè)有不同的權(quán)限并有 grant 權(quán)限的用戶可以合并權(quán)限。 alter 權(quán)限可以用于通過重新命名表來推翻權(quán)限系統(tǒng)。 因?yàn)?ALTER 權(quán)限可能以你沒有設(shè)想的任何方法被使用。例如,一個(gè)用戶 user1 能訪問 table1,但不能訪問 table2。但是如果用戶 user1 帶有 ALTER 權(quán)限可能通過使用 ALTER TABLE 將 table2 重命名為table1 來打亂你的設(shè)想。shutdown 權(quán)限通過終止服務(wù)器可以被濫用完全拒絕為其他用戶服務(wù) 。? 可能會(huì)產(chǎn)生嚴(yán)重安全漏洞的權(quán)限不要把 PROCESS 權(quán)限給所有用戶。mysqladmin processlist 的輸出顯示出當(dāng)前執(zhí)行的查詢正文,如果另外的用戶發(fā)出一個(gè) UPDATE user SET password=PASSWORD(39。not_secure39。)查詢,被允許執(zhí)行那個(gè)命令的任何用戶可能看得到。mysqld 為有 process 權(quán)限的用戶保留一個(gè)額外的連接 , 以便一個(gè) MySQL root 用戶能登錄并檢查,即使所有的正常連接在使用。 不要把 FILE 權(quán)限給所有的用戶。有這權(quán)限的任何用戶能在擁有 mysqld 守護(hù)進(jìn)程權(quán)限的文件系統(tǒng)那里寫一個(gè)文件!為了使這更安全一些,用 SELECT ... INTO OUTFILE 生成的所有文件對(duì)每個(gè)人是可讀的,并且你不能覆蓋已經(jīng)存在的文件。FILE 權(quán)限也可以被用來讀取任何作為運(yùn)行服務(wù)器的 Unix 用戶可存取的文件。這可能被濫用,因?yàn)椴粌H有該服務(wù)器主機(jī)帳號(hào)的用戶可以讀取它們,而且有 FILE 權(quán)限的任何客戶機(jī)也可以通過網(wǎng)絡(luò)讀取它們。你的數(shù)據(jù)庫目錄和系統(tǒng)的各種文件可能成為全球范圍共享的文件!例如,通過使用 LOAD DATA 裝載“/etc/passwd”進(jìn)一個(gè)數(shù)據(jù)庫表,然后它能用 SELECT 被讀入。下面的過程說明如何進(jìn)行此項(xiàng)操作: 建具有 LONGBLOB 列的表:mysql USE test。mysql CREATE TABLE temp (b LONGBLOB)。用此表讀取你要竊取的文件的內(nèi)容:mysqlLOAD DATA INFILE “/etc/passwd” INTO TABLE temp173 / 29FIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlSELECT * FROM temp。可以這樣竊取你的數(shù)據(jù)表 data:mysqlLOAD DATA INFILE “./other_db/” INTO TABLE tempFIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlSELECT * FROM temp INTO OUTFILE “./another_db/”FIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlDELETE FROM temp。mysqlLOAD DATA INFILE “./other_db/” INTO TABLE tempFIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlSELECT * FROM temp INTO OUTFILE “./another_db/”FIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlDELETE FROM temp。mysqlLOAD DATA INFILE “./other_db/” INTO TABLE tempFIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlSELECT * FROM temp INTO OUTFILE “./another_db/”FIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlDELETE FROM temp。然后用戶就擁有的一個(gè)新表 ,可以對(duì)它進(jìn)行完全訪問。 MySQL 權(quán)限系統(tǒng)無法完成的任務(wù)有一些事情你不能用 MySQL 權(quán)限系統(tǒng)做到: ? 你不能明顯地指定一個(gè)給定用戶應(yīng)該被拒絕存取。即,你不能明顯地匹配一個(gè)用戶并且然后拒絕連接。 ? 你不能指定一個(gè)用戶有權(quán)創(chuàng)建立或拋棄一個(gè)數(shù)據(jù)庫中的表,也不能創(chuàng)建或拋棄數(shù)據(jù)庫本身 總結(jié)本節(jié)講述了如何為用戶分配合適的權(quán)限,幾個(gè)重要的原則就是給用戶分配僅夠使用的最小權(quán)限,盡量不在影響整個(gè)數(shù)據(jù)庫的 user 表中分配權(quán)限。有些權(quán)限是有危險(xiǎn)的,例如 FILE、GRANT、PROCESS,管理員要慎重使用。 MySQL 的其它安全問題數(shù)據(jù)庫系統(tǒng)的安全性包括很多方面。由于很多情況下,數(shù)據(jù)庫服務(wù)器容許客戶機(jī)從網(wǎng)絡(luò)上連接,因此客戶機(jī)連接的安全對(duì) MySQL 數(shù)據(jù)庫安全有很重要的影響。 不在客戶機(jī)的命令行上提供密碼使用 mysql、mysqladmin 等客戶機(jī)用一個(gè)用戶身份與 MySQL 服務(wù)器連接時(shí),需要為連接提供密碼。1 可以在命令行上提供密碼shellmysql –u root –pmypass注意,p 選項(xiàng)與密碼之間不可有空格,否則會(huì)提示你輸入密碼,并報(bào)錯(cuò)。你也可以使用長格式shellmysql –user=root –password=mypass現(xiàn)在你可以考察這樣做的后果:在 Unix 上,$ps –aux | grep mysql在 win9x 上,你可以按住 Ctrl+Alt+Del 鍵,NT 上你可以打開任務(wù)管理器。你發(fā)現(xiàn)了什么,你發(fā)現(xiàn)密碼清清楚楚的顯示在你的面前。所以,你無論何時(shí)也不要這么做。所以你需要讓客戶機(jī)提示你的密碼:shellmysql –u root –p 你也可以使用選項(xiàng)文件提供密碼,但是注意為了安全,不能在選項(xiàng)文件中存儲(chǔ)密碼。你可以只提供 password 選項(xiàng),讓客戶機(jī)提示你輸入密碼。 使用 SSH 加密客戶機(jī)連接這是一個(gè)關(guān)于怎樣用 SSH 得到一個(gè)安全的連接遠(yuǎn)程 MySQL 服務(wù)器的注意事項(xiàng)(David Carlson)。 在你的 windows 機(jī)器上安裝 SSH 客戶 我使用了一個(gè)來自 SSH 客戶。其他有用的鏈接: 和 啟動(dòng) SSH。設(shè)置主機(jī)名字 = 你的 MySql 服務(wù)器名或 IP 地址,設(shè)置 userid=你的用戶名登錄到你的服務(wù)器。 點(diǎn)擊“l(fā)ocal forwords ”。設(shè)定 local port: 3306, host: localhost, remote port: 3306 保存一切,否則下次你將必須再做一遍。 用 SSH 登錄到你的服務(wù)器。 啟動(dòng)一些 ODBC 應(yīng)用程序(例如 Access)。 創(chuàng)造一個(gè)新文件并且用 ODBC 驅(qū)動(dòng)程序鏈接到 mySQL,就像你通常做的一樣,除了對(duì)服務(wù)器用用戶“l(fā)ocalhost”。 搞定。它對(duì)一個(gè)直接的因特網(wǎng)連接工作得很好。 不要使用 Unix 的 root 用戶運(yùn)行 MySQL 守護(hù)進(jìn)程不要作為 Unix 的 root 用戶運(yùn)行 MySQL 守護(hù)進(jìn)程。mysqld 能以任何用戶運(yùn)行,你也可以創(chuàng)造一個(gè)新的 Unix 用戶 mysql 使一切更安全。如果你作為其它 Unix 用戶運(yùn)行mysqld,你不需要改變?cè)?user 表中的 root 用戶名,因?yàn)?MySQL 用戶名與 Unix 用戶名沒關(guān)系。你可以作為其它 Unix 用戶編輯 啟動(dòng)腳本 mysqld?;蛘呤褂眠x項(xiàng)文件。175 / 29有關(guān)如何用非 root 用戶啟動(dòng) MySQL 服務(wù)器的細(xì)節(jié),請(qǐng)見第二章。 數(shù)據(jù)庫目錄的安全MySQL 服務(wù)器提供了一個(gè)通過 mysql 數(shù)據(jù)庫中的授權(quán)表,實(shí)現(xiàn)了一個(gè)十分靈活的權(quán)限系統(tǒng),保證了從網(wǎng)絡(luò)訪問數(shù)據(jù)的安全性。但是,如果服務(wù)器主機(jī)上的其它用戶擁有對(duì)服務(wù)器目錄的直接訪問權(quán),那么你的服務(wù)器的數(shù)據(jù)仍舊是不安全的。一般你可能用一個(gè)非特權(quán)的 Unix 用戶執(zhí)行守護(hù)程序。檢查那個(gè)運(yùn)
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1