Какой рекомендуемый интерфейс для утилиты, которая требует много параметров? [закрыто]

Если у вас есть команда, которая не может причинить вреда, но требует привилегий root, вы можете изменить ее, чтобы иметь атрибут «set user id» (set uid или suid). Вот пример:

ls -l /bin/chsh
-rwsr-xr-x 1 root root 23376 Mar 22 21:23 /bin/chsh*

Этот файл имеет тег "s", показывающий, что во время выполнения он примет идентификатор пользователя root (3-й столбец).

Тем не менее, это потенциально опасно, и локальный злоумышленник, способный вызвать эту команду, может захватить вашу систему, если сама команда не запрограммирована на обращение с вызовом suid 0. Вы были предупреждены.

Сказав это, вы можете сделать:

chmod u+s,a-w /usr/bin/nmcli

(при необходимости измените путь, например, на /bin/nmcli в соответствии с вашей системой)

Если вы хотите ограничить возможность вызывать (теперь опасную) команду, вы можете сделать ее доступной только для специальной группы, например by

chgrp john /usr/bin/nmcli
chmod o= /usr/bin/nmcli

Таким образом, только кто-то из группы john (и root) мог вызвать команду. В идеале используйте группу, в которой состоит только ваш пользователь.

0
25.11.2017, 23:27
0 ответов

Теги

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