передайте по каналу к sudo-E удар -

Я задавался вопросом, чем целью передать по каналу загруженный файл curl в sudo -E bash - в следующей оболочке:

curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -

10
задан 11 March 2017 в 00:04

3 ответа

Это - короткий способ выполнить сценарий, не имея необходимость сохранить файл и затем выполнить его. Когда Вы сохранили файл и затем выполняете его, много вещей могут пойти не так, как надо:

  • Пользователь не вводил имя файла правильно
  • , Пользователь не использовал корректную оболочку (возможно, работал sh foo.sh вместо bash foo.sh)
  • , Пользователь попытался выполнить файл вместо того, чтобы установить удар на нем (./foo.sh) и забыл устанавливать, выполняют полномочия
  • , Пользователь забыл использовать sudo

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

Лично, я презираю завихрение передачи по каналу для избиения. Это не безопасно.

10
ответ дан 23 November 2019 в 04:24

Эта команда загрузила бы файл и попыталась бы выполнить его с полномочиями пользователя root.

7
ответ дан 23 November 2019 в 04:24

Согласен с @muru, вам не следует выполнять какой-то случайный скрипт bash из Интернета.

Для установки NPM и Node.js лучше загрузить двоичный файл с Загрузить | Node.js и следуйте официальным инструкциям проекта Node.js.

  1. Разархивируйте двоичный архив в любой каталог, в который вы хотите установить Node, я использую /usr/local/lib/nodejs.

    sudo mkdir -p /usr/local/lib/nodejs
    # вместо XX используйте номер версии, которую вы скачали
    sudo tar -xJvf node-XX-XX.tar.xz -C /usr/local/lib/nodejs
    
  2. Откройте ~/.profile, добавьте ниже в конец

    # Nodejs
    VERSION=vXX.XX.0 # <--- Ставьте скачанную версию
    ДИСТРО=linux-x64
    экспорт PATH=/usr/local/lib/nodejs/node-$VERSION-$DISTRO/bin:$PATH
    
  3. Обновить профиль

    . ~/.профиль
    
  4. Проверить, работает ли он

    node -v
    нпм-версия
    
0
ответ дан 4 June 2020 в 11:43

Другие вопросы по тегам:

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