質問: 0022のumaskでファイルを書き込むようにsudoに指示するにはどうすればよいですか? 最近、snowleopardにアップグレードしました。 macportsによって書かれたいくつかのファイルが間違った許可でインストールされていることに気づきました-それらは0077のumaskで書かれています。私は問題を絞り込んだと思います: portコマンドは、sudoを介して呼び出されます。 私の.bashrcファイルは0077のumaskを指定しています。 古いバージョンのosx(10.5以下)では、sudoはrootユーザー(0022)のumaskを使用していました。ただし、現在は0077のmyumaskを使用しています。 とにかくsudoに古い振る舞いを使わせることはありますか? port installed、port outdatedなどの単純なコマンドを実行するには、sudoを使用する必要があるため、今のところ、ちょっと面倒です。(この問題については、この macportsチケット で詳しく説明しています。)編集sudoのumaskオプションを発見し、/etc/sudoersに次の行を追加しました。defaults umask=0022 ただし、sudoで使用されるrealumaskはであるため、これは期待どおりに機能しませんでした。このデフォルトマスクを使用したユーザーマスクのunion。 sudoのumaskの動作をオーバーライドし、デフォルトを直接使用するため(つまり、ユーザーのunionとデフォルトのsudoマスクではありません) )、以下を追加できます。defaults umask_override
回答: mac os x 10.7(lion)には、umask_overrideをサポートするバージョンのsudoがついに登場しました。記録のために、これは私のために働きます:defaults umask_override defaults umask=0022