/dev/sdb is a device node and not a filename. You should use a filename located at the mountpoint for this device.
You will be replacing the filesystem of the flash disk with the contents of a tar archive. Your flash disk won't contain a file system.
If it works at all for root, that is only because of the "everything is a file" philosophy. The "file-name" part of the command you posted is the file being backed up and not the name of the tarball you are creating.
If you are using an external device for backups, look at adding a line in /etc/fstab that uses the UUID or Label of the filesystem instead of the device node. This will make it more portable. Be sure to use the "noauto" option. This will prevent boot failures when the device isn't present, or assigned a different device node.
If the filesystem used is a native linux filesystem, you can use "chmod" on the
mounted mountpoint to change the group allowed access. You could also give
other read access. Then also use the "users" option. This will allow other users to mount the filesystem without needing to su to root.
For a non-native filesystem, you would need to use both the "gid=" and/or "uid=" options to allow access as well as the "users" option.
Here is an example of an fstab entry from my laptop:
Code:
hpmedia.jesnet:/home/jschiwal/Podcasts /mnt/hpmedia/podcasts nfs defaults,user,_netdev 0 0
This allows me to mount an nfs shared directory without needing to use sudo. It is the "user" option that allows mount to do this. The "mount" command has the suid bit set. This is a rare instance where this is OK because the mount command was written knowing this and uses the "user" or "users" option in the /etc/fstab entry to determine whether it will perform the mount.