That looks OK, other than an un-escaped literal period and incorrect casing of the directives and the duplicate-content problem previously mentioned.
You also do not need the <IfModule> container <i>unless you want this code to fail silently if mod_rewrite is not installed on this server.</i> Otherwise, it is a waste of filespace and CPU time.
--------------------------------
#
# rewrite rules
#
# switch on mod_rewrite
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
#
# For non-www subdomain requests, the query string parameter 'user' is taken from the requested subdomain (%1)
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com
RewriteCond %1 !^(www|wiki|forum|login)$
RewriteCond $1 !^user[b]s\.p[/b]hp
RewriteRule ^([^/.]*) users.php?user=%1 [L]
#
-------------------------
You should also almost never use [NC] in internal rewrites. Any casing errors, if present in the requested URL, should have already been corrected by redirecting the request to the properly-cased URL. Otherwise, you are again creating duplicate content.
Bear in mind that for any 'page' or 'content' on the Web, that page should be directly-reachable with one and only one unique, canonical URL. *Any* difference in the requested URL from that canonical URL should trigger a 301 redirect to that canonical URL. This includes the protocol (http vs. https) the hostname (www vs. non-www, etc.) FQDN vs non-FQDN -format domain (trailing period after hostname), appended port numbers, "/" vs. "/index.xyz", character-casing, and query strings -- If any of these change, then that is a different and non-canonical URL.
If these non-canonical URL problems are not addressed, it is often possible to have 16 or more "home page" URLs competing with each other for links and for search results ranking... and if query strings are not canonicalized (or removed), it is possible to have a practically-infinite number of "home pages" all competing with each other --
You are competing with yourself! This is not good. It is an exploitable weakness in your site, and it is not a situation that you want to create or to allow to exist.
If you cannot 301 redirect a non-canonical URL to a corrected URL, then let that non-canonical URL request go 404. This is far better than rewriting it to content and returning a 200-OK response.
Jim