sudo -i retorna um erro

7

Quando tento alternar para a raiz usando sudo -i i recebo o erro /var/tmp/sclDvf3Vx: line 8: -i: command not found ... No entanto, su - funciona que continuarei a usar. Eu não sou de modo algum um administrador do sistema Linux, então o ambiente ainda é bastante nebuloso para mim. Eu acho que minhas perguntas são:

  1. Por que o erro está sendo lançado?
  2. Qual é a diferença entre os dois comandos?
  3. Por que você usaria um sobre o outro?

Atualização:

Estou usando a versão do CentOS: CentOS release 6.6 (Final)

Aqui está a saída de alguns comandos que me pediram para executar, nos comentários abaixo.

  • type sudo : sudo is /opt/centos/devtoolset-1.1/root/usr/bin/sudo
  • sudo -V : /var/tmp/sclIU7gkA: line 8: -V: command not found
  • grep'^root:' /etc/passwd : root:x:0:0:root:/root:/bin/bash

Atualização:

Isso foi adicionado ao meu usuário não-root ~ / .bashrc um tempo atrás porque eu precisava de suporte para C ++ 11. Quando eu comento, re-ssh, eu posso rodar o sudo -i bem sem erros.

if [ "$(gcc -dumpversion)" != "4.7.2" ]; then 
  scl enable devtoolset-1.1 bash
fi
    
por th3v0id 27.03.2015 / 03:50

3 respostas

4

Nos comentários e em suas investigações posteriores, parece que o seu devtoolset está modificando o PATH . Infelizmente, isso inclui o que parece ser um comando antigo ou quebrado do sudo.

Valeria a pena tentar modificar o devtoolset incluir no seu .bashrc e, em seguida, fazer login novamente:

if [ "$(gcc -dumpversion)" != "4.7.2" ]; then 
  scl enable devtoolset-1.1 bash
  PATH=/usr/bin:$PATH    # We need a working sudo
fi
    
por 28.03.2015 / 12:26
1

Eu tive problemas semelhantes com sudo -E flag depois de usar o devtoolset-4. Você não deve adicionar -E flag nesse caso, porque ele é adicionado no script /opt/rh/devtoolset-4/root/usr/bin/sudo wrapper, aqui está o conteúdo dele:

#! /bin/sh
# TODO: parse & pass-through sudo options from $@
sudo_options="-E"

for arg in "$@"
do
   case "$arg" in
    *\'*)
      arg= ;;
   esac
   cmd_options="$cmd_options '$arg'" 
done
exec /usr/bin/sudo $sudo_options LD_LIBRARY_PATH=$LD_LIBRARY_PATH PATH=$PATH scl enable devtoolset-4 "$cmd_options"
    
por 02.08.2017 / 16:21
0
RUN set -o errexit -o nounset \
    && echo "Downloading Gradle" \
    && wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
diff --git a/gradle_latest/Dockerfile b/gradle_latest/Dockerfile
index 6d9fb34..a237d06 100644
--- a/gradle_latest/Dockerfile
+++ b/gradle_latest/Dockerfile
@@ -3,9 +3,9 @@ FROM openjdk:8-jdk
 CMD ["gradle"]

 ENV GRADLE_HOME /opt/gradle
-ENV GRADLE_VERSION 4.3.1
+ENV GRADLE_VERSION 4.4

-ARG GRADLE_DOWNLOAD_SHA256=15ebe098ce0392a2d06d252bff24143cc88c4e963346582c8d88814758d93ac7
+ARG GRADLE_DOWNLOAD_SHA256=fa4873ae2c7f5e8c02ec6948ba95848cedced6134772a0169718eadcb39e0a2f
 RUN set -o errexit -o nounset \
    && echo "Downloading Gradle" \
    && wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
—
    
por 14.12.2017 / 20:10