-bash: sudo: nie znaleziono polecenia


63

Próbuję wdrożyć aplikację django. Kiedy drukuję apt-get update , widzę

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?

Kiedy drukuję sudo apt-get update , widzę

-bash: sudo: command not found

Próbowałem użyć suzamiast sudo. Ale to dziwne. Na przykład drukuję su apt-get update I nic się nie dzieje Po prostu widzę nową linię,

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

To samo, jeśli spróbuję zainstalować niektóre pakiety. Co ja robię?

Jeśli to przydatne informacje - używam Debiana

(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

Czy to konto klienta na serwerze komercyjnym?
Tomasz

@tomas yeah ////
user2950593

1
Jeśli nie jesteś właścicielem serwera, co sprawiło, że uważasz, że masz prawo do instalowania lub usuwania oprogramowania? zapytaj administratora
Shadur

Co się stanie, jeśli uciekniesz apt-cache policy sudo? Nie wszystkie dystrybucje Linuksa domyślnie instalują sudo (na przykład Debian zainstaluje sudo tylko wtedy, gdy nie określisz hasła roota podczas instalacji). Możesz uruchomić apt-cache bez uprawnień roota.
rosuav

Odpowiedzi:


79

Domyślnie sudo nie jest instalowane na Debianie, ale możesz je zainstalować. Najpierw włącz tryb su:
su -

Zainstaluj sudo, uruchamiając:
apt-get install sudo -y

Następnie będziesz musiał bawić się z użytkownikami i uprawnieniami. Daj sudo własnemu użytkownikowi.

usermod -aG sudo yourusername

Upewnij się, że do pliku sudoers została dodana grupa sudoers. Uruchom:
visudoaby zmodyfikować plik sudoers i dodać do niego następujący wiersz (jeśli go brakuje):

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

Musisz ponownie zalogować się lub ponownie uruchomić urządzenie, aby zmiany odniosły skutek.


3
Należy zaakceptować odpowiedź, to rozwiązało mój problem
Callat

Pojawia się komunikat „su: Nie można określić nazwy użytkownika”. po wykonaniu su -
user674669

@ user674669 czy sprawdziłeś ten post: serverfault.com/questions/816969 / ... ?
Maksim Luzik

Dzięki @MaksimLuzik. Mój jest kontenerem dokującym. Pomysły na tej stronie nie są dla mnie pomocne. Może powinienem napisać osobne pytanie.
user674669

19

Ponieważ jest to serwer komercyjny, nie będziesz mieć dostępu do konta root ani nie będziesz mógł działać z uprawnieniami administratora. Oznacza to, że nie będziesz mógł uruchamiać sudoani instalować pakietów. Możesz spróbować:

  • Sprawdź, czy masz dostęp do kompilatora i skompiluj, co chcesz dla siebie i w swojej domowej przestrzeni.

  • Sprawdź, czy możesz uruchomić maszynę wirtualną. Może to pozwolić na uruchomienie prywatnej instancji systemu operacyjnego, na którym instalowałbyś pakiety.


12

sui sudosą to dwa różne, ale powiązane polecenia. Niezwykłe jest to, że sudonie jest instalowane, ale może po prostu nie znajdować się na Twojej Ścieżce. Spróbować /usr/bin/sudo command.

Jeśli rzeczywiście sudonie jest dostępny, musisz go założyć su, ale nie działa tak samo jak sudo. Najprostszym sposobem użycia jest uruchomienie:

su -

Zostaniesz zapytany o roothasło użytkownika. W tym momencie prawdopodobnie powinieneś apt install sudowylogować się z powłoki roota, a następnie postępować normalnie.

Pamiętać, że w przeciwieństwie sudo, który prosi o swoim hasłem, supoprosi o głównym hasłem „s.


kiedy piszę su - nic się nie dzieje - tylko nowa linia
użytkownik2950593

3
Więc prawdopodobnie już jesteś rootem. Sprawdź za pomocą whoami. Jeśli jesteś rootem, apt install sudojak opisano.
DopeGhoti

(uiserver): u78600811: ~ $ apt install sudo
user2950593

1
W: Nie można odczytać /etc/apt/apt.conf.d/ - DirectoryExists (13: Odmowa zezwolenia) E: Nie można otworzyć pliku blokady / var / lib / dpkg / lock - open (13: Odmowa dostępu) E: Nie można aby zablokować katalog administracyjny (/ var / lib / dpkg /), czy jesteś rootem?
user2950593

1
W zależności od PS1ustawienia.
DopeGhoti
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.