Bash root команда не найдена

Bash root команда не найдена Техника

Утилита sudo позволяет выполнять команды от имени другого пользователя, обычно она используется для запуска утилит с повышенными правами от root.

При использовании sudo, например:

sudo du /

вы можете столкнуться с ошибкой:

-bash: sudo: command not found

Данная статья посвящена решению ошибки что команда sudo не найдена.

В этом руководстве для начинающих показано, как исправить ошибку Bash: command not found в Debian, Ubuntu и других дистрибутивах Linux.

Когда вы используете команды в Linux, вы ожидаете увидеть результат. Но иногда возникают проблемы, когда терминал показывает ошибку «команда не найдена».

Нет однозначного решения этой ошибки. Вы должны самостоятельно устранить неполадки.

Честно говоря, это не так уж и сложно. Ошибка уже дает подсказку, когда говорит «bash: команда не найдена». Ваша оболочка (или система Linux) не может найти введенную вами команду.

Может быть три возможных причины, по которым он не может найти команду:

Давайте подробно рассмотрим каждую возможную первопричину.

Debian, Linux, Ubuntu

Bash root команда не найдена

Используя операционную систему Linux, можно столкнуться с отсутствием программы sudo. В таком случае, при выполнении команды sudo, будет возвращена ошибка «sudo: command not found» в английской версии, или «команда sudo не найдена» в русской версии. В нашем материале мы разберем какие действия необходимо сделать, чтобы установить sudo в системе.

Установка sudo

Первым делом, установим программу sudo через стандартный менеджер пакетов в используемом дистрибутиве Linux.

Команды ниже, следует выполнять из под учетной записи суперпользователя (root), выполнив из под него вход в систему, или же, запустив сеанс суперпользователя с помощью команды su — (обязательно с символом минуса).

CentOS и основанные на нем дистрибутивы (Fedora, RHEL):

yum install sudo

Debian и основанные на нем дистрибутивы (Linux Mint, Ubuntu):

apt install sudo

Добавление пользователя в группу sudo

Добавим пользователя в группу sudo:

Bash root команда не найдена

Debian. Началось с того, что не найдена команда man. Попробовал её установить следующими способами:
sudo apt-get install manpages
sudo apt-get install man-db
Пишет что команда sudo не найдена, решил написать без неё, команда опозналась, но произошло следующее:

Скриншот фрагмента кода удалён модератором.

как решить эти проблемы?

видно что у тебя только security патчи в списке репозиториев
например смотри сюда, твой /etc/apt/sources.list должен содержать что то типа такого:

deb http://deb.debian.org/debian bullseye main
deb-src http://deb.debian.org/debian bullseye main

deb http://deb.debian.org/debian-security/ bullseye-security main
deb-src http://deb.debian.org/debian-security/ bullseye-security main

deb http://deb.debian.org/debian bullseye-updates main
deb-src http://deb.debian.org/debian bullseye-updates main

посмотри каких строк у тебя нет и добавь (можно еще non-free-firmware добавить)

после жми apt update и уже тогда apt install xxx

05 июл. 2023, в 16:25

1000 руб./за проект

05 июл. 2023, в 15:59

1500 руб./за проект

05 июл. 2023, в 15:57

600 руб./в час

Как исправить ошибку Sudo Command Not Found в Debian VPS

В этой статье мы покажем вам, как исправить ошибку sudo command not found в Debian 10 VPS.

После установки Debian 10 вы не можете выполнить задачи с привилегиями, запустив команду sudo. И вы получите ошибку «sudo command not found in Debian 10«.

Исправление ошибки Sudo Command Not Found в Debian

Войдите на сервер Debian 10 под пользователем root.

Bash root команда не найдена

Вход на сервер Debian

После входа в систему выполните следующую команду, чтобы проверить ошибку sudo:

sudo apt update

Вы получите следующую ошибку:

Bash root команда не найдена

Ошибка -bash: sudo: command not found

По умолчанию пакет sudo находится в репозитории Debian 10 по умолчанию. Вы можете установить его с помощью команды apt, как показано ниже:

apt install sudo -y

Bash root команда не найдена

Установка пакета sudo

После установки пакета Sudo вам нужно будет создать нового обычного пользователя и добавить его в группу sudo.

Сначала создайте нового пользователя с помощью следующей команды:

Дополнительно:  При запуске на ноутбуке черный экран: решение проблемы

Bash root команда не найдена

Добавление нового пользователя в Debian

Теперь добавьте только что созданного пользователя в группу sudo:

Эта команда предоставит привилегии sudo пользователю sajid и позволит ему использовать команду sudo для выполнения административных привилегий.

Вы также можете проверить, был ли пользователь добавлен в группу sudo, используя следующую команду:

uid=1002(sajid) gid=1002(sajid) groups=1002(sajid),27(sudo)

Bash root команда не найдена

su — sajid

Bash root команда не найдена

Ошибка Sudo Command Not Found в Debian исправлена

Заключение

Итак, вы теперь можете исправить ошибку sudo command not found на виртуальном частном сервере (VPS) в Debian 10. Наслаждайтесь.

Вам это помогло?

Я понимаю, что когда вы новичок в Linux, все может быть ошеломляющим. Но когда вы понимаете основную причину проблемы, ваши знания постепенно улучшаются.

Здесь нет простого решения для «ошибки команда не найдена». Я дал вам несколько советов и указателей, которые должны помочь вам в устранении неполадок.

Если у вас все еще есть сомнения или вам нужна помощь, дайте мне знать в разделе комментариев.

Используйте su вместо sudo

Для выполнение КОМАНДЫ от имени root используйте конструкцию:

su -c КОМАНДА

То есть команду

можно заменить на

su -c ‘du /’

Для открытия интерактивной оболочки с правами root выполните:

Что использовать sudo или su?

У программы su похожее назначение: запустить команду с подстановкой ID другого пользователя и группы. То есть одинакового результата можно добиться используя как sudo, так и su.

Различия sudo и su в следующем:

1. При использовании su необходимо сообщать пароль root обычному пользователю (но это можно обойти — подробности в этом разделе чуть ниже). При использовании sudo пользователь вводит свой собственный пароль.

2. У обеих команд есть интерактивный режим, то есть можно как бы выполнить вход от имени другого пользователя. Также обе программы, sudo и su, позволяют выполнять команды без интерактивного режима. В su интерактивный режим запускается по умолчанию (если не указана команда для выполнения):

В sudo для входа в интерактивный шелл нужно использовать опцию -i:

Точнее говоря, всё немного сложнее, опция -i в sudo означает запустить оболочку входа в систему от имени указанного пользователя; также можно задать команду. Сравните:

sudo -i pwd
/root

Также обратите внимание, что при указании команды не запускается интерактивная оболочка.

3. Использование sudo требует настройки, а именно: 1) добавление пользователя в группу, имеющую право использовать эту программу; 2) установка разрешений (перечисление команд, которые может запускать пользователь с sudo и т. д. При некоторых настройках, если пользователь не упомянут в конфигурационных файлах sudo, то он не может ей пользоваться. Программа su не требует настройки для каждого пользователя.

4. Разное отношение с окружением выполнения: смена текущей рабочей директории при входе в интерактивный режим su, сохранение текущей рабочей директории при выполнении отдельных команд с sudo и su. Сравните переменную окружения $HOME в команде

со значением $HOME в команде:

На самом деле, для подавляющего числа случаев использования этих программ, каких-то кардинальных различий между sudo и su нет, то есть вы можете выбрать любую из них для выполнения команды с повышенными привилегиями или от другого пользователя. Чаще используется sudo только по той причине, что её синтаксис короче: достаточно добавить sudo перед выполняемой командой, что касается su, то запуск одной команды требует конструкции su -c ‘КОМАНДА’.

И затем перед командами уже ненужно ставить sudo.

sudo su —

Или использовать интерактивный режим самой sudo:

6. su не требует установки

Утилита su присутствует даже в минимальных установках Linux (в пакете util-linux, который является зависимостью для многих программ). Программа sudo может отсутствовать по умолчанию в некоторых дистрибутивах, например, в Debian.

Исправление ошибки «bash

Человеку свойственно ошибаться, особенно при наборе текста. Возможно, в введенной вами команде есть опечатка (орфографическая ошибка).

Особо следует обратить внимание на:

Взгляните на приведенный ниже пример, где я неправильно написал обычную команду ls.

Итак, убедитесь, что вы набираете дважды.

Убедитесь, что команда установлена ​​в вашей системе

Это еще одна распространенная причина ошибки «Команда не найдена». Вы не можете запустить команду, если она еще не установлена.

В то время как ваш дистрибутив Linux поставляется с огромным количеством команд, установленных по умолчанию, невозможно предварительно установить все инструменты командной строки в системе. Если команда, которую вы пытаетесь запустить, не является популярной и распространенной командой, вам сначала нужно установить ее.

Вы можете использовать диспетчер пакетов вашего дистрибутива, чтобы установить его.

Возможно, вам придется установить недостающую команду

В некоторых случаях поддержка популярных команд может быть прекращена, и вы можете даже не устанавливать их. Вам нужно будет найти альтернативную команду, чтобы добиться результата.

Дополнительно:  Как получить root права на самсунг j2 prime

Некоторые популярные команды со временем перестают поддерживаться

Иногда ваша система не находит даже самых распространенных команд. Это часто бывает, когда вы запускаете дистрибутив Linux в контейнерах Docker. Чтобы уменьшить размер образа операционной системы, контейнеры часто не содержат даже самых распространенных команд Linux.

Вот почему пользователи Docker натыкаются на такие вещи, как Ошибка команды ping не найдена и т.п.

В контейнерах Docker часто установлено всего несколько команд.

Итак, решение состоит в том, чтобы либо установить отсутствующую команду, либо найти инструмент, который мог бы сделать то же самое, что вы пытались сделать с отсутствующей командой.

Проверьте, является ли это исполняемым скриптом с правильным путем

Это распространенная ошибка новичков Linux, когда запуск сценария оболочки.

Даже если вы находитесь в том же каталоге и пытаетесь запустить исполняемый скрипт только по его имени, он покажет ошибку.

: ~ / scripts # sample. -bash: sample: команда не найдена

Вам нужно указать интерпретатор оболочки явно или его абсолютный путь.

Если вы находитесь в каком-либо другом каталоге и пытаетесь выполнить сценарий оболочки, не указывая правильный путь к файлу, он будет жаловаться на то, что не нашел файл.

Добавление в ПУТЬ

В некоторых случаях вы загружаете все программное обеспечение в виде tar-файла, распаковываете его и находите исполняемый файл вместе с другими программными файлами. Для запуска программы нужно запустить исполняемый файл.

Но для этого вам нужно находиться в том же каталоге или указать полный путь к исполняемому файлу. Это утомительно.

Здесь вы можете использовать переменную PATH. Эта переменная содержит набор каталогов, и в этих каталогах находятся двоичные (исполняемые) файлы различных команд Linux. Когда вы запускаете команду, ваша система Linux проверяет указанные каталоги в переменной PATH, чтобы найти исполняемый файл этой команды.

Вы можете проверить расположение двоичного файла команды с помощью который команда:

Если вы хотите запустить исполняемый файл или скрипт из любого места в системе, вам необходимо добавить местоположение файла в эту переменную PATH.

Затем переменную PATH необходимо добавить в файл rc оболочки, чтобы изменения, внесенные в переменную PATH, были постоянными.

Вы уловили суть. Важно, чтобы ваша система Linux знала о местонахождении исполняемого скрипта. Либо вы указываете путь во время его запуска, либо добавляете его местоположение в переменную PATH.

Как разрешить пользователи выполнять только определённые команды с sudo

Необязательно каждому пользователю разрешать любые действия с sudo. Вы можете ограничить возможности пользователя выполнением только некоторых программ.

В файл /etc/sudoers нужно добавить строку вида:

Имя_пользователя Имя_машины=(Реальный_пользователь:Группа) команда

В этой строке значения следующие:

Обратите внимание, что если команд несколько, то они перечисляются через запятую без пробела.

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

%sudo ALL=(ALL:ALL) ALL

В зависимости от дистрибутива, она же может быть записана так:

%wheel ALL=(ALL) ALL
# ИЛИ
%wheel ALL=(ALL:ALL) ALL

Чтобы в действительности ограничить права пользователя, нужно закомментировать эту строку, то есть поставить перед ней символ #:

Как создать пользователя с sudo

Рассмотрим как создать пользователя, имеющего права запускать команды с sudo.

Чтобы создать пользователя с sudo в Debian, Linux Mint, Ubuntu, Kali Linux и их производных выполните команду вида:

В этой команде:

В Arch Linux, BlackArch и их производных для создания пользователя с sudo выполните команду вида:

Обратите внимание, что в Arch Linux группа, дающее право на выполнение команд sudo, называется wheel, а не, собственно, sudo. Также мы добавили пользователя сразу в две группы, а не в одну, имя второй группы video. Если вы создаёте пользователя на системе без графического окружения, например, на безголовом сервере, то добавлять в группу video не нужно.

В CentOS для создания пользователя с sudo выполните команду вида:

Теперь независимо от вашего дистрибутива, запустите одинаковую команду, чтобы установить пароль для нового пользователя:

Конфигурационный файл sudo

Программа sudo считывает конфигурацию из файла /etc/sudoers. Если в файле /etc/sudoers раскомментировать директиву

то дополнительно настройки будут считываться из всех файлов в директории /etc/sudoers.d.

Не рекомендуется напрямую править файл /etc/sudoers, рекомендуется использовать команду

которая откроет файл для редактирования. Кроме прочих функций, данная программа проверит синтаксис, и если в нём присутствует ошибка, то файл не будет сохранён.

При запуске visudo по умолчанию будет открыт файл /etc/sudoers. С помощью опции -f можно указать расположение файла в другом месте, например в /etc/sudoers.d.

Дополнительно:  Acer ICONIA TAB A500

Command not found». Как создать пользователя с sudo

По умолчанию в Debian и некоторых других дистрибутивах может отсутствовать пакет sudo. О том, как выполнить установку sudo, если вы столкнулись с ошибкой «-bash: sudo: command not found», а также о том, как создавать пользователей с правом выполнять команды с sudo смотрите «Ошибка «-bash: sudo: command not found» — не найдена команда sudo (РЕШЕНО)».

Как выполнить команду от имени другого пользователя

означает выполнить КОМАНДУ от имени пользователя по умолчанию. Таким пользователем обычно является root, но, на самом деле, может быть настроен другой пользователь по умолчанию.

Если нужно выполнить команду от имени иного, не root пользователя, то используйте опцию -u:

sudo -u ПОЛЬЗОВАТЕЛЬ КОМАНДА

Как узнать, какие sudo полномочия имеются у пользователя

Мы только что узнали, что у определённого пользователя могут быть ограниченные полномочия на выполнение команд с sudo. Как узнать, какие именно команды может выполнить пользователь или как проверить, сработали ли наши настройки в файле /etc/sudoers?

Для вывода всех разрешённых команд или для проверки определённой команды, используется опция -l. Но если не указать опцию -U с именем интересующего пользователя, то будут выведены данные для пользователя по умолчанию (root).

Bash root команда не найдена

Также можно узнать, является ли та или иная команда заблокированной или разрешённой для выполнения пользователем с sudo следующим образом:

sudo -l -U ПОЛЬЗОВАТЕЛЬ КОМАНДА

Если команда запрещена, то ничего не будет выведено:

Если команда разрешена, то будет выведен полный путь до файла:

Что означает sudo. Как запустить команду с sudo

Пожалуй самой часто используемой программой при системном администрировании (если вы работаете под обычным пользователем, а не под root), является sudo. Главное назначение sudo — это выполнить команду от имени другого пользователя, обычно от root. Смысл выполнения команды от root в том, что у него повышенные права доступа и, применяя sudo, обычный пользователь может выполнить те действия, на которые у него недостаточно прав.

Простейший и самый распространённый вариант запуска команд с sudo:

Если у КОМАНДЫ есть опции, аргументы, то для sudo не нужно делать какие-то дополнительные действия, например, помещать КОМАНДУ с опциями в кавычки или что-то ещё. Поставьте sudo и запускайте КОМАНДУ как обычно.

К примеру, я хочу выполнить:

ls -l /root

Поскольку я работаю под обычным пользователем, то у меня нет прав доступа в директорию /root и я получаю ошибку:

ls: невозможно открыть каталог ‘/root’: Отказано в доступе

Чтобы эта команда сработала, достаточно её записать после sudo:

sudo ls -l /root

Bash root команда не найдена

Установите sudo

По умолчанию sudo не установлена в Debian, но вы можете установить её. Вначале включите режим su:

Установите sudo запустив:

После этого вам может понадобиться настроить пользователей и разрешения. Дайте права на выполнения команд с Give sudo вашему собственному пользователю:

Убедитесь, что ваш файл sudoers имеет добавленную группу sudo. Для проверки и модификации файла sudoers запустите

и добавьте следующую строку (если она отсутствует):

# Разрешить членам группы sudo выполнять любые команды
%sudo ALL=(ALL:ALL) ALL

Вам нужно повторно зайти или полностью перезагрузить компьютер чтобы изменения вступили в силу.

Для создания нового пользователя с sudo запустите команду вида:

Замените НОВЫЙ_ПОЛЬЗОВАТЕЛЬ на желаемое имя.

Установите пароль для нового пользователя:

Как установить sudo в Arch Linux и производные

pacman -S sudo

найдите и раскомментируйте строку

чтобы разрешить членам группы wheel выполнять любые команды.

Для создания нового пользователя с sudo (замените НОВЫЙ_ПОЛЬЗОВАТЕЛЬ на настоящее имя) выполните команду вида::

Как настроить использование sudo без пароля

Данная настройка только для тех пользователей, кто действительно понимает зачем он это делает и какие риски безопасности это влечёт.

Чтобы отключить запрос пароля ПОЛЬЗОВАТЕЛЮ при вводе одной или нескольких КОМАНД с sudo:

ПОЛЬЗОВАТЕЛЬ ALL=(ALL:ALL) NOPASSWD: КОМАНДА1,КОМАНДА2,КОМАНДА3

Чтобы отключить запрос пароля ПОЛЬЗОВАТЕЛЮ при вводе любой команды с sudo:

ПОЛЬЗОВАТЕЛЬ ALL=(ALL:ALL) NOPASSWD: ALL

Чтобы отключить запрос пароля всем пользователям при вводе одной или нескольких КОМАНД с sudo:

%sudo ALL=(ALL:ALL) NOPASSWD: КОМАНДА1,КОМАНДА2,КОМАНДА3

Чтобы отключить запрос пароля всем пользователям при вводе любой команды с sudo:

%sudo ALL=(ALL:ALL) NOPASSWD: ALL

Это конец первой части. Во второй части мы рассмотрим другие интересные настройки и опции команды sudo.

Вам не нужно указывать sudo

Если вы выполняете команды на сервере под пользователем root, то вы можете пропускать sudo, поскольку все команды в любом случае выполняются с повышенными привилегиями.

Оцените статью
Master Hi-technology