Почему два пользователя получают разные версии одного и того же двоичного файла?

Los comandos bash -cno son los mismos en al menos los siguientes ejemplos:

$ var='a
$(uname)'

$ bash -c 'echo "$1"' bash "$var"
a
$(uname)

$ bash -c "echo '$var'"
a
$(uname)

$ bash -c "echo \"$var\""
a
Darwin

Los comandos findtambién difieren:

$ touch 'a
> $(uname)'

$ find. -exec sh -c 'echo "$@"' sh {} \;
.
./a
$(uname)

$ find. -exec sh -c "echo '{}'" \;
.
./a
$(uname)

$ find. -exec sh -c "echo \"{}\"" \;
.
./a
Darwin

$ find. -exec sh -c 'echo "{}"' \;
.
./a
Darwin

Entonces parece que lo siguiente permite la ejecución de código arbitrario:

  • bash -c "echo \"$var\""
  • find. -exec sh -c "echo \"{}\"" \;
  • find. -exec sh -c 'echo "{}"' \;
3
10.07.2019, 03:54
1 ответ

Это была проблема среды pip. Я действительно не понимаю этого, потому что я уверен, что шаги, которые решили это, не сработали в первые пару раз, когда я их пробовал... Но выполняя sudo apt-get remove awscli, затем pip3 uninstall awscliкак оба пользователя, затем sudo pip3 install awscli, наконец, установили это как я надеялся.

После прочтения десятков вопросов и ответов о pip все, что я знаю, это то, что я не понимаю, как различные версии pip взаимодействуют с --разрешениями пользователя и sudo. Я не собираюсь отмечать свой ответ как правильный, но с удовольствием рассмотрю любые другие ответы.

0
27.01.2020, 21:33

Теги

Похожие вопросы