Основываясь на комментарии @RalfFriedl, я проверил сервер и обнаружил команду fuser, расположенную в /sbin. в этой ситуации мы должны передать /sbin/fuser из ssh.
(Как прокомментировано в другом ответе :)«Пути /sbin/
и /usr/sbin/
часто исключаются из переменной PATH по дизайну, потому что исполняемые файлы в этих каталогах обычно требуют привилегий root и, таким образом, не ожидается, что они будут запускаться обычные пользователи».
Используйте полную команду sudo, но вместо этого начните с echo
. Затем, если что-то пойдет не так, например, вы случайно нажмете клавишу Enter
, команда просто отобразится на экране, и вы вернетесь в командную строку, но ничего не произойдет (будьте осторожны с подстановкой команд, хотя ). Затем вы можете использовать стрелку Up
, чтобы вернуться к редактированию команды, как вы это делали.
Также проверьте справочные страницы самих команд, потому что некоторые из них предлагают возможность только показать то, что будет делать команда, без фактического выполнения .
Например, sfdisk
имеет опцию-n
(или :--no-action
), которая выполняет все действия, о которых вы просите, но не записывает данные в устройство , поэтому никакие фактические модификации не требуются. сделанный.
Чтобы внести постоянные изменения, отредактируйте файл .bashrc
в домашнем каталоге пользователя (, если вы используете BASH ). Чтобы сделать изменение постоянным для новых пользователей, вы можете настроить или изменить соответствующий файл в /etc/skel/
. Содержимое этого каталога по умолчанию копируется в домашние каталоги любых новых пользователей, которых вы добавляете.
Уведомление о безопасности:В руководстве по следующей ссылке предлагается добавить каталог bin/
в домашние каталоги для каждого пользователя, чтобы позволить им использовать свои собственные исполняемые файлы. Однако хорошей практикой безопасности является запрет запуска исполняемых файлов из раздела /home
с помощью модификатора noexec
в fstab
. Это позволит запускать только исполняемые файлы, одобренные администратором -.Дерево каталогов /usr/local/
предоставляет место для добавления исполняемых файлов, которые не проходят через стандартный (безопасный )репозиторий, так что административный контроль может быть сохранен, но при этом разрешено расширение стандартных пакетов, предоставляемых дистрибутивом.
Возможно, будет полезно взглянуть на краткий учебник, подобный этому:https://www.tecmint.com/set-path-variable-linux-permanently/
Благодаря комментариям я узнал, что /sbin
и /usr/sbin
по умолчанию исключены из $PATH
в Debian. Я исправил это, добавив следующую строку в~/.bashrc
:
PATH=$PATH:/sbin:/usr/sbin
Все команды теперь отображаются как обычно:
$ update-grub
grub-mkconfig: You must run this as root