Setuid and setgid shell scripts use the file descriptors in /dev/fd. The contents of /dev/fd are a File Descriptor Filesystem (fdfs) on Solaris 2 and have no connection with floppy disks!
Ensure that the fdfs is mounted as /dev/fd. The following line should appear in /etc/vfstab exactly like this (with NO initial comment symbol):
fd - /dev/fd fd - no - |
It may be possible to remount /dev/fd without rebooting by running the following as root:
# mount fd /dev/fd |
Some administrators, unaware of what /dev/fd is for, comment out the entry in /etc/vfstab that mounts the fdfs (File Descriptor filesystem). This may go unnoticed until an attempt is made to run a setuid or setgid shell script.