#bash #macos #scripting #permissions
#bash #macos #сценарии #разрешения
Вопрос:
Я пытаюсь написать крошечный скрипт для изменения разрешений для определенной папки для вошедших в систему пользователей на Macbook. Ни у одного из этих пользователей нет прав администратора, поэтому мне приходится запускать его удаленно от имени root через наш MDM. Я не уверен, что правильно понимаю синтаксис. Может ли кто-нибудь помочь мне с этим?
#!/bin/sh
# Get current logged in user
TargetUser=$(echo "show State:/Users/ConsoleUser" |
scutil | awk '/Name :/ amp;amp; ! /loginwindow/ { print $3 }')
# Update permissions for target user
chown -R "${TargetUser}" /usr/local/bin
chmod g w /usr/local/bin
Комментарии:
1. Почему вы думаете, что с этим скриптом что-то не так?
2. Примечание: как правило, плохая практика безопасности — предоставлять обычным пользователям доступ на запись к командам, которые они выполняют.
3. Значение true
#!/bin/sh
не будет поддерживатьсяvar=$(cmdSub)
. Вы получаете там сообщение об ошибке? Если вы это сделаете, попробуйтеvar=`cmdSub`
. Лучше использовать#!/bin/bash
, если это возможно. Удачи.4. И первое место, которое нужно проверить, это shellcheck.net . Удачи.