« [Reader]文字バケしたユーザー情報を上書きする | トップページ | クリップボードからファイルパスを取得(少し改良) »

launchctlのファイルをロックしてアップデート停止する


#!/bin/bash
#com.cocolog-nifty.quicktimer.icefloe
#
#################################################
USER_WHOAMI=$(/usr/bin/whoami)
/bin/echo "実行ユーザー(whoami): $USER_WHOAMI"
if [ "$USER_WHOAMI" != "root" ]; then
  ###実行しているユーザー名
CONSOLE_USER=$(/bin/echo "show State:/Users/ConsoleUser" | /usr/sbin/scutil | /usr/bin/awk '/Name :/ { print $3 }')
/bin/echo "コンソールユーザー(scutil): $CONSOLE_USER"
  ###管理者インストールしているか?チェック
/bin/echo "このスクリプトを実行するには管理者権限が必要です。"
/bin/echo "sudo で実行してください"
  ### path to me
SCRIPT_PATH="${BASH_SOURCE[0]}"
/bin/echo "/usr/bin/sudo \"$SCRIPT_PATH\""
/bin/echo "↑を実行してください"
exit 1
else
  ###実行しているユーザー名
CONSOLE_USER=$(/bin/echo "show State:/Users/ConsoleUser" | /usr/sbin/scutil | /usr/bin/awk '/Name :/ { print $3 }')
/bin/echo "コンソールユーザー(scutil): $CONSOLE_USER"
  ###実行しているユーザー名
HOME_USER=$(/bin/echo "$HOME" | /usr/bin/awk -F'/' '{print $NF}')
/bin/echo "実行ユーザー(HOME): $HOME_USER"
  ###logname
LOGIN_NAME=$(/usr/bin/logname)
/bin/echo "ログイン名(logname): $LOGIN_NAME"
  ###UID
USER_NAME=$(/usr/bin/id -un)
/bin/echo "ユーザー名(id): $USER_NAME"
  ###STAT
STAT_USR=$(/usr/bin/stat -f%Su /dev/console)
/bin/echo "STAT_USR(console): $STAT_USR"
fi

########################################
##
STR_FILE_PATH_A="/Library/LaunchAgents/com.microsoft.OneDriveStandaloneUpdater.plist"
STR_FILE_PATH_B="/Library/LaunchDaemons/com.microsoft.OneDriveStandaloneUpdaterDaemon.plist"
STR_FILE_PATH_C="/Library/LaunchDaemons/com.microsoft.OneDriveUpdaterDaemon.plist"
##
LIST_FILE_PATH=("$STR_FILE_PATH_A" "$STR_FILE_PATH_B" "$STR_FILE_PATH_C")
##
for ITEM_FILE_PATH in "${LIST_FILE_PATH[@]}"; do
/usr/bin/sudo /bin/ls -ale "$STR_FILE_PATH"
  ##鍵=ロック解除して
/usr/bin/sudo /usr/bin/chflags noschg "$ITEM_FILE_PATH"
/usr/bin/sudo /usr/bin/chflags nosimmutable "$ITEM_FILE_PATH"
/usr/bin/sudo /usr/bin/chflags nouchg "$ITEM_FILE_PATH"
/usr/bin/sudo /usr/bin/chflags nouimmutable "$ITEM_FILE_PATH"
  ##ACLをクリアして
/usr/bin/sudo /bin/chmod -N "$ITEM_FILE_PATH"
/usr/bin/sudo /bin/ls -ale "$ITEM_FILE_PATH"
  ##削除
/usr/bin/sudo /bin/rm -f "$ITEM_FILE_PATH"
/usr/bin/sudo /usr/bin/touch "$ITEM_FILE_PATH"
  ##ACLつけて
/usr/bin/sudo /bin/chmod +a "user:root deny delete" "$ITEM_FILE_PATH"
/usr/bin/sudo /bin/chmod +a "group:wheel deny delete" "$ITEM_FILE_PATH"
  ##鍵つけて 削除できない
/usr/bin/sudo /usr/bin/chflags schg "$ITEM_FILE_PATH"
done

exit 0


|

« [Reader]文字バケしたユーザー情報を上書きする | トップページ | クリップボードからファイルパスを取得(少し改良) »

Admin Permission」カテゴリの記事

AppleScript OneDrive」カテゴリの記事

Acrobat Annotation」カテゴリの記事