SUDO_USER, неопределенный в sudo руководстве - разъяснение, был бы прекрасен

Можно также использовать простое for цикл, особенно если файлы в рамках единственного каталога (никакие подкаталоги). Это может быть изменено для работы с подкаталогами также.

Без рекурсии:

for filename in ./*.js
do
    java -jar compiler.jar --js "${filename}" --js_output_file "new${filename}"
done

или как эквивалентная острота:

for filename in ./*.js; do java -jar compiler.jar --js "${filename}" --js_output_file "new${filename}"; done

Для рекурсивного вызова в подкаталоги (требует, GNU колотит 4.0, или более новый) (благодарит @ChrisDown):

shopt -s globstar
for filename in ./**/*.js; do
    java -jar compiler.jar --js "${filename}" --js_output_file "new${filename}"
done

5
15.03.2015, 04:31
1 ответ

sudo_user документирован в Man Sudo (не sudoers ):

 sudo_user Установите на имя пользователя, который вызывал  sudo.
 

То есть, если вы запустите sudo sh -c 'echo $ sudo_user' Это круглый способ получить эффект WHOAMI .

sudo logs, когда пользователь работает (или пытается запустить) команду через нее. Вы можете перечислить их с помощью LeanctCtl / usr / bin / sudo или что-то, эквивалентное для вашей системы. Он перечисляет имя пользователя и команду каждого вызова.

Если Sudo работает 1) в качестве корня и 2) с помощью Sudo_user SUDO_USER , запись ввода будет помечена с помощью имени пользователя sudo_user , а не как "корень". Это позволяет (сотрудничать) пользователю записывать команды, которые они управляли для потомки, даже если они были в неограниченной среде. Sudo Всегда добивается успеха при запуске с корневыми привилегиями (если не отключено с настройкой root_sudo ), поскольку вы можете просто запустить команду без него.

Есть два основных способа, которые это придут. Первый - это очевидный Sudo Bash или эквивалент и желание записывать вещи. Другой корпус использования предназначен для скриптов, которые могут регистрировать фактические действия, которые они взяли от имени пользователей. Это информативное поведение, а не проблема безопасности.

Sudo -e используется для редактирования файлов и использует другой набор политик безопасности, также документированных в Man Sudo и несколько безопаснее поведения редактирования. Люди иногда используют его при вошении в качестве корня для этих функций, и он имеет то же взаимодействие с Sudo_user , как указано выше.

9
27.01.2020, 20:35

Теги

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