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
| 固定リンク
「Admin Permission」カテゴリの記事
- Privileges 一定期間 一般ユーザーに管理者権限を与える事が出来るアプリ(2024.11.21)
- launchctlのファイルをロックしてアップデート停止する(2024.04.15)
- [chmod]chmodで設定する属性(2023.10.25)
- [chflas]上手に使ってファイルやフォルダの保護(2023.10.24)
- [do shell script]ファイル・フォルダの所有者オーナーの変更(2023.10.23)
「OneDrive」カテゴリの記事
- launchctlのファイルをロックしてアップデート停止する(2024.04.15)
- OneDrive関連プロセス一斉終了(2024.04.06)
- OneDriveバージョンチェッカv3(2024.04.06)
- [CloudStorage]クラウドドライブを開く(2023.04.07)
- [OneDrive]デスクトップにOneDriveのエイリアスをアイコン付きで作成する(2023.04.07)
「Acrobat Annotation」カテゴリの記事
- [Acrobat]コメントによるファイルサイズの増加(2024.10.17)
- [Acrobat]選択した注釈を全ページにコピー(同じ内容の再作成)する スタンプに対応(2024.09.21)
- [Acrobat]XDPファイルの内容をテキストに出力する(親注釈のみ)(2024.09.05)
- [Acrobat]検索語句にハイライトを入れる(日本語用 処理ページ単位)(2024.08.31)
- 途中で途切れるハイライト注釈をつなげて1つにする(2024.08.28)