No.1803 ドメインユーザー(ローカル側Admin権限、ドメイン側Domain Users)のグループに"なし(gid=513)"を追加する方法を教えて下さい。 |
発言者: 田野@まさ 発言日: 2003 12/19 22:48 |
「MSだす。」さま、「nil」さま、皆さま、ご無沙汰しています。他の仕事が忙しくてちょっと離れてました。 やっと最新のcygwinで再インストを終えまして、更にJE本を読んで自分で研究して試した経過報告をします。 [再インストしたアカウント] ローカルのAdministrator [再インストしたバージョン] cygwin.comのトップページ(DLLバージョン 1.5.5-1 と書いてある)にあるsetup.exeを使い、 http://cygwin.mirrors.pair.com からDLしたバイナリ。 cygwin_JEは未だインストせずにfindの検証に取りかかりました。 [再インスト後の'e:\cygwin\bin\cygwin1.dll'の製品バージョン] 1.5.5-cr-0x9b [再インストした直後の各ユーザーでの動き] ローカルのAdministrator: Windows側ユーザー環境変数"HOME /home/Administrator"を設定して「いない」のに、bashでloginすると自動で /home/Administrator が出来、"find / -name cygwin.bat"を叩くと、何の問題もなし。 (/cygwin.bat が検索され、findを抜ける。前回と同じ) ローカルのGuest(前回はGuestでは試しておらず、今回始めて試しました): Windows側ユーザー環境変数"HOME /home/Guest"を設定して「いない」のに、bashでloginすると自動で /home/Guest が出来、"find / -name cygwin.bat"を叩くと、何の問題もなし。 (/cygwin.bat が検索され、findを抜ける) ドメインのtanom(ローカル側グループ=Administrators,ドメイン側権限は多分Domain Users): 前回Windows側ユーザー環境変数"HOME /home/tanom"を設定していないと、自動で /home/tanom は出来なかったので、今回は最初からWindows側ユーザー環境変数"HOME /home/tanom"を設定しbashでloginし、自動で /home/Guest が出来、"find / -name cygwin.bat"を叩くと、 $ find / -name cygwin.bat find: ./.. changed during execution of find となる。 この時点でのidは調べ忘れました。すいません。 ここで次のコマンド。 $ mkpasswd -l -c >/etc/passwd ; mkpasswd -d -u tanom >>/etc/passwd $ mkgroup -l -c >/etc/group ; mkgroup -d >>/etc/group この時点では、 $ id uid=11110(tanom) gid=10513(mkgroup_l_d) groups=544(Administrators),545(Users),10 513(mkgroup_l_d),10513(mkgroup_l_d) ここで、/etc/passwdと/etc/group の編集にとりかかる。 /etc/passwd ---------------------------------------------------------------------------------------------- SYSTEM:*:18:544:,S-1-5-18:: Administrators:*:544:544:,S-1-5-32-544:: Administrator:unused_by_nt/2000/xp:500:513:U-DWH_NTWS777\Administrator,S-1-5-21-699034762-2112294683-452858821-500:/home/Administrator:/bin/bash Guest:unused_by_nt/2000/xp:501:513:U-DWH_NTWS777\Guest,S-1-5-21-699034762-2112294683-452858821-501:/home/Guest:/bin/bash tanom:unused_by_nt/2000/xp:11110:10513:tanom,U-DWH2000\tanom,S-1-5-21-25768824-1085765157-1845911597-1110:/cygdrive/c:/bin/bash tanom:unused_by_nt/2000/xp:11110:10513:U-DWH2000\tanom,S-1-5-21-25768824-1085765157-1845911597-1110:/home/tanom:/bin/bash ---------------------------------------------------------------------------------------------- [作業 1.1] tanomが2行出来てるが、uidもSID(S-1-5-21…)も同じなので、GCOS(第5フィールド)が最大公約数の方(1行目)を残す。 [作業 1.2] 残ったtanomのホームディレクトリ"/cygdrive/c"を"/home/tanom"に変更。 /etc/group ---------------------------------------------------------------------------------------------- SYSTEM:S-1-5-18:18: ~Bネ~Bオ:S-1-5-21-699034762-2112294683-452858821-513:513: Administrators:S-1-5-32-544:544: Backup Operators:S-1-5-32-551:551: Guests:S-1-5-32-546:546: Power Users:S-1-5-32-547:547: Replicator:S-1-5-32-552:552: Users:S-1-5-32-545:545: mkgroup_l_d:S-1-5-21-25768824-1085765157-1845911597-513:10513: Domain Admins:S-1-5-21-25768824-1085765157-1845911597-512:10512: Domain Guests:S-1-5-21-25768824-1085765157-1845911597-514:10514: Domain Users:S-1-5-21-25768824-1085765157-1845911597-513:10513: ---------------------------------------------------------------------------------------------- [作業 2.1] "なし"が文字化けしてるので"none"に変えてやる。 [作業 2.2] gid=10513 が2行出来てるが、SID(S-1-5-21-…)は同じなので、mkgroup_l_dを削除。 [作業 2.3] "Domain Hogehoge"の空白をアンダーバーに変える。 ↓ /etc/passwd ---------------------------------------------------------------------------------------------- SYSTEM:*:18:544:,S-1-5-18:: Administrators:*:544:544:,S-1-5-32-544:: Administrator:unused_by_nt/2000/xp:500:513:U-DWH_NTWS777\Administrator,S-1-5-21-699034762-2112294683-452858821-500:/home/Administrator:/bin/bash Guest:unused_by_nt/2000/xp:501:513:U-DWH_NTWS777\Guest,S-1-5-21-699034762-2112294683-452858821-501:/home/Guest:/bin/bash tanom:unused_by_nt/2000/xp:11110:10513:tanom,U-DWH2000\tanom,S-1-5-21-25768824-1085765157-1845911597-1110:/home/tanom:/bin/bash ---------------------------------------------------------------------------------------------- /etc/group ---------------------------------------------------------------------------------------------- SYSTEM:S-1-5-18:18: none:S-1-5-21-699034762-2112294683-452858821-513:513: Administrators:S-1-5-32-544:544: Backup Operators:S-1-5-32-551:551: Guests:S-1-5-32-546:546: Power Users:S-1-5-32-547:547: Replicator:S-1-5-32-552:552: Users:S-1-5-32-545:545: Domain_Admins:S-1-5-21-25768824-1085765157-1845911597-512:10512: Domain_Guests:S-1-5-21-25768824-1085765157-1845911597-514:10514: Domain_Users:S-1-5-21-25768824-1085765157-1845911597-513:10513: ---------------------------------------------------------------------------------------------- しかし、問題は解決せず。 $ find / -name cygwin.bat find: ./.. changed during execution of find この時点で、 $ id uid=11110(tanom) gid=10513(Domain_Users) groups=544(Administrators),545(Users),10513(Domain_Users) [作業 3.1] /etc/passwd で tanomが(2行あったどちらも)、uid=11110 なのに SID末尾=…1110 となっており、これは SID末尾=…11110 となっているべき(BUGかも?)と仮定し、修正してみるが、find結果は変わらず。 ちなみにidの結果も変わらず。 なので、元(末尾=…1110)に戻しておきました。 [この時点でのupdatedb結果] updatedb --prunepaths='/cygdrive /usr /bin /lib' updatedb --prunepaths='/cygdrive /usr /bin /usr/bin /lib /usr/lib' …は通った。 updatedb --prunepaths='/cygdrive' updatedb --prunepaths='/cygdrive/c' updatedb --prunepaths='/cygdrive /cygdrive/c' updatedb --prunepaths='/cygdrive /usr /bin' updatedb --prunepaths='/cygdrive /usr /lib' updatedb --prunepaths='/cygdrive /bin' updatedb --prunepaths='/cygdrive /lib' updatedb --prunepaths='/cygdrive /usr' updatedb --prunepaths='/cygdrive /bin /usr/lib' updatedb --prunepaths='/cygdrive /lib /usr/bin' updatedb --prunepaths='/cygdrive /usr/bin /usr/lib' updatedb --prunepaths='/cygdrive /usr /usr/bin /usr/lib' updatedb --prunepaths='/cygdrive /usr/bin /usr/lib /bin' updatedb --prunepaths='/cygdrive /usr/bin /usr/lib /lib' updatedb --prunepaths='/cygdrive/e/cygwin /bin' updatedb --prunepaths='/cygdrive/e/cygwin /lib' updatedb --prunepaths='/cygdrive/e/cygwin /usr' updatedb --prunepaths='/cygdrive/e/cygwin' …は /usr/bin/find: ./.. changed during execution of /usr/bin/find updatedb --prunepaths='/cygdrive /bin /lib' updatedb --prunepaths='/cygdrive /bin /lib /usr/bin /usr/lib' updatedb --prunepaths='/cygdrive /bin /lib /usr/bin' updatedb --prunepaths='/cygdrive /bin /lib /usr/lib' …は返ってこなくなり、Ctrl+cで抜け。 findで問題が起きないユーザーは、 $ id Administrator; echo; id Guest uid=500(Administrator) gid=513(none) groups=513(none) uid=501(Guest) gid=513(none) groups=513(none) となっており、tanomだけグループにnoneが欠けてる事が原因のような気がするのです。 つまり、 $ id uid=11110(tanom) gid=10513(Domain_Users) groups=544(Administrators),545(Users),10513(Domain_Users),513(none) となるようにすれば問題が解決するのでは、と考えているのです。 [質問 1] 何故、ドメインユーザー"tanom"だけグループに"none"が欠けてるのか、原因をどなたか分りますでしょうか? また、noneの追加のやり方ですが、JE本 p.204以降を読んでも良く分りません。 普通のUNIX風にやってみたらどうかと、/etc/group を、 none:S-1-5-21-699034762-2112294683-452858821-513:513:Administrator,Guest,tanom none:S-1-5-21-699034762-2112294683-452858821-513:513:tanom の両方試しましたが駄目でした。 [質問 2] どなたかドメインユーザー"tanom(sid=11110)"のグループに"none(gid=513)"を追加する方法を教えていただければ幸いです。 |
▼関連発言 |