Skip to content

Commit

Permalink
Add only trusted projects' bin directory to $PATH
Browse files Browse the repository at this point in the history
Assuming the binstubs for a project are in the local bin/ directory, you
can even go a step further to add the directory to shell $PATH so that
rspec can be invoked without the bin/ prefix:

    export PATH="./bin:$PATH"

Doing so on a system that other people have write access to
(such as a shared host) is a security risk:

rbenv/rbenv#309

The `.git/safe` convention addresses the security problem:

https://twitter.com/tpope/status/165631968996900865

Put this in `zshenv` because:

http://zsh.sourceforge.net/Intro/intro_3.html

> `.zshenv' is sourced on all invocations of the shell, unless the -f
> option is set. It should contain commands to set the command search
> path.

Load `zshenv.local` config at the end of the file so that users can
extend their `zshenv` needs in their personal dotfiles using `rcup`.
  • Loading branch information
Dan Croak committed Jan 21, 2014
1 parent e0200f0 commit d670205
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions zshenv
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# mkdir .git/safe in the root of repositories you trust
export PATH=".git/safe/../../bin:$PATH"

# Local config
[[ -f ~/.zshenv.local ]] && source ~/.zshenv.local

0 comments on commit d670205

Please sign in to comment.