Предотвращение использования sudo для пользователя root

Какую ОС вы используете? Это сработало для меня на CentOS 7, но я получил другую ошибку, чем вы, без кавычек:

#!/bin/bash
#
for i in {1..5}; do
file_date=$(date --date="$i days ago" "+ %m%d%Y") # "+ %m%d%Y" Creates a space before the date
echo "Foobar${file_date:1}" # Removes space before the date
done

ИЛИ

#!/bin/bash
#
for i in {1..5}; do
file_date=$(date --date="$i days ago" "+%m%d%Y")
echo "Foobar$file_date"
done

Обе приведут к желаемому результату:

[root@JBLGSMR002 ~]#./test.sh
Foobar07172017
Foobar07162017
Foobar07152017
Foobar07142017
Foobar07132017
1
03.10.2019, 13:21
2 ответа

Это невозможно, потому что всегда есть способ действовать от имени root, если вы не внесете в белый список определенные команды в файле sudoers.

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

Разумеется, любой пользователь sudo может отменить это действие.

1
27.01.2020, 23:17

Удалите пользователей из группы sudoи создайте новую группу, скажем, restricted.

Затем в/etc/sudoers(или еще лучше, в файл под/etc/sudoers.d)вы добавляете что-то вроде этого:

%restricted ALL=NOPASSWD: /usr/bin/command1,/etc/init.d/command2 restart

Пользователи в этой группе смогут выполнять только эти команды.

0
27.01.2020, 23:17

Теги

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