Prior to Ubuntu 10.10, all files on drives formatted with the vfat file system (e.g. most flash drives) were mounted with the executable bit. This led to a couple of problems, in particular you were asked for all text files whether you want to open or execute them (Bug #14335). It was therefore decided to mark all files as not executable, but use the mount/fstab option "
showexec" (which is documented in the
mount man page), that's why
.com are still marked as executable: https://blueprints.launchpad.net/ubuntu/+spec/vfat-noexec
By the way: This change was sent upstream, so all other distributions using
udisk should now show the same behaviour.
You may set the mount behavior on a per-drive (using the drive's UUID) or per-mount-label basis by adding entries in your filesystem table (
man mount and
man fstab for more information.) Note that this will cause duplicate entries for every affected drive in Nautilus (and perhaps other file managers as well).
Alternatively, if you are only using your flash drive with Linux machines, you can reformat it as ext3, etx4 or similar, where the normal UNIX rights and the executable bit apply.