-bash: sudo: command not found (Português)

Estou tentando implantar o aplicativo django. Quando imprimo apt-get update vejo

W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (13: Permission denied) W: Unable to read /etc/apt/sources.list.d/ - DirectoryExists (13: Permission denied) W: Unable to read /etc/apt/sources.list - RealFileExists (13: Permission denied) E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied) E: Unable to read /var/cache/apt/ - opendir (13: Permission denied) E: Unable to read /var/cache/apt/ - opendir (13: Permission denied) E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root? 

Quando imprimo sudo apt-get update Vejo

-bash: sudo: command not found 

Tentei usar su em vez de sudo. Mas é estranho. Por exemplo, imprimo su apt-get update E nada acontece, apenas vejo uma nova linha,

(uiserver):u78600811:~$ su apt-get update (uiserver):u78600811:~$ 

O mesmo se eu tentar para instalar alguns pacotes. O que eu faço?

Se for uma informação útil – estou usando o Debian

(uiserver):u87600811:~$ uname -a Linux infong1559 3.14.0-ui16294-uiabi1-infong-amd64 #1 SMP Debian 3.14.79-2~ui80+4 (2016-10-20) x86_64 GNU/Linux 

Comentários

  • Esta é uma conta de cliente em um servidor comercial?
  • @tomas yeah ////
  • Se você não ' Se você não possui o servidor, o que o fez pensar que você tem o direito de instalar ou remover software? pergunte ao administrador
  • O que acontece se você executar apt-cache policy sudo? Nem todas as distros Linux instalam o sudo por padrão (o Debian, por exemplo, instalará o sudo se e somente se você não ' especificar uma senha root na instalação). Você pode executar apt-cache sem privilégios de root.

Resposta

Por padrão, o sudo não é instalado no Debian, mas você pode instalá-lo. Primeiro ative o modo su:
su -

Instale o sudo executando:
apt-get install sudo -y

Depois disso, você precisa brincar com usuários e permissões. Dê o direito de sudo ao seu próprio usuário.

usermod -aG sudo yourusername

Certifique-se de que seu arquivo sudoers tenha o grupo sudo adicionado. Execute:
visudo para modificar o arquivo sudoers e adicione a seguinte linha a ele (se estiver faltando):

# Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL 

Você precisa fazer login novamente ou reiniciar o dispositivo completamente para que as alterações tenham efeito.

Comentários

  • Essa deve ser uma resposta aceita, isso resolveu meu problema
  • Estou obtendo " su: não é possível determinar seu nome de usuário. " sobre fazer su –
  • @ user674669 você verificou esta postagem: serverfault.com/questions/816969/… ?
  • Obrigado @MaksimLuzik. O meu é um contêiner docker. As ideias nessa página são ' úteis para mim. Talvez eu deva postar uma pergunta separada.
  • É seguro dar ao meu usuário permissões sudo?

Resposta

Por ser um servidor comercial, você não terá acesso à conta root nem poderá operar com privilégios de root. Isso significa que você não será capaz de executar sudo nem de instalar pacotes. O que você pode tentar fazer é:

  • Verifique se você tenha acesso a um compilador e compile o que quiser para você e em seu espaço doméstico.

  • Verifique se você pode executar uma máquina virtual. Isso pode permitir que você execute sua instância privada de um sistema operacional no qual você instalaria pacotes.

Resposta

su e sudo são dois comandos diferentes, mas relacionados. É incomum que sudo não seja instalado, mas pode simplesmente não estar em seu caminho. Tente /usr/bin/sudo command.

Se realmente sudo não estiver disponível, você precisa como você supôs usar su, mas não funciona da mesma maneira que sudo. A maneira mais simples de usar é simplesmente executar:

su - 

Isso irá pedir a você root a senha do usuário, momento em que você provavelmente deve apt install sudo, sair do shell do root e prosseguir normalmente.

Atenção ao contrário de sudo, que pede sua senha, su solicitará a você root “senha.

Comentários

  • quando escrevo su – nada acontece – apenas uma nova linha
  • Então você ' provavelmente já está root . Verifique com whoami. Se você ' reenraizar, apt install sudo conforme descrito.
  • (uiserver): u78600811: ~ $ apt install sudo
  • W: Não foi possível ler /etc/apt/apt.conf.d/ – DirectoryExists (13: Permissão negada) E: Não foi possível abrir o arquivo de bloqueio / var / lib / dpkg / lock – open (13 : Permissão negada) E: Incapaz de bloquear o diretório de administração (/ var / lib / dpkg /), você é root?
  • Dependendo do que PS1 está definido para.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *