给其他账户访问mysql的权限,将postgresql数据库的权限授予其他用户
不要試圖復制這樣的權利集合,它將成為管理的噩夢.使用角色和繼承.
相反,創建一個ROLE(組)并使兩個用戶都成為該角色的成員.為角色授予任何所需對象所需的權限和所有權,用戶將自動繼承這些訪問權限.
要進行轉換,要么:
>通過重命名現有用戶并將其LOGIN向右刪除,將其從登錄角色(用戶)轉換為非登錄角色(組),然后使用原始名稱創建新用戶,將現有用戶轉變為共享角色;要么
>手動授予新角色所有必需的權利,使用GRANT … ON DATABASE,GRANT … ON SCHEMA,GRANT …在SCHEMA的所有表格等
這是第一種方法的演示.假設我們有一個名為test的原始用戶,擁有表的所有權和其他一些授權:
regress=# CREATE USER test WITH PASSWORD 'original user pw';
CREATE ROLE
regress=# CREATE TABLE testtab(x integer);
CREATE TABLE
regress=# ALTER TABLE testtab OWNER TO test;
ALTER TABLE
我們可以將其轉換為共享角色,并使具有相同名稱的新用戶:
regress=# ALTER ROLE test RENAME TO test_group;
NOTICE: MD5 password cleared because of role rename
ALTER ROLE
regress=# ALTER ROLE test_group NOLOGIN;
ALTER ROLE
regress=# CREATE USER test IN GROUP test_group PASSWORD 'original user pw';
CREATE ROLE
只要您設置相同的密碼,用戶就不會注意到差異.
您現在可以創建一個新用戶并將其添加到同一角色,使其具有與原始測試用戶在將其轉換為角色test_group之前相同的訪問權限.在這種情況下,我使用創建用戶的單獨步驟,然后授予他們角色成員資格;效果和上面一樣,我只是告訴你兩種不同的方法:
regress=# CREATE USER newuser PASSWORD 'fred';
CREATE ROLE
regress=# GRANT test_group TO newuser;
GRANT ROLE
現在newuser可以SELECT * FROM testtab,即使testtab由用戶測試擁有,并且沒有GRANT允許其他用戶訪問它.
總結
以上是生活随笔為你收集整理的给其他账户访问mysql的权限,将postgresql数据库的权限授予其他用户的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php泥浆护壁,谈一下静态泥浆护壁的湿式
- 下一篇: php 超链接新页面打开新页面,Type