日本乱偷中文字幕,美女脱内衣18禁免费看,亚洲国产精品丝袜在线观看,18女人腿打开无遮挡,廖承宇chinese野战做受

Redis 6.0新特性——ACLs

簡(jiǎn)介

Redis在6版本之前是沒(méi)有權限的概念的,所以所有連接的客戶(hù)端都可以對Redis里面的數據進(jìn)行操作,也可以使用所有高危命令,這樣就可能存在Redis直接down掉或者數據被全部清空的情況。

  • 當執行flushall 或者flashdb的時(shí)候會(huì )清空掉數據庫里面的所有數據。
  • 當執行DEBUG SEGFAULT的時(shí)候Redis進(jìn)程會(huì )直接down掉。如下圖所示:202011221955.png

在Redis 5以及之前的版本為了避免這種情況的出現,可以使用 rename-command將高危命令禁用掉。

rename-command KEYS ""
rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG ""
rename-command EVAL ""
rename-command SHUTDOWN ""

以上方法雖然可以解決掉高危命令帶來(lái)的問(wèn)題,但是只是使用了簡(jiǎn)單粗暴的方式,沒(méi)有做的比較細致。

ACL 權限

Redis ACL是Access Control List(訪(fǎng)問(wèn)控制列表)的縮寫(xiě),該功能允許根據可以執行的命令和可以訪(fǎng)問(wèn)的鍵來(lái)限制某些連接。它的工作方式是,在連接之后,要求客戶(hù)端進(jìn)行身份驗證,以提供用戶(hù)名和有效密碼:如果身份驗證階段成功,則連接與給定用戶(hù)關(guān)聯(lián),并且該用戶(hù)具有限制??梢詫edis進(jìn)行配置,以使新連接已過(guò)“默認”用戶(hù)進(jìn)行身份驗證(這是默認配置),因此,配置默認用戶(hù)具有的能力是,僅向連接提供特定功能子集的功能未明確認證。

為某個(gè)用戶(hù)設置權限可以使用下面命令:

ACL SETUSER test >passwd on allkey +set

setuser...on表示啟用此用戶(hù),off則是只定義一個(gè)不可用(unaccessable)的用戶(hù)。

>passwd表示給當前用戶(hù)設置密碼,可以通過(guò)auth命令進(jìn)行登錄acl控制的用戶(hù)。

auth test passwd

202011222015.png

+set當前用戶(hù)擁有執行set命令的權限,與之相反的是 -set表示取消指定用戶(hù)執行set命令的權限。

切換用戶(hù)之后只對指定的命令擁有執行權限。

image.png

acl 配置文件

一般情況下,我們使用命令行設置的acl權限只是保存在內存里面,當Redis進(jìn)程重啟之后我們設置的權限就不見(jiàn)了。那我們應該怎么辦呢,對于這種情況,官方也想到了,提供了acl的配置文件。在Redis的配置文件(redis.conf)中可以配置acl文件的位置:

aclfile /etc/redis/users.acl

那么acl里面到底保存的是什么呢?其實(shí)acl里面保存的就是命令 acl list執行的結果。其中密碼的經(jīng)過(guò)加密了的也比較安全。

下圖是acl配置文件的樣例,是通過(guò)執行命令 acl save生成的。

image.png

下圖是命令 acl list執行的結果。

image.png

注意

acl 權限不會(huì )自動(dòng)寫(xiě)入到配置文件里面,在生成ACL配置文件的時(shí)候一定要注意執行夏明命令進(jìn)行持久化(需要先配置 aclfile)

acl save



標 題:《Redis 6.0新特性——ACLs
作 者:zeekling
提 示:轉載請注明文章轉載自個(gè)人博客:浪浪山旁那個(gè)村

    評論
    0 評論
avatar

取消
日本乱偷中文字幕,美女脱内衣18禁免费看,亚洲国产精品丝袜在线观看,18女人腿打开无遮挡,廖承宇chinese野战做受