macOSにアカウントを作ると勝手に「uid」が決められてしまう。
それは構わないのだが、ファイルサーバに NFS とかで接続する際、この「uid」で多少面倒になる。
っで、このuidをファイルサーバ/samba-ADで管理しているuidに変更するにはどうすればいいのだろうか。
&size(10){macOS側からの歩み寄り};
パスワード認証機構はmacOS側にお願いして、NFSで繋ぐときに備えてuid/gidを備える。
まぁ、sshfs、smb://<ファイルサーバ>/home/<ユーザ名>、afp://<ファイルサーバ>/home/<ユーザ名> とかで
繋げば、uid/gidを揃える必要はないのだが、macOS側でできる対応を掲示する
***グループを作成 [#jd827127]
管理者権限でmacOSにログインして、「システム環境設定」から「ユーザとグループ」を起動します。
左下の鍵を解錠して、「+」リンクを押下します。新規入力欄が表示され、新規項目で「グループ」を選択して、
そのグループ名をフルネーム欄に記載します。そして「グループを作成」ボタンを押下します
&ref(2017y07m18d_125504711.png,nolink);
次に、作った新規グループ「crystal」のgidを変更します。
左メニューに表示されたグループ「crystal」を選択して、右クリックメニューから「詳細オプション...」を選択します。
&ref(2017y07m18d_125607184.png,nolink);
すると、グループ「crystal」の詳細が表示される。
ここで、グループID欄がgidなので、目的の値に変更して、「OK」ボタンを押下します
&ref(2017y07m18d_125637169.png,nolink);
以上で新規のグループを作って、そのgidを変更してみた。
次はユーザを作成して、このグループをアサインする
***ユーザ作成 [#f6594982]
同じく「システム環境設定」から「ユーザとグループ」を起動させ、「+」リンクを押下します。
新規入力欄に真名とアカウント名、パスワードを入力して、「ユーザを作成」ボタンを押下します
&color(red){*};&size(10){この段階でホームディレクトリが用意されます};
&ref(2017y07m18d_131529124.png,nolink);
次に、作成した新規ユーザ「saber」のuid/gidを変更します。
目下のuid/gidは
#code(nonumber){{
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で用意されている。
#code(nonumber){{
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$
}}
なので
-システム側でuid/gidの変更
-ファイルシステム側のuid/gid変更
の2つが必要
まずはシステム側のuid/gidを変更してみる。
「システム環境設定」から「ユーザとグループ」を起動させ、左リストからユーザを選択して、右クリックメニューから「詳細オプション」を選択する
&ref(2017y07m18d_131618267.png,nolink);
詳細画面が現れ、「ユーザID」と「グループ」を変更して、「OK」ボタンを押下します
&ref(2017y07m18d_132857047.png,nolink);
すると、直後に、uid/gidは
#code(nonumber){{
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$
}}
となるが、ホームディレクトリは反映されない
#code(nonumber){{
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を変更する
#code(nonumber){{
lion:~ supervisor$ sudo chown -R 2003:2001 /Users/saber
Password:
lion:~ supervisor$
}}
これで完了
&color(white,blue){留意}; 変更対象アカウント変更しない。管理者権限のある別なユーザで行うこと。また変更対象アカウントで稼働中のプロセスがあれば、停止してから行うこと
&color(white,blue){留意}; 変更対象アカウント変更しない。管理者権限のある別なユーザで行うこと。また変更対象アカウントで稼働中のプロセスがあれば、停止してから行うこと。再起動直後、管理者権限ユーザで行うのがいいのかも。
変更対象アカウントでログインして、ログアウト後に管理者権限でログインしても、変更対象アカウントのプロセスが残っている場合があるので注意