flavors.me/amberjack

December 2, 2011

Mac OS X ホームディレクトリのアクセスコントロールをリセットする はてなブックマーク - Golbym!: Mac OS X ホームディレクトリのアクセスコントロールをリセットする

この辺りの情報はggっても妙に少ないので覚え書きとして。 下記手順は Lion で実行・確認していますが、Leopard 以降なら同様の手順で良いと思います。

# ホームディレクトリとその配下全ファイル/ディレクトリのオーナー/グループを変更(myuser を自分のユーザ名に置き換えて下さい)
sudo chown -R $USER:staff ~

# 念のため、全ファイル/ディレクトリからユーザー変更不可の BSD フラグを除去(Finder の「情報を見る」で「ロック」のチェックボックスをオフにするのと同じ)
chflags -R nouchg ~

# ホームディレクトリの UNIX パーミッションを変更
chmod 0755 ~

# ホーム直下のディレクトリ(隠しディレクトリを除く)の UNIX パーミッションを変更
chmod 0700 `ls -d ~/*`
chmod 0755 ~/Public ~/Sites

# ホームディレクトリとその配下の ACL を再帰的に全て削除する
chmod -RN ~

# ホームディレクトリへ ACL 追加
chmod +a "group:everyone deny delete" ~
chmod +a "group:admin allow list,search,readattr,readextattr,readsecurity" ~
ls -dle ~

# ホーム直下のディレクトリ(隠しディレクトリを除く)へ ACL 追加
chmod +a "group:everyone deny delete" `ls -d ~/*`
ls -dle ~/*

# ゴミ箱はディレクトリごと削除(何かを削除したタイミングで勝手に作成されるので大丈夫)
rm -rf ~/.Trash

以下、Lion の場合は好みに応じて実施

# ライブラリフォルダを Finder 上から不可視に設定
chflags hidden ~/Library

# 全アプリケーションの状態自動保存を強制的に禁止する
rm -rf ~/Library/Autosave\ Information/*
chflags -R uchg ~/Library/Autosave\ Information

以上です。ドットファイル/フォルダはそれぞれ個別にやってください。 ACL 等が狂うと、自分のデスクトップにあるファイル/フォルダを削除するのにいちいち管理者パスワードを要求される等の現象が発生します。 もしそのような状況に陥って困っている人は上記手順を試してみて下さい(ただし、自己責任で!)

参考資料