XPipe LogoXPipe Documentation
Troubleshoot

Filesystem noexec flags

How to handle cases where script execution is disabled on remote systems temporary directories

About

The 'NOEXEC' flag in the mount command for Unix systems does not allow the execution of executable binaries in the mounted file system. If your /tmp directory is mounted with this option, mostly for security reasons, then certain XPipe features like scripting and sudo elevation are not possible on that system by default. You will get a permission denied error even if a file is marked as executable.

Checking for noexec

You can easily list all mountpoints that are configured with the noexec flag with:

findmnt -l | grep noexec

If the list it contains /tmp, for example, with something like this:

/tmp tmpfs tmpfs rw,nosuid,nodev,noexec,inode64

then you will need to change the temp director for XPipe to one that is not listed as noexec.

Using another directory

To work around this issue, you can set the variable XPIPE_TEMP on the remote system to a switch to using another directory. This can, for example, be a directory like ~/.xpipe/scripts or /var/xpipe, depending on the noexec limitations for other available directories.

This variable has to be set on login, so usually in the .bashrc file with export XPIPE_TEMP="<dir>". The directory has to exist on the file system, and the user should have access to it for XPipe to be able to use it.

To properly apply the changes, restart XPipe and reconnect to the system.

On this page