FirebirdSQL 新增資料庫使用者與資料表權限
Firebird 資料庫有個最高權限的 SYSDBA 帳號,正常上線使用下最好將它的密碼進行變更,然後再新增一個使用者並賦予資料表的權限,這樣比較安全。 這些調整指令都透過使用 isql 介面來完成 ※注意,使用 isql 調整資料庫相關設定前,先把 Firebird 服務/引擎 先關閉,以免發生占用衝突。 假設我們資料庫是在 D:\NEWDB\test.fdb 首先,變更 SYSDBA 的密碼 C:\FB3>isql -user SYSDBA D:\NEWDb\test.fdb↵ Database: D:\NEWDb\test.fdb, User: SYSDBA SQL> ALTER USER SYSDBA password 'mustKey';↵ SQL> COMMIT;↵ SQL> 這樣就把密碼變更為 mustKey 了 (注意,Firebird 對帳號沒有大小寫分別,但是密碼有分別) 一、新增使用者 SQL> CREATE USER user01 password 'userPass01';↵ 或是創建時同時賦予角色權限(例如管理者權限) SQL> CREATE USER user01 password 'userPass01' GRANT ADMIN ROLE;↵ ※參考 SQL user management commands ※參考 ROLE ※參考 The RDB$ADMIN role 二、對使用者賦予資料表權限 假設我有一個資料表 EMPL SQL> GRANT SELECT , INSERT , UPDATE ON TABLE EMPL TO USER user01;↵ 這代表我只賦予 user01 對 EMPL 只能操作 SELECT、INSERT、UPDATE 三種權限。 基本上,資料表操作權限只有 SELECT、INSERT、UPDATE、DELETE、REFERENCES 這四種,要 CREATE/DROP/ALTER 資料表只能由 SYSDBA 來做。 REFERENCES 這權限是用來讀取資料表的 關聯 資訊(foreign key)的。 ...