chownに関するバッドノウハウ

MacOSXにて, chown で所有者を変える場合.ユーザー名にドット '.' が含まれていると…例えば u.g というユーザー名の場合

$ chown 'u.g' file
chown: separation of user and group with a period is deprecated
chown: g: Invalid argument

となってしまう.古いバージョンの名残から, '.' がユーザー名とグループ名のセパレータとして働いてしまうため, 所有者 u, グループ g に変更しようとするのだけど, グループ g はシステムに存在しないために,chownに失敗する.

ユーザー名の最後に,セパレータ ':' (コロン) を入れれば,'.' はユーザ名の一部として解釈されるようになる.

$ chown 'u.g:' file
$