Symptom
It is not possible to delete a user from the Web interface as it has a special character on its name, for example, "user\tac". This is the error:
HTTP: 06-10 15:27:34 pid=21345 Invalid user: tacuser not found in at /usr/local/sf/lib/perl/5.10.1/SF/Permission.pm line 855.: /usr/local/sf/htdocs/admin/user/view.cgi
HTTP: 06-10 15:27:34 pid=21345 Caught Exception!: /usr/local/sf/htdocs/admin/user/view.cgi
HTTP: 06-10 15:27:34 pid=21345 loadObject: No UUID Provided at /usr/local/sf/lib/perl/5.10.1/SF/EOHandler.pm line 1951.: /usr/local/sf/htdocs/admin/user/view.cgi
HTTP: 06-10 15:27:34 pid=21345 : /usr/local/sf/htdocs/admin/user/view.cgi
HTTP: 06-10 15:27:34 pid=21345 Failed to delete user tacuser at /usr/local/sf/htdocs/admin/user/view.cgi line 116.: /usr/local/sf/htdocs/admin/user/view.cgi
HTTP: 06-10 15:27:34 pid=21345 (Error deleting user tacuser.) in /usr/local/sf/htdocs/admin/user/view.cgi:117 at /usr/local/sf/lib/perl/5.10.1/SF.pm line 120.: /usr/local/sf/htdocs/admin/user/view.cgi
Conditions
-User has a special character on their name
- On the FMC GUI only shows it is not possible to delete
Workaround
- Delete as follows, on this example my user is called "user\tac"
root@tac:/var/common# usertool.pl -D "user\\tac"
user\tac does not exist or is already deleted
- This also works
Enter to "eo_tool" mode to delete the UUID.
OmniQuery.pl -db mdb -e "select * from users where id=;
root@FMC# eo_tool
?> delete
Deleted
Further Problem Description
You need to add '\' (backslash) on your query to catch the escape character
root@tac:/var/common# OmniQuery.pl -db mdb -e 'select id,name,deleted from users where name ="user\\tac";'
+---------+--------------+---------+
| id | name | deleted |
+---------+--------------+---------+
| 1000037 | user\tac | 0 |
+---------+--------------+---------+