macOSにアカウントを作ると勝手に「uid」が決められてしまう。
それは構わないのだが、ファイルサーバに NFS とかで接続する際、この「uid」で多少面倒になる。
っで、このuidをファイルサーバ/samba-ADで管理しているuidに変更するにはどうすればいいのだろうか。
macOS側からの歩み寄り
パスワード認証機構はmacOS側にお願いして、NFSで繋ぐときに備えてuid/gidを備える。
まぁ、sshfs、smb://<ファイルサーバ>/home/<ユーザ名>、afp://<ファイルサーバ>/home/<ユーザ名> とかで
繋げば、uid/gidを揃える必要はないのだが、macOS側でできる対応を掲示する
管理者権限でmacOSにログインして、「システム環境設定」から「ユーザとグループ」を起動します。
左下の鍵を解錠して、「+」リンクを押下します。新規入力欄が表示され、新規項目で「グループ」を選択して、
そのグループ名をフルネーム欄に記載します。そして「グループを作成」ボタンを押下します
次に、作った新規グループ「crystal」のgidを変更します。
左メニューに表示されたグループ「crystal」を選択して、右クリックメニューから「詳細オプション...」を選択します。
すると、グループ「crystal」の詳細が表示される。
ここで、グループID欄がgidなので、目的の値に変更して、「OK」ボタンを押下します
以上で新規のグループを作って、そのgidを変更してみた。
次はユーザを作成して、このグループをアサインする
同じく「システム環境設定」から「ユーザとグループ」を起動させ、「+」リンクを押下します。
新規入力欄に真名とアカウント名、パスワードを入力して、「ユーザを作成」ボタンを押下します
*この段階でホームディレクトリが用意されます
次に、作成した新規ユーザ「saber」のuid/gidを変更します。
目下のuid/gidは
lion:~ supervisor$ id saber
uid=502(saber) gid=20(staff) groups=20(staff),702(com.apple.sharepoint.group.2),
12(everyone),61(localaccounts),100(_lpoperator),701(com.apple.sharepoint.group.1)
lion:~ supervisor$
とuid:502, gid:20 に定義された。
加えて/Usersにホームディレクトリが作られ、フォルダ、ファイルの類が先ほどのuid/gidで用意されている。
lion:~ supervisor$ ls -l /Users/saber/
total 0
drwx------+ 3 saber staff 102 7 18 13:15 Desktop
drwx------+ 3 saber staff 102 7 18 13:15 Documents
drwx------+ 3 saber staff 102 7 18 13:15 Downloads
drwx------+ 26 saber staff 884 7 18 13:15 Library
drwx------+ 3 saber staff 102 7 18 13:15 Movies
drwx------+ 3 saber staff 102 7 18 13:15 Music
drwx------+ 3 saber staff 102 7 18 13:15 Pictures
drwxr-xr-x+ 5 saber staff 170 7 18 13:15 Public
lion:~ supervisor$
なので
の2つが必要
まずはシステム側のuid/gidを変更してみる。
「システム環境設定」から「ユーザとグループ」を起動させ、左リストからユーザを選択して、右クリックメニューから「詳細オプション」を選択する
詳細画面が現れ、「ユーザID」と「グループ」を変更して、「OK」ボタンを押下します
すると、直後に、uid/gidは
lion:~ supervisor$ id saber
uid=2003(saber) gid=2001(SYBYL\crystal) groups=2001(SYBYL\crystal),702(com.apple.sharepoint.group.2),
12(everyone),61(localaccounts),100(_lpoperator),701(com.apple.sharepoint.group.1)
lion:~ supervisor$
となるが、ホームディレクトリは反映されない
lion:~ supervisor$ ls -l /Users/saber/
total 0
drwx------+ 3 502 staff 102 7 18 13:15 Desktop
drwx------+ 3 502 staff 102 7 18 13:15 Documents
drwx------+ 3 502 staff 102 7 18 13:15 Downloads
drwx------+ 26 502 staff 884 7 18 13:15 Library
drwx------+ 3 502 staff 102 7 18 13:15 Movies
drwx------+ 3 502 staff 102 7 18 13:15 Music
drwx------+ 3 502 staff 102 7 18 13:15 Pictures
drwxr-xr-x+ 5 502 staff 170 7 18 13:15 Public
lion:~ supervisor$
なので、手動でuid/gidを変更する
lion:~ supervisor$ sudo chown -R 2003:2001 /Users/saber
Password:
lion:~ supervisor$
これで完了
留意 変更対象アカウント変更しない。管理者権限のある別なユーザで行うこと。また変更対象アカウントで稼働中のプロセスがあれば、停止してから行うこと。再起動直後、管理者権限ユーザで行うのがいいのかも。
変更対象アカウントでログインして、ログアウト後に管理者権限でログインしても、変更対象アカウントのプロセスが残っている場合があるので注意