hack のためのネタ帳, etc,,,

経緯

smb で繋がってる共有フォルダの owner が Unknown+User Unix_Group+1000 みたいになって、vi で編集すると readonly とか言われるのでこの部分の改善を図った。
以下の設定を行ったところ、ls -l での表示は改善されたが、vi で readonly と言われる件は、解決出来ず。

設定

/etc/passwd と /etc/group に user と group と Windows の Account 情報の SID を記述しておくと良いらしい。
mkpasswdmkgroup というコマンドで自動生成出来る模様。
大まかな使い方は以下の通り。
mkpasswd [-l マシン名] [-u ユーザ名]   [-U UNIXユーザ名]
mkgroup  [-l マシン名] [-g グループ名] [-U UNIXグループ名]
一覧に出てこない SID もあるので「explorer.exe」から各ファイルの「プロパティ」から「セキュリティ」タブを開きグループ名またはユーザー名を確認し、名指しすると特定できると思う。
LANDISK だと
Everyone
nobody (Unix User\nobody)
Nogroup (Unix Group\nogroup)
とか
Everyone
users (Unix Group\users)
Koichi OKADA(LANDISK\kou)
みたいになっているので、
mkpasswd -l LANDISK -U nobody
mkgroup  -l LANDISK -U nogroup
mkpasswd -l LANDISK -u kou
mkgroup  -l LANDISK -U users
のようにすると特定できる。-u, -g, -U を使い分けないと表示されない場合もある模様。
LookupAccout系の API からも確認出来るように、wautils を作ってみた。

生成したリストを /etc/{passwd,group} に転記した後、cygwin の process を一旦全部落とすと設定が反映される。
複数のプロセスが走っている場合は、いちいち落として回るのも面倒なので、私家版 apt-cyg で dist-upgrade すると手早い。

2018-12-16:
Windows と言うか samba 側の SID に対する cygwin の uid を /etc/passwd 上で統一してみた。
結果、stat で表示される uid はローカルとネットワークドライブで同じに出来たのだが、
ネットワークドライブ上のファイルは、user group other のうち other の permission が影響してしまいやはり read only の問題が解決できなかった。

参考

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます