-bash: sudo: comando não encontrado

63

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

Eu tentei usar em suvez de sudo. Mas isso é 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 instalar alguns pacotes. O que eu faço?

Se for 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
user2950593
fonte
Esta é uma conta de cliente em um servidor comercial?
Tomasz
@tomas yeah ////
user2950593
11
Se você não possui o servidor, o que fez você pensar que tem o direito de instalar ou remover software? pergunte ao administrador
Shadur
O que acontece se você correr apt-cache policy sudo? Nem todas as distribuições Linux instalam o sudo por padrão (o Debian, por exemplo, instala o sudo se e somente se você não especificar uma senha root na instalação). Você pode executar o apt-cache sem privilégios de root.
31717 rosuav

Respostas:

79

Por padrão, o sudo não está 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ê precisaria brincar com usuários e permissões. Dê o sudo diretamente ao seu próprio usuário.

usermod -aG sudo yourusername

Verifique se o arquivo sudoers foi adicionado ao grupo sudo. Execute:
visudopara modificar o arquivo sudoers e adicione a seguinte linha (se estiver faltando):

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

Você precisa se conectar ou reiniciar completamente o dispositivo para que as alterações entrem em vigor.

Maksim Luzik
fonte
3
Essa resposta deve ser aceito, este resolveu o meu problema
Callat
Estou recebendo "su: não é possível determinar seu nome de usuário". em fazer su -
user674669
@ user674669 você verificou esta postagem: serverfault.com/questions/816969/… ?
Maksim Luzik
Obrigado @MaksimLuzik. O meu é um contêiner de cais. As idéias nessa página não são úteis para mim. Talvez eu deva postar uma pergunta separada.
user674669
19

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

  • Verifique se você tem acesso a um compilador e compile o que deseja para si 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, na qual você instalaria pacotes.

Tomasz
fonte
12

sue sudosão dois comandos diferentes, mas relacionados. É incomum sudonão ser instalado, mas pode simplesmente não estar no seu caminho. Tente /usr/bin/sudo command.

Se de fato sudonão estiver disponível, você precisará usar o que supôs su, mas não funciona da mesma maneira que sudo. A maneira mais simples de usá-lo é simplesmente executar:

su -

Isso solicitará roota senha do usuário; nesse momento, você provavelmente deve apt install sudosair do shell raiz e prosseguir normalmente.

Lembre-se de que sudo, ao contrário , que solicita sua senha, susolicitará a senha do root .

DopeGhoti
fonte
quando eu escrevo su - nada acontece - apenas uma nova linha
user2950593 30/03
3
Então você provavelmente já é root. Verifique com whoami. Se você é root, apt install sudocomo descrito.
DopeGhoti
(uiserver): u78600811: ~ $ apt install sudo
user2950593
11
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: Não foi possível para bloquear o diretório de administração (/ var / lib / dpkg /), você é o root?
user2950593
11
Dependendo do que PS1está definido como.
DopeGhoti