2

I am trying to run Portable Truecrypt from a USB Pendrive. I already extracted the package and all but the only way I can really open Truecrypt portable is if the executable is somewhere in my home folder. It never does when I open the executable from the pendrive. I'm using Ubuntu 12.04.

I have tried to go to permissions and set "allow to run as an application" but anyway when double-clicking, the same alert comes up:

Unable to present media/Kingston/usr/bin/truecrypt, there is no application 
installed for executable files.

However it does open normally from home folder, so I do not understand this output that Ubuntu can't find an application to open executable files, given that it opens them just fine as long as they are present in the home folder.

I've formatted another pendrive as NFTS first and then as ext4 to check if it was related to filesystems, opened it with full administrative rights, extracted Truecrypt files there, but still the same error returns, and while attempting to execute the file from terminal, permission is denied.

Neptunno
  • 2,214

4 Answers4

3

You can try this:

  1. Open the Terminal: Alt+Ctrl+T

  2. Go to the directory, which contains the executable file

    cd /media/Kingston/usr/bin
    
  3. Change the permissions of the file to make sure it is executable (if you get "Permission denied" on this command, use sudo chmod ... instead of chmod ...):

    chmod +x truecrypt
    
  4. Execute the file like this (again as root)

    ./truecrypt
    
Lekensteyn
  • 174,277
  • The last command is not found... And still I can't run the executable from the pendrive. – Neptunno Jun 20 '12 at 16:43
  • Hm, strange - works in my env. Can you try these two as well - sudo truecrypt or simply truecrypt? – Stefan Buynov Jun 20 '12 at 17:37
  • 3
    truecrypt does not need to be run as root. The more likely issue is that the pen drive is formatted with a filesystem such as FAT that does not understand file permissions. Using sudo does not solve that issue. – Lekensteyn Aug 04 '12 at 15:40
  • 1
    why don't you confirm this by typing ls -l in the folder with truecrypt... this would confirm it's a permissions problem... – JSt Aug 08 '12 at 21:18
  • I attempted this commands again on a ext4 formatted pendrive and they do open executable Truecrypt this time. Just need to check the box "allow to execute file as an application" in the executable properties. It does not happen on FAT filesystem, so @Lekensteyn is right, the problem with permissions derives from filesystem. – Neptunno Aug 11 '12 at 15:17
2

Try running it through sh:

sh /media/Kingston/usr/bin/truecrypt

As @Lekensteyn said, the issue you are running into is most likely because your flash drive is formatted as FAT, which does not have permissions.

reverendj1
  • 16,045
  • I just checked. At least for NTFS, Ubuntu just gives you all permissions for all files when you mount a device. You guys sure it is different for FAT ? – josinalvo Aug 08 '12 at 21:40
  • According to this, http://en.wikipedia.org/wiki/FAT_filesystem_and_Linux it depends on how it is mounted what extended attributes it will support. – reverendj1 Aug 08 '12 at 22:03
  • ok. My guess was that, if you mounted without support for permissions (i.e., not with umsdos), all permissions would default to 777 (or the most permissive permission available). That seems to be what happens on NTFS ... – josinalvo Aug 08 '12 at 22:21
  • I've formatted as NFTS and ext4, no effect, same error returning. – Neptunno Aug 11 '12 at 13:52
  • @reverendj1 The output of this command is the following: /media/Kingston/usr/bin/truecrypt: 1: /media/Kingston/usr/bin/truecrypt: Syntax error: "(" unexpected – Neptunno Aug 11 '12 at 13:54
  • @reverendj1 This is not going to work as truecrypt is an executable, not a shell script. – Lekensteyn Aug 11 '12 at 14:38
  • @Halkinn - I'm not sure what's going on then... @Lekensteyn - It doesn't matter if it's an executable or shell script. Try sh /usr/bin/firefox and it will still open Firefox. – reverendj1 Aug 11 '12 at 14:43
  • @reverendj1 Yes it was the filesystem. I can open it now using Stefan Buynov commands but on a pendrive formatted as ext4. Thank you for your help! – Neptunno Aug 11 '12 at 15:18
2

If @Stefan Buynov answer does not solve your issue, you likely have a FAT/FAT32/NTFS-formatted pendrive that does not support the "Execute permission".

For a workaround, see my answer on Can't execute .out files, getting permission denied. If possible, backup your data and format the pendrive to use a filesystem that does support file permissions like Ext4. You can use the Partition Manager (or GParted) for that purpose.

Lekensteyn
  • 174,277
  • Sorry, I just inserted the latest updates about this issue on my question, I tried @Stefan Buynov solution on an empty Maxell pendrive formatted as ext4 with GParted, and also opened it with full administrative rights, but permission is denied. I'll check your answer though. – Neptunno Aug 11 '12 at 14:46
  • Hey, I just got it to work on another pendrive formatted as ext4! I followed @Stefan Buynov commands again and this time it opened. Not only it is need to have the administrative rights, but also to format as ext4 or other supported filesystem. Then go to properties of the executable file and check "allow to execute the file as an application" and then it opens. This still does not work on Kingston pendrive formatted as FAT. Although Buynov method is right, the change of filesystem was the key responsible for the success this time and thus you have the accepted answer. – Neptunno Aug 11 '12 at 15:14
  • 1
    @Halkinn Since an EXT filesystem is file permissions-aware, you need to make yourself the owner of it. If your pendrive is mounted at /media/Kingston, run sudo chown -R yourusername: /media/Kingston (mind the colon after yourusername, substitute yourusername accordingly) – Lekensteyn Aug 11 '12 at 15:25
1

You might also type mount, and see if execution is being prevented on the device -- ensure that "noexec" is NOT present. noexec is an optional attribute which can be set when the device is mounted. /etc/fstab is one place which has a list of devices and their mount attributes.

However, since you are getting mounted under media, I assume the desktop is doing the mount for you, so you probably need to find what is setting noexec there to permanently fix the issue.

For one time fix, try the mount command with the option remount, exec to see if that works (ext4 assumed as a filesystem type, use whatever mount above shows):

sudo mount -o remount,exec -text4 /dev/sdb1 /media/Kingston

use your real device instead of sdb1, and the actual filesystem type after the -t

ubfan1
  • 17,838
  • I've introduced this command and the output is: "You need to specify the type of filesystem."

    Can you help me further with this please, as it seems to be the most viable solution at this point.

    – Neptunno Aug 11 '12 at 13:11
  • Sorry, forgot the -t switch above, edited now for an ext4 filesystem. – ubfan1 Aug 12 '12 at 17:22