Как настроить сценарий для выполнения как корень нев интерактивном режиме?

С Солярисом многими вещами является то же, но достаточно отличающийся, что это болезненно. Намного легче пойти от Соляриса до Linux, чем наоборот.

Вещи, что Вы ожидаете работать, не делают, потому что версия Соляриса инструмента, например, не поддерживает классы символов, хотя/usr/xpg4/bin вариант мог бы.

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

2
02.03.2013, 02:05
1 ответ

Полномочия сценария не важны. Setuid и setgid биты проигнорированы на сценариях на Linux и большинстве других нельдов.

Можно настроить sudo, чтобы позволить Вам запускать этот скрипт, не указывая пароль, с NOPASSWD тег. Удостоверьтесь это sudo не требует, чтобы быть подключенным к терминалу: выключите requiretty опция. Обратите внимание что NOPASSWD- теговое правило должно появиться перед любым другим правилом, которое позволило бы Вам выполнить команду с подсказкой пароля, потому что первое соответствие применяется. Таким образом выполненный visudo:

Defaults !requiretty
kjo ALL = NOPASSWD: /path/to/nc-logs-truncate
kjo ALL = (ALL) ALL

Измените первую строку сценария к #!/bin/zsh -f, иначе zsh загрузится ~/.zshenv который не желателен здесь.

Теперь, когда я ответил на Ваш литеральный вопрос, это - вероятно, не лучший метод. Простое chown kjo ~/.juniper_networks/network_connect/ncsvc.log гарантировал бы, что файл журнала принадлежит Вам так, можно усечь его по желанию.

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

mv -f ~/.juniper_networks/network_connect/ncsvc.log ~/.juniper_networks/network_connect/ncsvc.log.0
touch ~/.juniper_networks/network_connect/ncsvc.log

С другой стороны, сделайте больше unixy пакета NC, скажите ncsvc записать его журналы в /var/log, и включайте его журнал в logrotate конфигурация.

4
27.01.2020, 22:01

Теги

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