以下に紹介する手順は、システム管理者や、コマンドラインの扱いに習熟した方を主に対象とした高度な内容となっています。ファイルのアクセス権と umask を変更する際は、慎重を期してください。間違いを犯すと、Mac のファイル、フォルダ、または App のセキュリティが損なわれたり、App が動作しなくなったりするおそれがあります。
アクセス権と umask について
アクセス権:Mac に保存されるすべてのファイル、フォルダ、App には、それぞれアクセス権が設定されています。このアクセス権によって、そのファイル、フォルダ、App を読み取り/書き込み/実行できるユーザアカウントが決まります。たとえば、POSIX アクセス権やアクセス制御リスト (ACL) などがあります。ユーザの POSIX アクセス権の制限を厳しくしたり緩くしたりするには、umask の値を調整します。
umask:3 桁の数値が、ファイルの POSIX アクセス権を表します。ターミナルでアクセス権を表示した場合、この 3 桁表示になります。各桁は、0 ~ 7 のいずれかになります。ファイルを作成すると、デフォルトの値 (通常、ファイルの場合は 666、フォルダの場合は 777) から umask 値が引かれて、新しいファイルやフォルダのアクセス権が決められます。たとえば、デフォルトの umask が 022 の場合、新しいファイルのアクセス権は 644、新しいフォルダのアクセス権は 755 になります。
umask はいくつかの場所で設定でき、場所ごとに違う App に作用します。umask の設定を間違えると、ファイルにアクセスできなくなったり、ほかのユーザにアクセスを認めることになったりしてしまいます。詳しくは、chmod(1)
マニュアルページの「MODES」セクションを参照してください。
ユーザ App の umask
管理者としてログインし、ターミナルに以下のコマンドを入力します。nnn
の部分は実際の umask 値 (027、002 など) に置き換えてください。このコマンドは、ユーザが開くすべての App (コマンドラインからアクセスする App、そうした App で作成される新しいファイルなど) について、ユーザの umask を設定します。このコマンドを実行した後で、必要に応じて Mac を再起動してください。
sudo launchctl config user umask nnn
ターミナルに「Could not write configuration: No such file or directory」というメッセージが表示される場合は、起動ディスクの「/private/var/db/com.apple.xpc.launchd/config」にフォルダがあるか確認してください。「config」フォルダがない場合は、以下のコマンドを入力して作成してから、あらためて試してください。
sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config
システムプロセスの umask
管理者としてログインし、ターミナルに以下のコマンドを入力します。nnn
の部分は実際の umask 値 (027、002 など) に置き換えてください。このコマンドは、システムコンテキストでユーザが実行するすべてのデーモンについて、ユーザの umask を設定します。システムが使用するファイルのアクセス権が変更される可能性があるため、このコマンドはお勧めできません。アクセス権の制限を厳しくしすぎるとソフトウェアが機能しなくなる場合があり、逆に緩すぎるとセキュリティに支障をきたすおそれがあります。このコマンドを実行した後で、必要に応じて Mac を再起動してください。
sudo launchctl config system umask nnn
ターミナルに「Could not write configuration: No such file or directory」というメッセージが表示される場合は、起動ディスクの「/private/var/db/com.apple.xpc.launchd/config」にフォルダがあるか確認してください。「config」フォルダがない場合は、以下のコマンドを入力して作成してから、あらためて試してください。
sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config
関連情報
umask の設定方法について詳しくは、ターミナルで「man launchctl
」と入力して調べてください。