«bash:! / Bin / su»: событие не найдено » [дубликат]

-1
14.09.2019, 01:12
3 ответа
  1. su не дает специальных полномочий root. Так что препятствовать тому, чтобы кто-то с полномочиями root использовал его, бессмысленно.
  2. Редактируйте файлы sudo только с помощью visudo : создайте новый файл sudo для дополнения оригинала и поместите его в /etc/sudoers.d / .
  3. Вам нужно сбежать из ! : «бла бла бла \! Бла бла» или 'бла бла бла! бла бла '. Одиночные кавычки остановят все вычисления строки.
2
28.01.2020, 05:06

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

1
28.01.2020, 05:06

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

В bash есть механизм под названием "подстановка истории", который включается в командной строке. Он позволяет вам вставить всю или часть предыдущей команды (отсюда и "история") в редактируемую команду.

Символ, запускающий подстановку истории, - ! . Например, !WORD заменяется последней командой, начинающейся с WORD. Если такой команды нет, bash выдаст сообщение об ошибке, которое вы получили: bash: !WORD: событие не найдено.

Если вам нужно набрать ! без активации механизма подстановки истории, вы должны либо экранировать его \! или заключить его в одинарные кавычки '!'.

Например: echo 'Пользователь ALL = NOPASSWD: ALL, !/bin/su' | ...

Если расширение истории не дает вам покоя, вы также можете отключить его с помощью set +H, набирать команды без кавычек ! , и снова включить его позже с помощью set -H.

6
28.01.2020, 05:06

Теги

Похожие вопросы