How to GRANT/REVOKE user permissions for user on Firebird 1.5?
Firebird has had GRANT and REVOKE since its initial version. See the Interbase 6.0 Language Reference, available from http://www.firebirdsql.org/en/reference-manuals/ (near the end of the page).

Eg for GRANT:


GRANT &lt;privileges&gt; ON [TABLE] {tablename | viewname}
      TO {&lt;object&gt; | &lt;userlist&gt; | GROUP UNIX_group}
  | EXECUTE ON PROCEDURE procname TO {&lt;object&gt; | &lt;userlist&gt;}
  | &lt;role_granted&gt; TO {PUBLIC | &lt;role_grantee_list&gt;};
&lt;privileges&gt; = {ALL [PRIVILEGES] | &lt;privilege_list&gt;}
&lt;privilege_list&gt; = SELECT
  | DELETE
  | INSERT
  | UPDATE [(col [, col ...])]
  | REFERENCES [(col [, col ...])] [, &lt;privilege_list&gt; ...]
&lt;object&gt; = PROCEDURE procname
  | TRIGGER trigname
  | VIEW viewname
  | PUBLIC
  [, &lt;object&gt; ...]
&lt;userlist&gt; = [USER] username
  | rolename
  | Unix_user}
  [, &lt;userlist&gt; ...]
  [WITH GRANT OPTION]
&lt;role_granted&gt; = rolename [, rolename ...]
&lt;role_grantee_list&gt; = [USER] username [, [USER] username ...] [WITH ADMIN OPTION]



And for REVOKE:


REVOKE [GRANT OPTION FOR] &lt;privileges&gt; ON [TABLE]
          {tablename | viewname}
       FROM {&lt;object&gt; | &lt;userlist&gt; | &lt;rolelist&gt; | GROUP UNIX_group}
   | EXECUTE ON PROCEDURE procname
       FROM {&lt;object&gt; | &lt;userlist&gt;}
   | &lt;role_granted&gt; FROM {PUBLIC | &lt;role_grantee_list&gt;}};
&lt;privileges&gt; = {ALL [PRIVILEGES] | &lt;privilege_list&gt;} &lt;privilege_list&gt; = {
SELECT
   | DELETE
   | INSERT
   | UPDATE [(col [, col ...])]
   | REFERENCES [(col [, col ...])] [, &lt;privilege_list&gt; ...]}}
&lt;object&gt; ={
   PROCEDURE procname
   | TRIGGER trigname
   | VIEW viewname
   | PUBLIC
   [, &lt;object&gt;]}
&lt;userlist&gt; = [USER] username [, [USER] username ...]
&lt;rolelist&gt; = rolename [, rolename]
&lt;role_granted&gt; = rolename [, rolename ...]
&lt;role_grantee_list&gt; = [USER] username [, [USER] username ...]



The Firebird documentation used to be fragmented in the original Interbase 6 documentation and a language reference update which only described the changes introduced in newer versions.

However there now is a complete Firebird 2.5 language reference.