Mac 関係覚え書き

Mac でデフォルトの umask 設定を行う.

参考

http://www.macosxhints.com/article.php?story=20031211073631814

概要

Mac でユーザさんが作るファイルのデフォルトのパーミションを 660 としたい. つまり,other の読み取り/書き込み権限を落としたい.

TinkerTool

ThinkerTool 3.1 というツールでは, 個別のユーザ毎に umask を設定することができるという.

これを応用して,全体ユーザのデフォルトを設定すれば...

NSUmask

Mac OS の設定ファイル

/System/Library/Frameworks/PreferencePanes.frmework/Versions/A/Resources/global.defaults

の中に,"NSUmask" という設定値がある.

この値はデフォルトが "18" となっており, この値はオクタル(8進数)の umask の値を 10進数にしたものだ. (つまり 022 を 10進にしたもの)

この値を変えてやることでうまくいくんではないか. つまり,027 を10進にした "23" を NSUmask の値とするのだ.

とはいえ, このファイルを直接いじるのは恐ろしい.

Mac 流には

Mac の流儀に従えば,/Library 以下に何かプリファレンスファイルを 作ってやればいいのか.

で,先の TinkerTool での動きを見てみると, 各個人での設定を行うために

 ~/Library/Preferences/.GlobalPreferences.plist

というファイルに次のような行を追加しているようだ.

<key>NSUmask</key>
<integer>my-umask-decimal</integer>

("my-umask-decimal" のところには,前述の 10進の数字が入る)

これにならい,

/Library/Preferences/.GlobalPreferences.plist

の先頭に次のような内容を追加してやればいい.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>NSUmask</key>                <---
   <integer>23</integer>             <---
   <key>AppleLanguages</key>
   <array>
       <string>English</string>
        ...

Tiger では

Tiger では,上記のファイルはバイナリとなっていて テキストエディタでは直接編集できない.

そのため,編集前後で以下のコマンドを使う.

編集前

plutil -convert xml1 /Library/Preferences/.GlobalPreferences.plist

編集後

plutil -convert binary1 /Library/Preferences/.GlobalPreferences.plist

てゆうか Panther 以上では

Panther 以上では,defaults コマンドが使えるので, 管理者になって

sudo defaults write /Library/Preferences/.GlobalPreferences NSUmask 23

ってなコマンドを打ってやってもいいみたい.

launchctl

Yosemite 以降では launchctl で umask を設定するようだ.

sudo launchctl config user umask 027

その他,詳しいことは 「OS X でカスタム umask を設定する」 https://support.apple.com/ja-jp/HT201684

GlobalPreferences は問題が出るかも

GlobalPreferences の設定を変更するとシステム全体に及ぶので, アプリケーションによっては不具合が出るかも知れないので, もっと簡単に,Finder からのフォルダ作成での umask 設定の仕方が載っていた. http://www.makemacwork.com/secure-finder-permissions.htm

管理者ユーザになって以下のコマンドを実行する.

defaults write /Library/Preferences/com.apple.finder umask -int 077

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-05-19 (金) 10:44:55