Thanks for the information.
I understand that it is difficult to copy/paste into your posts from an off-line system. But please, when you report then by typing, do alter as less as possible and try to avoid to post conclusions instead of computer facts.
(BTW. when it is more output to be shown, redirect the output of the command to a file on removable mass-storage and then use that on an on-line system).
So, we are now sure this is an USB connected mass-storage device (and the fact that it is USB is not very important, mass-storage is mass storage, regardless of the type of bus used to connect it to the system).
It is most probably partitioned with only one partition (you did not show that, but it is the most used configuration for such “USB sticks”, specially if MS Windows is involved). And on that partition is a FAT32 file system.
As explained above Fat32 is NOT a Linux file sysem and as such does not support (does not have at all) metadata of files containing file ownership (by user and group) and permission bits. On mount, these are faked according to several rules (defaults and mount options) used during that mount. Once the file system is mounted, these are fixed. So doing any chmod (or chown) is useless, it won’t change anything.
You can walk two paths to enlightement here.
One is to use that stick only for the transport between a non-Linux operating system and your openSUSE system. This is the one I strongly support. Use non-Linux file systems not for anything more serious then directly transport. Either by carrying that file system on a removable device (like you probably did from a MS Windows system) to openSUSE, or by mounting them for file system that are on your system itself because of a multi-boot situation.
In that case, I advise to copy the files you need from the USB stick to an appropriate place on your openSUSE system (e.g. a fresh created directory inside your home directory. The result will be that all files are owned by the user that did the copy and that they will get the permissions as all files the user creates. Just the normal situation you, as that user, have all the time with al the files somewhere in your home directory. Then remove the USB stick and use it as a backup in case you brake something in what you now have on the system.
Now you can start worrying about what is executable. As mentioned earlier, the system can not by itself simply decide which of all those file contain what, let alone what is an “executable” file, executable in the meaning of a Linux system.
This is where your human knowledge may help. It could be that you know, or guess that a particular file is a Linux executable. Like somebody already said above, that can be checked with
file <path-to-the-file>
Example:
henk@boven:~> file /usr/bin/su
/usr/bin/su: setuid ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9af3dfcd024a9449f65fd9af30b66d16d8ae3523, for GNU/Linux 3.2.0, stripped
henk@boven:~>
When it says something similar. there is a good chance that it will execute. Then you should set the x-permission bit for that file, at least for yourself.
chmod u+x <path-to-the-file>
And then you can try
<path-to-the-file>
(take care, <path-to-the-file> shoud have at least one / in it, thus when it is in your working directory make it ./file).
The second path you could go is mount the file system with options that will allow the user to execute directly from the non-Linux file system. As l already told you where to find information (in the mount man page in the part FILESYSTEM-SPECIFIC MOUNT OPTIONS and then Mount options for fat).
There you find e.g.
uid=value and gid=value
Set the owner and group of all files. (Default: the UID and GID of the current process.)
umask=value
Set the umask (the bitmask of the permissions that are not present). The default is the umask of the current process. The value is given in octal.
dmask=value
Set the umask applied to directories only. The default is the umask of the current process. The value is given in octal.
fmask=value
Set the umask applied to regular files only. The default is the umask of the current process. The value is given in octal.
So, as root compose a nce mount statement and when it works to satisfaction and you need that more often, create an /etc/fstab entry for it so you do not have to type that long mount statemnet again and again in the future.
When you need more advice on this, please ask. I guess you have enough to study for the moment. 