Die *PUBLIC-Berechtigung läßt sich grundsätzlich NICHT entziehen !

In Ihrem Fall muss man den schweren Weg gehen. Alle Objekte sind für diesen Benutzer mit der entsprechenden Berechtigung einzutragen, also z.B. USER *EXCLUDE, USER *USE, usw.
Bei Bibliotheken reicht ein USER *EXCLUDE, so dass alle Objekte entsprechend geschützt sind.

Die 2. Möglichkeit sind Autorisierungslisten.
Mit CRTAUTL, CHGAUTL, usw. können diese Listen gewartet werden. Alle Objekte müssen dann mit diesem *AUTL-Objekt geschützt werden. Dann reicht es, den/die Benutzer in die AUTL-Liste einzutragen, so dass automatisch alle Objekte geschützt sind.

Nicht zu vergessen ist hierbei, das die Lib's mit CHGLIB so zu ändern sind, dass alle neuen Objekte mit der AUTL geschützt werden !