When they run
ftp > ! /bin/ksh
the shell is executed on the local host; thus ftpd server configs aren't in play:
man ftp
! [blah] Invoke a shell on the local host.
I suppose you can do things like restrict users from having a valid shell (/usr/bin/false, /usr/bin/ftponly), but those are generally server side configurations, and I'd have to wonder (if you limit them on the client side), how they got to the ftp command to begin with.