I know I am a month behind, but I stumbled across this looking for a solution to something else.
I have a CMS machine from Avaya on which I implemented exactly what you want to do and it works fine, limiting uses to only one login on the CMS Supervisor app. You don't have to worry about "root" being locked out, because root doesn't use /usr/bin/cms.
Its not too complicated, and in fact its exactly the code that was mentioned by "olded".
/usr/bin/cms is just a simple shell script. You can edit it with VI like you would any text file and insert the lines below (cut and paste from my /usr/bin/cms). Once you have opened the file, just insert it after the comments.
#
# SHELL: cms
#
# Revisions and descriptions listing...
# more info
if [ `w -h -s| cut -d" " -f1 | grep "^$LOGNAME$" | wc -l` -gt 1 ]
then
exit 0
fi
# Rest of file below
I don't want to cut and paste anything from the file for fear of copyright infringent since this is a proprietary system.
Make a backup of course, and make sure permissions and ownership match. You should be good to go. The only annoying part is if a user tries to use the login twice, CMS Supervisor doesn't tell you that, it just blurts out an error about not being able to login (maybe something about checking a password, or server is currently being backed up.)