Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)


スレッド

└◇1709:
~/(e:\cygwin\home\myname)でなく c:\ に .ncftp\ と .ssh\ が出来てしまう [田野@まさ] 12/04 21:07

 ├◇1711:find の動作 [MSだす。] 12/04
 │└◇1716:日本語のフォルダ名は(今は)在りません [田野@ま] 12/05
 │ └◇1723:Re:日本語のフォルダ名は(今は)在りません [MSだす。] 12/05
 │  └◇1741:findだけ再setupしたら直りませんか? [田野@ま] 12/08
 │   └◇1745:Re:findだけ再setupしたら直りませんか? [MSだす。] 12/08
 │    └◇1746:'/'はスルーしました。他はみな同じ結果でした。 [田野@ま] 12/09
 │     ├◇1747:Re:findの再インストールの前に [田野@ま] 12/09
 │     │└◇1750:Re[2]:findの再インストールの前に [MSだす。] 12/09
 │     │ └◇1753:$ updatedb --prunepaths='/ /bin' で今までにないメッセージ [田野@ま] 12/09
 │     │  └◇1764:Re:$ updatedb --prunepaths= [MSだす。] 12/10
 │     │   └◇1767:前回と挙動が変わりました。原因は不明です。 [田野@ま] 12/11
 │     │    └◇1771:Re:前回と挙動が変わりました。原因は不明です。 [MSだす。] 12/11
 │     │     └◇1775:Re[2]:前回と挙動が変わりました。原因は不明です。 [nil] 12/11
 │     │      └◇1778:ネットワークドメイン(ワークグループ?)にログオンし、ローカル側はAdministrators権限での結果です [田野@ま] 12/12
 │     ├◇1749:Re: [な] 12/09
 │     │└◇1751:Re[2]:$ for d in /*; …の結果 [田野@ま] 12/09
 │     │ └◇1755:Re[3]:$ for d in /*; …の結果 [な] 12/09
 │     │  └◇1761:/etc/group コンフィデンシャル含まれてない筈ですが、もしあればご指摘下さい [田野@ま] 12/10
 │     │   └◇1765:Re:/etc/group コンフィデンシャル含まれてない筈ですが、もしあればご指摘下さい [MSだす。] 12/10
 │     │    ├◇1768:/etc/passwd /etc/group 編集して全ファイルchgrpしちゃ駄目…ですよね当然? [田野@ま] 12/11
 │     │    │├◇1772:Administrator@ローカルでログオンだと問題が起きない [田野@ま] 12/11
 │     │    │└◇1776:Re:/etc/passwd /etc/group 編集して全ファイルchgrpしちゃ駄目…ですよね当然? [MSだす。] 12/12
 │     │    │ ├◇1777:Administratorsグループなので、この(Cygwinをインストしてる)マシンに対しては最高権限だと思ってました。 [田野@ま] 12/12
 │     │    │ └◇1779:Administratorsグループでインストしたのです [田野@ま] 12/12 <
 │     │    └◇1769:Re[2]:/etc/group コンフィデンシャル含まれてない筈ですが、もしあればご指摘下さい [nil] 12/11
 │     │     └◇1770:man stringsがおかしなメッセージ? [田野@ま] 12/11
 │     └◇1752:find での確認方法 [nil] 12/09
 │      └◇1754:/tmp/find-$d に書き込まれません [田野@ま] 12/09
 │       └◇1756:Re:/tmp/find-$d に書き込まれません [nil] 12/09
 │        ├◇1760:/cygwin.bat.0d0a は私が手で作ったものですが置かない方がいいですか? [田野@ま] 12/10
 │        └◇1762:/tmp/find-cygwin.bat.0d0a が怪しい? [田野@ま] 12/10
 │         └◇1763:/ から打って出来たファイルの中身 [田野@ま] 12/10
 ├◇1712:Re:~/(e:\cygwin\home\myname)でなく c:\ に .ncftp\ と .ssh\ が出来てしまう [MSだす。] 12/04
 │└◇1717:こんなです。 [田野@ま] 12/05
 │ ├◇1718:Re:こんなです。 [りう] 12/05
 │ │└◇1726:(無題) [nil] 12/05
 │ ├◇1719:Re:こんなです。 [MSだす。] 12/05
 │ ├◇1721:Re:こんなです。 [田野@ま] 12/05
 │ │└◇1722:補足 Re[2]:こんなです。 [田野@ま] 12/05
 │ │ ├◇1724:補足 Re[3]:こんなです。 [MSだす。] 12/05
 │ │ └◇1725:補足 Re[3]:こんなです。 [MSだす。] 12/05
 │ └◇1740:c:\ に.ncftp\や.ssh\が出来てしまう現象は直りました。 [田野@ま] 12/08
 │  └◇1742:訂正&お礼 [田野@ま] 12/08
 └◇1715:自己レス:~/(e:\cygwin\home\myname)でなく c:\ に .ncftp\ と .ssh\ が出来てしまう [田野@ま] 12/05


1709● ~/(e:\cygwin\home\myname)でなく c:\ に .ncftp\ と .ssh\ が出来てしまう[ 田野@まさ ] 2003 12/04 21:07
JE本(p.130以降)のとおりに順番にinetdやsshをサービス登録し、
telnatやncftpやsshでlocalhostにloginしてたら、
~/(e:\cygwin\home\myname)でなく c:\ に .ncftp\ と .ssh\ が出来てしまいました。

c:\.ncftp\ の下のファイル
firewall
history
init_v3
log
prefs_v3
trace

c:\.ssh\ の下のファイル
authorized_keys2
id_dsa
id_dsa.pub
id_rsa
id_rsa.pub
known_hosts

Windows側のシステム環境変数に /bin へのPATHを通した時はJE本(p.132)を参考に、
e:\cygwin\bin;
を先頭に追加してます(e:\cygwin\ にインストしてるので)。

それ以外にどこか(設定ファイル、変数、etc.)で"e:"としなければならないのに、
"c:"としてしまってる可能性があるのでしょうか?


また、この現象と関係あるかどうか判りませんが、
JE本(p.130以降)のとおりにinetd、ncftpをサービス登録やらloginやらしていって、
sshをサービス登録し p.144に書かれてる known_hosts を find しようとした時点で気付いたのですが、
ルートディレクトリに対しfindすると動作がおかしくなってしまいました。
(左側註釈の 「~/.ssh に保存されている」を読む前だったのでルートに対して行ってしまった)
$ find / -name known_hosts
find: ./.. changed during execution of find

$ find / -name cygwin.bat
find: ./.. changed during execution of find

$ find / -type d -name tanom
find: ./.. changed during execution of find
となってしまいます。

$ find /* -type d -name tanom
/home/tanom

$ find /* -name cygwin.bat
/cygwin.bat
等とすると大丈夫ですがこの動きは正常ではない筈です。

いつからこんな風になってしまったかハッキリとは分りませんが、
少なくとも再インストしてショートカットウィンドゥプロパティがデフォルトに戻り、
emacsが崩れなくなった事を確認した直後は、
"find / -name ファイル名"で問題なく使えてたのは間違いないです。

その後、日本語設定やら色々いじって、
ショートカットウィンドゥプロパティを再び変え、.emacs.el で画面幅も変え、
(今度こそemacsが崩れずにかつ幅広に小さな文字で画面を大きく使う事に成功(笑)し)
JE本(p.130以降)のとおりにやり始めた後からおかしくなってる(あくまで、様な気がします)。
スレッド一覧


1711● find の動作[ MSだす。 ] 2003 12/04 22:12
>$ find / -name known_hosts
>find: ./.. changed during execution of find

日本語のフォルダ名のせいで、こうなることがあります。
Cygwin のfind は日本語に対応してませんので。
"1288:locateでWindows上の全領域を検索したい [あき] 06/28"
以下で、その話がありました。
スレッド一覧


1716● 日本語のフォルダ名は(今は)在りません[ 田野@まさ ] 2003 12/05 17:06
「MSだす。」さま、回答ありがとうございます。

> 日本語のフォルダ名のせいで、こうなることがあります。
> Cygwin のfind は日本語に対応してませんので。
(ショートカット属性をデフォルトに戻せてEmacsが開くようになった)再インスト直後は日本語フォルダ(~/明解C言語辞典/)を作りました。
でもその時は"find / -name ファイル名"でちゃんと使えてました。
その後日本語のフォルダを半角アルファベット名(~/MEIKAI_C_GENGO_JITEN)にmvしました。
これ以外には、ルートディレクトリ(/cygdrive/e/cygwin/)には勿論、どのディレクトリにも日本語フォルダは作ってません。
そもそもルートディレクトリにはファイルもディレクトリも手では作った事がありません。
もしかしたら日本語フォルダがあった時点で既にどこかおかしくなっていて、半角アルファベット名に変えた時に露呈してきたのでしょうか。。。

あと思い出したのは、再インスト前に自分で変更して作っていた、
~/.bashrc, .cshrc, .emacs.el, .inputrc
/usr/X11R6/bin/startxwin.bat, startxwin.sh
/usr/local/lib/xmodmap.jp
をバックアップしておいたのを、再インストしてショートカットウィンドウがデフォルトに戻せてEmacsが崩れないのが成功したのを確認後、
mvを使わずエキスプローラーのマウスドラッグで同じディレクトリに戻した(勿論オリジナルファイルは cp -p でバックアップして)事です。
でも名前変更("."付きなので当然エキスプローラー上でF2では出来ない)と、中身の編集は、bashの中でmvとvimでしました。
なので改行コードは0aのままだし、文字コードもSJISのままだし、ファイルシステムは元々NTFSなのですから、何かおかしな事が起るとは考えにくいです。

どこを直したら良さそうかご指摘あるいは推測していただければ嬉しいです。
スレッド一覧


1723● Re:日本語のフォルダ名は(今は)在りません[ MSだす。 ] 2003 12/05 21:24
あまり自身はありませんが、

>$ find / -name cygwin.bat
>find: ./.. changed during execution of find
>
>$ find / -type d -name tanom
>find: ./.. changed during execution of find
>となってしまいます。
>
>$ find /* -type d -name tanom
>/home/tanom
>
>$ find /* -name cygwin.bat
>/cygwin.bat
>等とすると大丈夫ですがこの動きは正常ではない筈です。
>

"find / " がだめで、"find /*"で問題がおきないことから
"/" の直下か、そのもう一つ下ぐらいのところに問題の
種があるのでしょうね。

日本語の問題ではないとすると、何はともあれ、どこでその
エラーが発生するかを特定する必要がありますね。
ところで、
$ updatedb &

しても同じ問題に出会うとおもいますが(やってみてください。問題無いなら
$ locate 'ファイル名'
でファイルが探せますからいやってみて損は無いでしょう)、

$ updatedb --prunepaths='/cygdrive'

で"/cygdrive"を除いてupdatedbして
エラーが回避できたりしないでしょうか?
あるいは"/cygdrive"のところをルート直下の別の
ディレクトリに変えて問題が解消しないか試せば
どこが問題の種になっているかわかると思います。
スレッド一覧


1741● findだけ再setupしたら直りませんか?[ 田野@まさ ] 2003 12/08 14:58
> $ updatedb &
>
> しても同じ問題に出会うとおもいますが(やってみてください。問題無いなら
仰る通り、同じ問題に出会いました。
$ updatedb &
[1] 1124

$ /usr/bin/find: ./.. changed during execution of /usr/bin/find

[1]+ Done updatedb

となりました。


> $ locate 'ファイル名'
> でファイルが探せますからいやってみて損は無いでしょう)、
以下のようになりました。
$ locate '*find*'
/bin/find.exe
/bin/find2perl
/bin/findoidjoins.exe
/bin/texfind

$ locate '*updatedb*'
/bin/updatedb

locateコマンドって使った事なかったので良く分らないのですが、
helpを参考にルートディレクトリのpathを付けてやってみると、
$ locate -d / 'cygwin.bat'
locate: /: Is a directory

$ locate --database=/ 'cygwin.bat'
locate: /: Is a directory

$ locate --database=/cygdrive/e/cygwin 'cygwin.bat'
locate: /cygdrive/e/cygwin: Is a directory

$ locate -d /cygdrive/e/cygwin 'cygwin.bat'
locate: /cygdrive/e/cygwin: Is a directory
と、こんな動きですが、この結果は正しいですか?


updatedbは必ずfindでエラーメッセージを出してるようです。

$ updatedb --prunepaths='/cygdrive/e/cygwin'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

$ updatedb --prunepaths='/cygdrive/e/cygwin/usr/bin'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

$ updatedb --prunepaths='/cygdrive/e/cygwin/usr/bin/find'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

$ updatedb --prunepaths='/usr/bin'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

$ updatedb --prunepaths='/usr/bin/find'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

$ updatedb --prunepaths='/cygdrive/e/cygwin/bin'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

$ updatedb --prunepaths='/cygdrive/e/cygwin/bin/find'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

$ updatedb --prunepaths='/bin'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

$ updatedb --prunepaths='/bin/find'
/usr/bin/find: ./.. changed during execution of /usr/bin/find


やはり未だ直ってません。
$ find / -name cygwin.bat
find: ./.. changed during execution of find


検索開始ディレクトリだけでなく、対象ファイル名に*をつけた時、以下の動きです。
$ find / -name cygwin*
/bin/cygwin-ruby16.dll
/bin/cygwin1.dll
find: ./.. changed during execution of find


どうもupdatedb等のコマンド内部的にfindが使われ?
内部でカレントディレクトリから親ディレクトリに移る時、問題を起こしてるのでしょうか?
setup.exeでfindだけ選択して再setupしたら直る可能性はありますでしょうか?
スレッド一覧


1745● Re:findだけ再setupしたら直りませんか?[ MSだす。 ] 2003 12/08 17:53
ちょと説明不足だったかもしれません。すいません。

・ locate、 updatedb について

locate はファイルを検索するコマンドで……
使用方法はman
ページや、info (find のinfo ドキュメント
の"reference"
のところにlocate、updatedb等の説明があります)調べて
ください
……例えばlocate ssh でパス名に"ssh"が入った
ファイルを検索できます。
あらかじめ作成したデータベースファイルを使うので
速いです。

updatedb コマンドでデータベースファイルが作成
されます。このときfind が使われます。

updatedb を使うようにすすめたのは、このほうが
特定のパスを避けるための指定がfindより簡単かな、
と思ったからです。


さて、まずは問題の出所となるファイルまたはディレクトリを特定したいのです。
--prunepathでの指定で"/"以下のディレクトリでまだ試していないものがありすね(/home、/etc、/varなど)。全部ためしてください。"/"の直下だけでとりあえずよいでしょう。
ただ、"/cygdrive"だけはその下にドライブの指定をしないといけないかもしれません。
"/cygdrive/e"だけでなく、"/cygdrive/c"なども試してください。…うっかりしてました。この"/cygdrive/c"が問題の種である可能性大です。

なお、locateをためすのはupdatedbが成功してからにしましょう。また、findの再インストールは試しても害は無いでしょう。ただ、その前にどこで問題が発生しているか調べた方が良いと思いますので、ます上記updatedbして見てください。
スレッド一覧


1746● '/'はスルーしました。他はみな同じ結果でした。[ 田野@まさ ] 2003 12/09 13:55
毎度お手数おかけしてます。

先ずアドバイスどおりに'~/'の下の全ての、
'/bin','/etc','/home','/lib','/sbin','/tmp','/usr','/var'

同じmount先という事で、
'/usr/bin','/usr/lib'

以上10個のパスに対し、
$ updatedb --prunepaths='/bin'
$ updatedb --prunepaths='/cygdrive/e/cygwin/bin'
と両方のpath表記で行ったところ全て同じ結果でした。
/usr/bin/find: ./.. changed during execution of /usr/bin/find

次にやはりアドバイスどおりに'/cugdrive/drv'、
$ updatedb --prunepaths='/cygdrive/c'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

$ updatedb --prunepaths='/cygdrive/e'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

次にmount結果で表示されてるパスに試してみました。
$ updatedb --prunepaths='/usr/X11R6/lib/X11/fonts'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

上のpath表記を
$ updatedb --prunepaths='/cygdrive/e/usr/X11R6/lib/X11/fonts'
(勿論mount結果はこう表示されてはいませんが)に変えてみても同じ結果です。

$ updatedb --prunepaths='/'
これは通ってしまいました。
/usr/bin/find: ./.. changed during execution of /usr/bin/find
となりませんでした。

不思議なのは、
$ updatedb --prunepaths='/cygdrive/e/cygwin'
/usr/bin/find: ./.. changed during execution of /usr/bin/find
は通っていないのにも関わらず、です。

$ find / -name cygwin.bat
find: ./.. changed during execution of find
未だ直ってません。

次にCD-ROM、
$ updatedb --prunepaths='/cygdrive/d'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

次にネットワークドライブ(F〜L,N)、
$ updatedb --prunepaths='/cygdrive/n'
/usr/bin/find: ./.. changed during execution of /usr/bin/find
全て同じ結果でした。

ここでドライブ名割り当てが飛んでいる事が関係してるのかな、
と考え、N→Mに割り当て直し、再updatedbしてみました。

$ updateb --prunepaths='/cygdrive/m'
/usr/bin/find: ./.. changed during execution of /usr/bin/find

存在しないdrv名も、
$ updatedb --prunepaths='/cygdrive/b'
/usr/bin/find: ./.. changed during execution of /usr/bin/find


Cドライブ配下の以下のディレクトリ(何となく ^^;)
$ updatedb --prunepaths='/cygdrive/c/Documents*Settings'
$ updatedb --prunepaths='/cygdrive/c/Documents and Settings'

$ updatedb --prunepaths='/cygdrive/c/Documents*Settings/tanom'
$ updatedb --prunepaths='/cygdrive/c/Documents and Settings/tanom'

$ updatedb --prunepaths='/cygdrive/c/Documents*Settings/Administrator'
$ updatedb --prunepaths='/cygdrive/c/Documents and Settings/Administrator'

$ updatedb --prunepaths='/cygdrive/c/Documents*Settings/Administrator.DWH2000'
$ updatedb --prunepaths='/cygdrive/c/Documents and Settings/Administrator.DWH2000'

$ updatedb --prunepaths='/cygdrive/c/Documents*Settings/All*Users'
$ updatedb --prunepaths='/cygdrive/c/Documents and Settings/All Users'

$ updatedb --prunepaths='/cygdrive/c/Documents*Settings/Default*User'
$ updatedb --prunepaths='/cygdrive/c/Documents and Settings/Default User'

$ updatedb --prunepaths='/cygdrive/c/WINNT/system32'
$ updatedb --prunepaths='/cygdrive/c/WINNT/system'
/usr/bin/find: ./.. changed during execution of /usr/bin/find
いずれも同じ。

念の為、Windows再起動しましたが、やはり、
$ find / -name cygwin.bat
find: ./.. changed during execution of find
未だ直ってません。


findの再インストール方法ですが、
setup.exeの"Select Packages"でView=Fullの画面で、
"findutils"のNew列をReInstall、"findutils"以外のNew列を全部Keep、
特に、
View=Fullの画面を開いた時に最初からNew列がKeepじゃないもの
=Current列が"xxx-jp-x"等となってるもの
=Cygwin_JEから入れたもの
これらも全てNew列を全部Keep、
で宜しいでしょうか?
スレッド一覧


1747● Re:findの再インストールの前に[ 田野@まさ ] 2003 12/09 14:01
もし再インストしても駄目だったら、'find /'に'find /*'をaliasで割り当てるしかないでしょうか?
他にどんな原因&打つ手が考えられるでしょうか?
しかし困った(T_T)
スレッド一覧


1750● Re[2]:findの再インストールの前に[ MSだす。 ] 2003 12/09 17:09
もうすこしやってみましょう
(な さんのもためしてくさい)。

"/"以下のどれか一つを除いてだめだったので、
今度は検索を避けるディレクトリを増やしていくと
いうのはどうでしょう。まず、

$ updatedb --prunepaths='/cygdrive'

でcygdrive全体を避けてみる。
それでエラーがでるようなら、

$ updatedb --prunepaths='/cygdrive /home'

としてhomeも避けてみる。
以下、"/"以下のディレクトリを追加していってみる。
あやしそうなところ--変なファイルやsymlinkがありそうなところ--から順に追加していく、という方針で。

なお、
find: ./.. changed during execution of find
は、「現在のディレクトリの親ディレクトリがfind実行中に変ってしまっていました」
ということですよね。
その辺から何が問題の種になってそうか、心当りありませんか?
スレッド一覧


1753● $ updatedb --prunepaths='/ /bin' で今までにないメッセージ[ 田野@まさ ] 2003 12/09 20:21
「MSだす。」さん、ありがとうございます。

> あやしそうなところ--変なファイルやsymlinkがありそうなところ--から順に追加していく、という方針で。
symlnkは ~/tanom/ に /usr/X11R6/bin/startxwin.bat, startxwin.sh へのsymlnkを手で作っております。

$ updatedb --prunepaths='/cygdrive /bin /usr /etc /home /lib'
$ updatedb --prunepaths='/bin /usr /etc /home /lib'
$ updatedb --prunepaths='/bin /usr /home /lib'
$ updatedb --prunepaths='/bin /usr /lib'
$ updatedb --prunepaths='/ /lib'
が通りました。
/lib /bin を入れた時の動きがキーになりそう。

$ updatedb --prunepaths='/bin /etc /home /lib'
$ updatedb --prunepaths='/bin /home /lib'
$ updatedb --prunepaths='/bin /lib'
が返ってきません。
10分以上経過したところで Ctr+c して抜けました。

$ updatedb --prunepaths='/ /bin'
/usr/bin/updatedb: cannot create /usr/var/locatedb.n: permission denied
updatedb: new database would be empty
今までにないメッセージです。

$ ll /usr/var/locatedb.n
ls: /usr/var/locatedb.n: No such file or directory

$ ll /usr/var/
ls: /usr/var/locatedb.n: No such file or directory
合計 11k
drwxrwxrwx+ 2 Administ mkgroup_ 0 Dec 9 19:16 .
drwxrwxrwx+ 22 Administ mkgroup_ 4.0k Nov 28 16:08 ..
-rw-r--r-- 1 tanom mkgroup_ 10k Dec 9 19:16 locatedb

$ ls -ld /usr/var
drwxrwxrwx+ 2 Administ mkgroup_ 0 Dec 9 19:22 /usr/var


以下の組合せは、
$ updatedb --prunepaths='/cygdrive/e/cygwin /lib'
$ updatedb --prunepaths='/cygwin /lib'
$ updatedb --prunepaths='/cygdrive /lib'
$ updatedb --prunepaths='/home /lib'
$ updatedb --prunepaths='/usr /lib'
$ updatedb --prunepaths='/etc /lib'
$ updatedb --prunepaths='/sbin /lib'
$ updatedb --prunepaths='/tmp /lib'
$ updatedb --prunepaths='/var /lib'
/usr/bin/find: ./.. changed during execution of /usr/bin/find
と同じ結果です。



> find: ./.. changed during execution of find
> は、「現在のディレクトリの親ディレクトリがfind実行中に変ってしまっていました」
> ということですよね。
> その辺から何が問題の種になってそうか、心当りありませんか?
find実行中に何かディレクトリをコピーなり移動なり、って事ですか?
心当たりないです。
$ find / -name cygwin.bat
と打ってすぐに
find: ./.. changed during execution of find
になります。
共有フォルダに外からアクセスされてる可能性もありません。
$E が「このドライブは管理目的に共有されております」なだけです。
スレッド一覧


1764● Re:$ updatedb --prunepaths=[ MSだす。 ] 2003 12/10 18:44
とりあえず、/binがあやしそうですね。
/libはちょっと不明。

updatedb --prunepaths='/cygdrive /usr /var /sbin /home /etc'
あるいは/bin、/libどちらか一方をさらに加えた場合
どうなるかを調べたらどこが問題かは結論が出そうです。

>$ ll /usr/var/
>ls: /usr/var/locatedb.n: No such file or directory
このlocatedb.nを何とか消去しないといけないですね。
cygwin側から消せないなら($ rm /usr/var/locatedb.n)、
Windows側から消せないでしょうか?
とりあえず、/usr/var/には他にファイルが無いようなので、
$ mv /usr/var /usr/var_OLD
$ mkdir /usr/var
として、ディレクトリを作りなおしたらどうでしょう。
その際一応パーミッションをもとと同じに設定して下さい。

$ getfacl /usr/var_OLD | setfacl -f - /usr/var


さて、仮に/bin が問題の種だとして、なにが起きているかは
ちょっとわかりません。
$ find /bin -name 'cygwin.bat'
などとしてエラーが出ないとしたら、
find が /bin から、/ に戻ろうとするときにエラーになる、
ということだと思うのですが。

/bin が /usr/bin にmountされていることと何か関係があるのでしょうか…。
スレッド一覧


1767● 前回と挙動が変わりました。原因は不明です。[ 田野@まさ ] 2003 12/11 16:50
> updatedb --prunepaths='/cygdrive /usr /var /sbin /home /etc'
> あるいは/bin、/libどちらか一方をさらに加えた場合
$ updatedb --prunepaths='/cygdrive /usr /var /sbin /home /etc'
$ updatedb --prunepaths='/cygdrive /usr /var /sbin /home /etc /bin'
$ updatedb --prunepaths='/cygdrive /usr /var /sbin /home /etc /lib'
/usr/bin/find: ./.. changed during execution of /usr/bin/find (全て同じ結果)
となりました。

また、両方を加えた場合と、前回ヘンなメッセージが出た場合を試すと、
$ updatedb --prunepaths='/cygdrive /usr /var /sbin /home /etc /lib /bin'
$ updatedb --prunepaths='/ /bin' (前回ヘンなメッセージが出たパターン)
$ updatedb --prunepaths='/ /bin /lib' (前回は試してない)
が通ってしまいました。
$ updatedb --prunepaths='/ /lib'
は前回と同じ(通ります)。

$ updatedb --prunepaths='/cygdrive /lib /bin'
$ updatedb --prunepaths='/cygdrive/c /lib /bin'
$ updatedb --prunepaths='/cygdrive/e/cygwin /bin /lib'
は10分以上待って返って来ず、Ctr + c して抜けました。

$ updatedb --prunepaths='/cygdrive /bin'
$ updatedb --prunepaths='/cygdrive /lib'
$ updatedb --prunepaths='/cygdrive/e/cygwin /bin'
$ updatedb --prunepaths='/cygdrive/e/cygwin /lib'
/usr/bin/find: ./.. changed during execution of /usr/bin/find (全て同じ結果)

> >$ ll /usr/var/
> >ls: /usr/var/locatedb.n: No such file or directory
> このlocatedb.nを何とか消去しないといけないですね。
今もう一度、
$ ll /usr/var/
合計 11k
drwxrwxrwx+ 2 Administ mkgroup_ 0 Dec 11 10:33 .
drwxrwxrwx+ 22 Administ mkgroup_ 4.0k Nov 28 16:08 ..
-rw-r--r-- 1 tanom mkgroup_ 10k Dec 11 10:33 locatedb
して見たらエラーメッセージが出なくなってました。


またfindの動作でおかしな事に気付きました。今更ながらですみません。
/ にて、
$ ll cygwin*
-rwxrwxrwx 1 Administ mkgroup_ 57 Nov 28 12:00 cygwin.bat
-rwxrwxrwx 1 Administ mkgroup_ 766 Nov 28 16:18 cygwin.ico
なのに、

$ find . -name cygwin*
find: paths must precede expression
Usage: find [path...] [expression]

$ find / -name cygwin*
find: paths must precede expression
Usage: find [path...] [expression]
となります。
今まで/ 直下で試した時はファイル名やディレクトリ名にワイルドカードは試してませんでしたが、ずっとこうだったと思われます。
スレッド一覧


1771● Re:前回と挙動が変わりました。原因は不明です。[ MSだす。 ] 2003 12/11 19:15
>$ updatedb --prunepaths='/cygdrive /usr /var /sbin /home >/etc'
>$ updatedb --prunepaths='/cygdrive /usr /var /sbin /home >/etc /bin'
>$ updatedb --prunepaths='/cygdrive /usr /var /sbin /home >/etc /lib'
>/usr/bin/find: ./.. changed during execution of >/usr/bin/find (全て同じ結果)
>となりました。
つまり。検索パスに/bin、/libがあると、findはエラーを
出す、ということです。
>$ find /* -name cygwin.bat
>/cygwin.bat
>等とすると大丈夫ですが(略)
や、
>$ for d in /*; do if [ -d $d ]; then echo $d; find $d >-name cygwin.bat; fi; done
>(な さんの指示、エラーが出なかった)
> for d in `ls -A /`; do echo "=== $d"; find /$d -print
> >/tmp/find-$d; done
>(nill さんの指示、エラーが出なかった)
のような他のやり方でためした結果とあわせると、findは"/bin"や、"/lib"から"/"にもどろうとしたときに、正しく"/"にもどれないのだと思います。
(何故だろう…?)

>また、両方を加えた場合と、前回ヘンなメッセージが出た場合を試すと、
>…
>は前回と同じ(通ります)。
/usr/var/locatedb.n
が無くなり、書きこみが正常にできた、ということです。
--prunepathsに"/"そのものを入れているので、updatedbは
多分なにもしてないでしょうから(どこも見に行かない)、
エラーもでない、と。

>$ updatedb --prunepaths='/cygdrive /lib /bin'
>$ updatedb --prunepaths='/cygdrive/c /lib /bin'
>$ updatedb --prunepaths='/cygdrive/e/cygwin /bin /lib'
>は10分以上待って返って来ず、Ctr + c して抜けました。
おそらく時間がかかっているだけでしょう。
(もっともこのまま続けると、どこかでまたエラーがでるかもしれませんが)。


>またfindの動作でおかしな事に気付きました。今更ながらですみません。
>/ にて、
>…
>$ find . -name cygwin*
>find: paths must precede expression
>Usage: find [path...] [expression]
>
>$ find / -name cygwin*
>find: paths must precede expression
>Usage: find [path...] [expression]
>となります。

$ find / -name 'cygwin*'
という風に、シングルクウォートして下さい。
そうしないと、findに渡される前にbashが * を解釈してしまいます。

/bin や/libでfind がエラーを発生する理由は私には
今のところ何も思いつきません、ごめんなさい。
ただ、/etc/passwd /etc/group の件と関係あるかもしれなせん。
スレッド一覧


1775● Re[2]:前回と挙動が変わりました。原因は不明です。[ nil ] 2003 12/11 20:28
|つまり。検索パスに/bin、/libがあると、findはエラーを
|出す、ということです。

下記を確認してもらうとはっきりしますね。

/ からはじめて /bin と /lib の下だけを検索するには、

find / ! \( -path / -o -path /bin -o -path '/bin/*' -o
        -path /lib -o -path '/lib/*' \) -prune -o -print

逆に、/ からはじめて /bin, /lib, /cygdrive 以外の下だけを検索するには、

find / \( -path /cygdrive -o -path /bin -o -path /lib \) -prune -o -print


念の為、おかしかったほうのアカウントでの "mount" の出力結果と "find / -maxdepth 1 -print" の出力結果を教えてもらえませんか。
スレッド一覧


1778● ネットワークドメイン(ワークグループ?)にログオンし、ローカル側はAdministrators権限での結果です[ 田野@まさ ] 2003 12/12 11:40
tanom@DWH2K Group=Administrators での結果です。
$ mount
e:\cygwin\usr\X11R6\lib\X11\fonts on /usr/X11R6/lib/X11/fonts type system (binmode)
e:\cygwin\bin on /usr/bin type system (binmode)
e:\cygwin\lib on /usr/lib type system (binmode)
e:\cygwin on / type system (binmode)
c: on /cygdrive/c type user (binmode,noumount)
d: on /cygdrive/d type user (binmode,noumount)
e: on /cygdrive/e type user (binmode,noumount)
f: on /cygdrive/f type user (binmode,noumount)
g: on /cygdrive/g type user (binmode,noumount)
h: on /cygdrive/h type user (binmode,noumount)
i: on /cygdrive/i type user (binmode,noumount)
j: on /cygdrive/j type user (binmode,noumount)
k: on /cygdrive/k type user (binmode,noumount)
l: on /cygdrive/l type user (binmode,noumount)
m: on /cygdrive/m type user (binmode,noumount)

$ find / -maxdepth 1 -print
/
/bin
/cygwin.bat
/cygwin.ico
/etc
/home
/lib
/sbin
/tmp
/usr
/var

やはり / からはじめて /bin と /lib の下だけを検索した時だけ問題が起きてます。

$ find / ! \( -path / -o -path /bin -o -path '/bin/*' -o -path /lib -o -path '/lib/*' \) -prune -o -print | tail
find: ./.. changed during execution of find
/bin/zipcloak.exe
/bin/zipgrep
/bin/zipinfo
/bin/zipnote.exe
/bin/zipsplit.exe
/bin/zless
/bin/zmore
/bin/znew
/bin/zsh-4.0.6.exe
/bin/zsh.exe

$ find / \( -path /cygdrive -o -path /bin -o -path /lib \) -prune -o -print | tail
/var/www/icons/up.gif
/var/www/icons/up.png
/var/www/icons/uu.gif
/var/www/icons/uu.png
/var/www/icons/uuencoded.gif
/var/www/icons/uuencoded.png
/var/www/icons/world1.gif
/var/www/icons/world1.png
/var/www/icons/world2.gif
/var/www/icons/world2.png
スレッド一覧


1749● Re:[ な ] 2003 12/09 14:53
問題があるディレクトリを特定するために、
$ for d in /*; do if [ -d $d ]; then echo $d; find $d -name cygwin.bat; fi; done
とやってみてください。
スレッド一覧


1751● Re[2]:$ for d in /*; …の結果[ 田野@まさ ] 2003 12/09 17:38
「な」さま、ありがとうございます。

$ for d in /*; do if [ -d $d ]; then echo $d; find $d -name cygwin.bat; fi; done
/bin
/etc
/home
/lib
/sbin
/tmp
/usr
/usr/src/ucl-1.01-1/B/win32/cygwin.bat
/var

となりました。


見つかったディレクトリとルートにある cygwin.bat をそれぞれlsすると、
$ ll /usr/src/ucl-1.01-1/B/win32/cygwin.bat
-rwxrwxrwx 1 Administ mkgroup_ 769 Jan 3 2002 /usr/src/ucl-1.01-1/B/win32/cygwin.bat

$ ll /cygwin.bat
-rwxrwxrwx 1 Administ mkgroup_ 51 Dec 5 15:28 /cygwin.bat

です。

見つかった win32/cygwin.bat まで1つづつ上にfindすると、
$ find /usr/src/ucl-1.01-1/B/win32/ -name cygwin.bat
$ find /usr/src/ucl-1.01-1/B/ -name cygwin.bat
$ find /usr/src/ucl-1.01-1/ -name cygwin.bat
/usr/src/ucl-1.01-1/B/win32/cygwin.bat (最後以外は結果省略)

と、この3つはすぐ(5〜10秒くらいで)結果が返り、

$ find /usr/src/ -name cygwin.bat
$ find /usr/ -name cygwin.bat
/usr/src/ucl-1.01-1/B/win32/cygwin.bat (最後以外は結果省略)

この2つは結果が返るのに異常に長く時間(2分くらい)がかかりました。

ルートは相変わらず、
$ find / -name cygwin.bat
$ find // -name cygwin.bat
find: ./.. changed during execution of find (最後以外は結果省略)

と、問題が起きます。


問題が起きてるルートディレクトリ直下にある他のファイル名 cygwin.ico でも試してみました。
$ for d in /*; do if [ -d $d ]; then echo $d; find $d -name cygwin.ico; fi; done
/bin
/etc
/home
/lib
/sbin
/tmp
/usr
/usr/src/cygwin.ico
/var

となりました。

見つかったディレクトリとルートにある cygwin.ico をそれぞれlsすると、
$ ll /usr/src/cygwin.ico
-rwxrwxrwx 1 Administ mkgroup_ 766 Oct 26 2000 /usr/src/cygwin.ico

$ ll /cygwin.ico
-rwxrwxrwx 1 Administ mkgroup_ 766 Nov 28 16:18 /cygwin.ico

です。

やはり、
$ find /usr/src/ -name cygwin.ico
$ find /usr/ -name cygwin.ico
/usr/src/cygwin.ico (最後以外は結果省略)

に異常に長い時間(2分くらい)がかかりました。


ルート直下のdir名でfindしてみた結果も張っておきます。
$ find / -type d -name bin
/bin
find: ./.. changed during execution of find

/bin だけ途中まで動いてるようです。

他は
$ find / -type d -name etc
$ find / -type d -name home
$ find / -type d -name lib
$ find / -type d -name sbin
$ find / -type d -name tmp
$ find / -type d -name usr
$ find / -type d -name var
find: ./.. changed during execution of find (最後以外は結果省略)

と皆同じ結果です。
スレッド一覧


1755● Re[3]:$ for d in /*; …の結果[ な ] 2003 12/09 20:41
問題は / 直下にあるファイルのようなので、
$ ls -al
の結果を教えていただけますか。

あと、どうも /etc/group の中身がおかしいような気がします。
# ls -l で表示されるグループにmkgroup_なんとかと
# あるのは普通だとは思えません。
チェックできますか?
スレッド一覧


1761● /etc/group コンフィデンシャル含まれてない筈ですが、もしあればご指摘下さい[ 田野@まさ ] 2003 12/10 09:20
「な」さん、ありがとうございます。

> $ ls -al
> の結果を教えていただけますか。
"/"には、ちょっと実験の為にオリジナル cygwin.bat を編集して作った、
cygwin.bat.0d0a というのがありましたが念の為に、$ mv /cygwin.bat.0d0a ~/ しました。
その後のls結果です。
$ ls -al /
合計 2.0k
drwxrwxrwx+ 10 Administ mkgroup_ 4.0k Dec 10 08:32 .
drwxrwxrwx+ 10 Administ mkgroup_ 4.0k Dec 10 08:32 ..
drwxrwxrwx+ 3 Administ mkgroup_ 220k Dec 2 16:56 bin
-rwxrwxrwx 1 Administ mkgroup_ 51 Dec 5 15:28 cygwin.bat
-rwxrwxrwx 1 Administ mkgroup_ 766 Nov 28 16:18 cygwin.ico
drwxrwxrwx+ 20 Administ mkgroup_ 16k Dec 8 13:31 etc
drwxrwxrwx+ 3 tanom mkgroup_ 0 Nov 28 16:36 home
drwxrwxrwx+ 32 Administ mkgroup_ 60k Nov 28 16:13 lib
drwxrwxrwx+ 2 Administ mkgroup_ 0 Nov 28 13:20 sbin
drwxrwxrwx+ 10 Administ mkgroup_ 4.0k Dec 9 19:39 tmp
drwxrwxrwx+ 22 Administ mkgroup_ 4.0k Nov 28 16:08 usr
drwxrwxrwx+ 12 Administ mkgroup_ 4.0k Dec 4 15:05 var

勿論未だ、
$ cd / ; pwd
/

$ find . -name cygwin.bat
find: ./.. changed during execution of find

$ find / -name cygwin.bat
find: ./.. changed during execution of find
です。


> あと、どうも /etc/group の中身がおかしいような気がします。
> # ls -l で表示されるグループにmkgroup_なんとかと
> # あるのは普通だとは思えません。
> チェックできますか?
$ cat /etc/group
SYSTEM:S-1-5-18:18:
なし: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:

です。

(注!)
S-1-5-…の部分、ドメインサーバー側のPW等のコンフィデンシャル情報は含まれてないと思いますが、
もし含まれてるなら削除して伏字で再投稿しないといけないんでご指摘下さい。

mkgroup_ ってcygwinが作ったデフォルトのグループ名だと思っていました。

Windows側は、
「ローカル ユーザーとグループ」の
「ユーザー」ビュー
:Administrator
:Guest(×がついてる)

「グループ」ビュー
:Administrator
:Backup Operators
:Guests
:Power Users
:Replicator
:Users

コンパネの「ユーザーとパスワード」の「ユーザー」タブ
ユーザー名 / ドメイン / グループ
---------------------------------------------
Administrator / hogehoge777 / Administrators
Guest / hogehoge777 / Guests
tanom / fugafuga2000 / Administrators

となっております。(hogehoge、fugafugaは勿論伏字)
hogehoge777は多分Windowsインスト時のドメインです。
fugafuga2000がアサインされたドメインで、このドメインにtanomでログオンして使うようになってます。
スレッド一覧


1765● Re:/etc/group コンフィデンシャル含まれてない筈ですが、もしあればご指摘下さい[ MSだす。 ] 2003 12/10 19:28
ついでに、
$ mkpasswd -l

$ mkgroup -l
してみては?
これで異常な結果(例の/cygdrive:cやmkgoup_l_dとか)が出ることは無いと思うのですがどうでしょう?
スレッド一覧


1768● /etc/passwd /etc/group 編集して全ファイルchgrpしちゃ駄目…ですよね当然?[ 田野@まさ ] 2003 12/11 16:57
> ついでに、
> $ mkpasswd -l
> や
> $ mkgroup -l
> してみては?
> これで異常な結果(例の/cygdrive:cやmkgoup_l_dとか)が出ることは無いと思うのですがどうでしょう?
今度は、自分のユーザー名 tanom や sshd が見えなくなりました。
tanom が属するグループは
$ id
uid=11110(tanom) gid=10513(mkgroup_l_d) 所属グループ=544(Administrators),545(Users),10513(mkgroup_l_d)
です。

$ mkpasswd -l
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

$ mkgroup -l
SYSTEM:S-1-5-18:18:
なし: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:

$ cat /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
sshd:unused_by_nt/2000/xp:1002:513:sshd privsep,U-DWH_NTWS777\sshd,S-1-5-21-699034762-2112294683-452858821-1002:/var/empty:/bin/false

$ cat /etc/group
SYSTEM:S-1-5-18:18:
なし: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:


/etc/passwd を手で、tanomがAdministratorsだけに属するように、
tanom:unused_by_nt/2000/xp:11110:544:tanom,U-DWH2000\tanom,S-1-5-21-25768824-1085765157-1845911597-1110:/home/tanom:/bin/bash
と編集して、

/ 下の全ファイル全ディレクトリからグループ=mkgroup_l_d のものを洗出し(awkとgrep?)、
変数filehogeに入れループで $ chgrp Administrators $filehoge するスクリプトを流し、

その後、
/etc/group から手で、mkgroup_l_d 行をdd …とかやっちゃ駄目、、、ですよね?やっぱ?


あと、またおかしな事に気が付きました。
ローカル のAdministrator@NTWS777 にはパスワードは設定していないのに、
Windowsに tanom@DWH2000 でログオンしてCygwin Bashを開き、
$ su - Administrator
パスワード: (何も入力せずにEnter)
su: パスワードが違います
となります。

Windowsにローカル のAdministrator@NTWS777 でログオンしてCygwin Bashを開いても、
この時 /home/Administrator が自動で出来、
$ id
uid=500(Administrator) gid=513(なし) groups=513(なし),544(Administrators),545(Users)
です。この時やはり、
$ su - tanom
パスワード: (tanomのパスワード)
su: パスワードが違います
となります。


いったん設定ファイル(.bashrc等)をバックアップCygwinを削除(怪しいディレクトリキーもdel)、                、AdministratorでWindowsにローカルログオンしてCygwin再インストし、
tanomでWindowsにネットワークログオンしてCygwin Bash起動、とした方が良いでしょうか?

(注)
PWはハッシュ化されてるし、ドメイン名は別にコンフィデンシャルではないので、特に伏字にはしてません。
スレッド一覧


1772● Administrator@ローカルでログオンだと問題が起きない[ 田野@まさ ] 2003 12/11 19:30
馬鹿でした。折角、
> Windowsにローカル のAdministrator@NTWS777 でログオンしてCygwin Bashを開いても、
> この時 /home/Administrator が自動で出来、
> $ id
> uid=500(Administrator) gid=513(なし) groups=513(なし),544(Administrators),545(Users)
> です。この時やはり、
> $ su - tanom
> パスワード: (tanomのパスワード)
> su: パスワードが違います
> となります。
まで試しておいて肝心のfindを試してませんでした。

なんと、Administrator@NTWS777 にログオンすると、
/home/Administrator からの
$ find / -name cygwin.bat
も、
/ からの
$ find . -name cygwin.bat

$ find / -name cygwin.ico
もちゃんと動きました。

tanom@@DWH2000 でログオンしてのCygwinでfindがちゃんと動くようにするにはどうしたらいいでしょうか?
どこかのディレクトリ全体を「所有者、グループ、権限」を一括で変えてやれば、って気がするのですが具体的にどうすべきか教えて下さい。

あと、Administrator@NTWS777 でログオンしてfindが動き出したのですが、ssh関連のディレクトリだけは、Permission Deniedと出ます。
Administrator@NTWS777 が tanom@DWH2000 より弱い?からなのでしょうか?
スレッド一覧


1776● Re:/etc/passwd /etc/group 編集して全ファイルchgrpしちゃ駄目…ですよね当然?[ MSだす。 ] 2003 12/12 02:43
>いったん設定ファイル(.bashrc等)をバックアップCygwinを削除(怪しいディレクトリキーもdel)、
>AdministratorでWindowsにローカルログオンしてCygwin再インストし、

そうするべきでしょうね。
権限に制限があって、そのために
いろいろうまくいかないことがでて来るのは
わずらわしいでしょう。
もっと言えば、初期インストール段階のトラブルを
避けるために、そのマシンでの最大限の権限を持つユーザで
インストールし、そのユーザでCygwinを使用すべきです。
制限された権限を持つユーザでどのように使用するかは、
あるていどいろいろな事情が判って、どのようなパーミッションの設定が必要か自分で判断できるようになってからにすべきです。おそらく手作業でいろいろな変更をする必要がでて来るでしょう。

この辺はUnixやLinuxとは雰囲気の違うところです。
UnixやLinuxなら、*本当に必要な場合*以外はrootアカウントを使うべきでは無いでしょう。

なお、質問する際にはなによりもまず、あなたの使用している
アカウントがどのような種類のものかを説明すべきではないでしょうか?
スレッド一覧


1777● Administratorsグループなので、この(Cygwinをインストしてる)マシンに対しては最高権限だと思ってました。[ 田野@まさ ] 2003 12/12 10:31
今更ながらですいません。。。

普段使用してるアカウントは tanom@DWH2000
所属グループは Adsministrators

他にローカルコンピュータにログオンする Administrator@NTWS777
所属グループは Adsministrators
というのがあります。

管理者から「いわゆるWindowsドメインは使ってない」と聞いた事があるので、
DWH2000はWindowsドメインじゃなくワークグループ名かも知れません。
NTWS777はWindowsインスト時に付けたコンピュータ名です。
スレッド一覧


1779● Administratorsグループでインストしたのです[ 田野@まさ ] 2003 12/12 11:59
このマシンでの最大限の権限を持つtanom(Administratorsグループ)でインストールし、tanomでCygwinを使用するようにはしてるのです。
他のWindowsアプリもずっと同じアカウントでインストです。
もしかしたらCygwinは、Administratorでのインストと、それ以外のアカウント(Administratorsグループ)でのインストで動きが違ってくるのかも。。。
Administrators権限のアカウントが他にあったとしても、Administratorでインストした方がいい(問題が起きる可能性が低い)って事でしょうか?
スレッド一覧


1769● Re[2]:/etc/group コンフィデンシャル含まれてない筈ですが、もしあればご指摘下さい[ nil ] 2003 12/11 18:16
念の為、確実なところだけ。
ドメインユーザの場合 /etc/group に mkgroup_l_d があるのはおかしくないようです。

常にそうなるのかどうかは未確認ですが、出力される場合があることは、src か下記を。
(自分の時どうだったかは覚えてない。私はすでにドメインに参加させる気は無し)

        strings -a /bin/mkgroup.exe | grep mkgroup


(もっとも、/etc/passwd の HOME やら状況説明で、信用しにくい状態にあるのは頭の痛いところですが。
ドメインユーザゆえのトラブルって多いのですかね。権限はきちんとしてからの話ですが。)


後、個人的な見解ですが、ドメインユーザには mkpasswd, mkgroup のオプション
-d を勧める場合が多いのですが、個人使用であれば -l -c の組み合わせのほう
が無難なケースも少なくないと思います。
(他でもあまり -c の話を見た記憶はありませんが。参考: /etc/postinstall/passwd-grp.*)
スレッド一覧


1770● man stringsがおかしなメッセージ?[ 田野@まさ ] 2003 12/11 19:03
「nil」さん、ありがとうございます。
今までも小さいバイナリーならodで開いて、中にある文字列を目でいちいち探す、
という事はした事はあるのですが、こんなコマンドがあったなんて。。。

ところで、
$ man strings
unsafe: not found
man: No such file or directory
Failed to open the message catalog man on the path NLSPATH=<none>

Error executing formatting or display command.
System command unsafe exited with status 32512.
No manual entry for strings

となってしまったのですが、このmanの動きも何かおかしくないでしょうか?

あり得ないコマンドだと、
$ man aaa
man: No such file or directory
Failed to open the message catalog man on the path NLSPATH=<none>

No manual entry for aaa
となり、正しく動作してます。


/etc/passwd はホント何故 /home/tanom じゃなしに /cygdrive/c となってたか不明なのです。
とに角Cygwinに関して一切の設定でc:とした憶えが無いのです。
スレッド一覧


1752● find での確認方法[ nil ] 2003 12/09 18:30
find /* はうまくいっているらしいので、確認するなら論理的には次のようになるでしょう。

        for d in `ls -A /`
        do
                echo "=== $d"
                find $d -print >/tmp/find-$d
        done

もともと通常は、

        find / -print > /tmp/find-tmp 2>&1
        find / -type d -print > /tmp/find-tmp 2>&1

どちらかの結果を見れば、どこまではうまくいっているか確認できるし、ERROR の起こる直前の path名から絞り込める場合が少なくないでしょう。

find の動作とオプションの意味については、マニュアルや解説等で確認するほうがよいでしょう。

updatedb --prunepaths のように、単に「あるパスを外したい」だけならば、下記のほうが見通しがよい人も多いでしょう。

        find / -path /cygdrive -prune -o -print
        find / \( -path /home -o -path /usr/bin \) -prune -o -print
スレッド一覧


1754● /tmp/find-$d に書き込まれません[ 田野@まさ ] 2003 12/09 20:24
「nil」さん、ありがとうございます。

> find /* はうまくいっているらしいので、確認するなら論理的には次のようになるでしょう。
$ for d in `ls -A /` ; do echo "=== $d" ; find $d -print >/tmp/find-$d ; done
=== bin
find: bin: No such file or directory
=== cygwin.bat
find: cygwin.bat: No such file or directory
=== cygwin.bat.0d0a
find: cygwin.bat.0d0a: No such file or directory
=== cygwin.ico
find: cygwin.ico: No such file or directory
=== etc
find: etc: No such file or directory
=== home
find: home: No such file or directory
=== lib
find: lib: No such file or directory
=== sbin
find: sbin: No such file or directory
=== tmp
find: tmp: No such file or directory
=== usr
find: usr: No such file or directory
=== var
find: var: No such file or directory

となってしまいます。

$ ls -lta /tmp/f*
-rw-r--r-- 1 tanom mkgroup_ 0 Dec 9 19:57 /tmp/find-usr
-rw-r--r-- 1 tanom mkgroup_ 0 Dec 9 19:57 /tmp/find-var
-rw-r--r-- 1 tanom mkgroup_ 0 Dec 9 19:57 /tmp/find-home
-rw-r--r-- 1 tanom mkgroup_ 0 Dec 9 19:57 /tmp/find-lib
-rw-r--r-- 1 tanom mkgroup_ 0 Dec 9 19:57 /tmp/find-sbin
-rw-r--r-- 1 tanom mkgroup_ 0 Dec 9 19:57 /tmp/find-cygwin.bat.0d0a
-rw-r--r-- 1 tanom mkgroup_ 0 Dec 9 19:57 /tmp/find-cygwin.ico
-rw-r--r-- 1 tanom mkgroup_ 0 Dec 9 19:57 /tmp/find-etc
-rw-r--r-- 1 tanom mkgroup_ 0 Dec 9 19:57 /tmp/find-bin
-rw-r--r-- 1 tanom mkgroup_ 0 Dec 9 19:57 /tmp/find-cygwin.bat

私の1行スクリプトのつなげ方が間違ってるかも。。。
5行そのままコピペしても同じ結果でした。


> どちらかの結果を見れば、どこまではうまくいっているか確認できるし、ERROR の起こる直前の path名か
> ら絞り込める場合が少なくないでしょう。
$ find / -print > /tmp/find-tmp 2>&1
$ find / -type d -print > /tmp/fnd-tmp 2>&1

$ wc -l /tmp/find-tmp
1129 /tmp/find-tmp

$ wc -l /tmp/fnd-tmp
4 /tmp/fnd-tmp


1つめのファイル
$ head /tmp/find-tmp
/
/bin
/bin/822-date
/bin/a2p.exe
/bin/abc2ly
/bin/access.exe
/bin/aclocal
/bin/aclocal-1.7
/bin/addftinfo.exe
/bin/addr2line.exe

$ tail /tmp/find-tmp
/bin/zipgrep
/bin/zipinfo
/bin/zipnote.exe
/bin/zipsplit.exe
/bin/zless
/bin/zmore
/bin/znew
/bin/zsh-4.0.6.exe
/bin/zsh.exe
find: ./.. changed during execution of find

$ ls -la /bin/zsh.exe
-rwxrwxrwx 1 Administ mkgroup_ 11k Nov 28 13:46 /bin/zsh.exe



2つめのファイル
$ cat /tmp/fnd-tmp
/
/bin
/bin/ncurses-test-dll
find: ./.. changed during execution of find

$ ls -ld /bin/ncurses-test-dll
drwxrwxrwx+ 2 Administ mkgroup_ 4.0k Nov 28 13:06 /bin/ncurses-test-dll



> updatedb --prunepaths のように、単に「あるパスを外したい」だけならば、下記のほうが見通しがよい人
> も多いでしょう。
>
> find / -path /cygdrive -prune -o -print
> find / \( -path /home -o -path /usr/bin \) -prune -o -print
なるほど、find のオプション的にはこういう意味なんですね。
書くのが面倒いけど、確かにこうして、
"/" と "\( -path /home -o -path /usr/bin \)" を分けて書いてあった方が意味が分りやすいです。
スレッド一覧


1756● Re:/tmp/find-$d に書き込まれません[ nil ] 2003 12/09 21:24
失礼、/ (root dir.) で実行するか、下記のように /$d のようにしてください。

for d in `ls -A /`; do echo "=== $d"; find /$d -print >/tmp/find-$d; done

> /cygwin.bat.0d0a

/etc/passwd, /etc/group の中身もおかしかったようですが、通常は、こういうファイルなりディレクトリも作成されません。

ひょっとして、control char などが混じっているようだと、ls のオプションをきちんとするか、あらかじめ Windows 側などで確認が必要でしょう。
スレッド一覧


1760● /cygwin.bat.0d0a は私が手で作ったものですが置かない方がいいですか?[ 田野@まさ ] 2003 12/10 08:25
「nil」さん、お手を煩わしております。
他の皆さんにも言わずにいてすみませんでしたが、
/cygwin.bat.0d0a
はちょっと実験する事があってオリジナルの cygwin.bat から私が手で作ったものです。
今 / にある cygwin.bat はオリジナルのものが動いてます。
cygwin.bat.0d0a を / には置かない方が(消す、あるいは ~/tanom にmvした方が)いいですか?
スレッド一覧


1762● /tmp/find-cygwin.bat.0d0a が怪しい?[ 田野@まさ ] 2003 12/10 09:23
「nil」さん、ありがとうございます。

念の為に、$ mv /cygwin.bat.0d0a ~/ しましたが状況変わらずです。

> 失礼、/ (root dir.) で実行するか、下記のように /$d のようにしてください。
> for d in `ls -A /`; do echo "=== $d"; find /$d -print >/tmp/find-$d; done
今度は出来ました。
$ for d in `ls -A /` ; do echo "=== $d" ; find $d -print >/tmp/find-$d ; done
=== bin
=== cygwin.bat
=== cygwin.ico
=== etc
=== home
=== lib
=== sbin
=== tmp
=== usr
=== var

$ ll /tmp/find-*
-rw-r--r-- 1 tanom mkgroup_ 17k Dec 10 09:01 /tmp/find-bin
-rw-r--r-- 1 tanom mkgroup_ 11 Dec 10 09:01 /tmp/find-cygwin.bat
-rw-r--r-- 1 tanom mkgroup_ 0 Dec 9 19:57 /tmp/find-cygwin.bat.0d0a
-rw-r--r-- 1 tanom mkgroup_ 11 Dec 10 09:01 /tmp/find-cygwin.ico
-rw-r--r-- 1 tanom mkgroup_ 22k Dec 10 09:01 /tmp/find-etc
-rw-r--r-- 1 tanom mkgroup_ 1.4k Dec 10 09:01 /tmp/find-home
-rw-r--r-- 1 tanom mkgroup_ 153k Dec 10 09:02 /tmp/find-lib
-rw-r--r-- 1 tanom mkgroup_ 84 Dec 10 09:02 /tmp/find-sbin
-rw-r--r-- 1 tanom mkgroup_ 515 Dec 10 09:02 /tmp/find-tmp
-rw-r--r-- 1 tanom mkgroup_ 6.7M Dec 10 09:09 /tmp/find-usr
-rw-r--r-- 1 tanom mkgroup_ 19k Dec 10 09:09 /tmp/find-var

あれ?
-rw-r--r-- 1 tanom mkgroup_ 0 Dec 9 19:57 /tmp/find-cygwin.bat.0d0a
これ何ででしょね?スクリプト叩いた時にはもう / には無いのに。。。
スレッド一覧


1763● / から打って出来たファイルの中身[ 田野@まさ ] 2003 12/10 10:28
失礼しました。
/tmp/find-cygwin.bat.0d0a は昨日 ~/ から打ったときに空で作られたものでした(^^;)

/ から打って出来たファイルの中身(長いものは先頭と末尾)です。

$ head /tmp/find-bin; echo ; tail /tmp/find-bin
bin
bin/822-date
bin/a2p.exe
bin/abc2ly
bin/access.exe
bin/aclocal
bin/aclocal-1.7
bin/addftinfo.exe
bin/addr2line.exe
bin/addr2name.awk

bin/zipcloak.exe
bin/zipgrep
bin/zipinfo
bin/zipnote.exe
bin/zipsplit.exe
bin/zless
bin/zmore
bin/znew
bin/zsh-4.0.6.exe
bin/zsh.exe


$ cat /tmp/find-cygwin.bat
cygwin.bat

$ cat /tmp/find-cygwin.ico
cygwin.ico

$ head /tmp/find-etc; echo; tail /tmp/find-etc
etc
etc/alternatives
etc/alternatives/README
etc/apache
etc/apache/access.conf
etc/apache/access.conf.default
etc/apache/httpd.conf
etc/apache/httpd.conf.bak
etc/apache/httpd.conf.default
etc/apache/magic

etc/xinetd.d/rlogin
etc/xinetd.d/rsh
etc/xinetd.d/rsync
etc/xinetd.d/servers
etc/xinetd.d/services
etc/xinetd.d/talk
etc/xinetd.d/telnet
etc/xinetd.d/time
etc/xinetd.d/time-udp
etc/zprofile


$ cat /tmp/find-home
home
home/tanom
home/tanom/.bashrc
home/tanom/.bash_history
home/tanom/.bash_profile
home/tanom/.cshrc
home/tanom/.emacs.d
home/tanom/.emacs.d/auto-save-list
home/tanom/.emacs.el
home/tanom/.emacs.el.031125_1553
home/tanom/.inputrc
home/tanom/.lynxrc
home/tanom/.ncftp
home/tanom/.ncftp/firewall
home/tanom/.ncftp/history
home/tanom/.ncftp/init_v3
home/tanom/.ncftp/log
home/tanom/.ncftp/prefs_v3
home/tanom/.ncftp/trace
home/tanom/.ssh
home/tanom/.ssh/authorized_keys2
home/tanom/.ssh/id_dsa
home/tanom/.ssh/id_dsa.pub
home/tanom/.ssh/id_rsa
home/tanom/.ssh/id_rsa.pub
home/tanom/.ssh/known_hosts
home/tanom/.viminfo
home/tanom/.vimrc
home/tanom/cygwin.bat.0d0a
home/tanom/MEIKAI_C_GENGO_ZISSEN_HEN
home/tanom/MEIKAI_C_GENGO_ZISSEN_HEN/1-1_invisibleerr.c
home/tanom/MEIKAI_C_GENGO_ZISSEN_HEN/1-1_invisibleerr.o
home/tanom/MEIKAI_C_GENGO_ZISSEN_HEN/a.exe
home/tanom/MEIKAI_C_GENGO_ZISSEN_HEN/detab
home/tanom/MEIKAI_C_GENGO_ZISSEN_HEN/detab.c
home/tanom/MEIKAI_C_GENGO_ZISSEN_HEN/detab.exe
home/tanom/MEIKAI_C_GENGO_ZISSEN_HEN/max.h
home/tanom/MEIKAI_C_GENGO_ZISSEN_HEN/max.h.0
home/tanom/ora
home/tanom/script_practice_031029_1132
home/tanom/startxwin.bat
home/tanom/startxwin.sh
home/tanom/tartest0
home/tanom/tartest0/tartest0
home/tanom/tartest0/tartest1
home/tanom/tartest0/tartest1/tartest1
home/tanom/tartest0/tartest1/tartest1.1
home/tanom/tartest0/tartest1/tartest1.1/tartest1.1
home/tanom/tartest0.tar


$ head /tmp/find-lib; echo; tail /tmp/find-lib
lib
lib/apache
lib/apache/libdav.dll
lib/apache/libphp4.dll
lib/apache/libproxy.dll
lib/apache/libssl.dll
lib/apache/mod_access.dll
lib/apache/mod_actions.dll
lib/apache/mod_alias.dll
lib/apache/mod_asis.dll

lib/zsh/4.0.6/zsh/rlimits.dll
lib/zsh/4.0.6/zsh/sched.dll
lib/zsh/4.0.6/zsh/stat.dll
lib/zsh/4.0.6/zsh/terminfo.dll
lib/zsh/4.0.6/zsh/zftp.dll
lib/zsh/4.0.6/zsh/zle.dll
lib/zsh/4.0.6/zsh/zleparameter.dll
lib/zsh/4.0.6/zsh/zprof.dll
lib/zsh/4.0.6/zsh/zpty.dll
lib/zsh/4.0.6/zsh/zutil.dll


$ cat /tmp/find-sbin
sbin
sbin/agetty.exe
sbin/init.exe
sbin/killall5.exe
sbin/runlevel.exe
sbin/telinit


$ cat /tmp/find-tmp
tmp
tmp/.iroha_unix
tmp/.X11-unix
tmp/find-bin
tmp/find-cygwin.bat
tmp/find-cygwin.bat.0d0a
tmp/find-cygwin.ico
tmp/find-etc
tmp/find-home
tmp/find-lib
tmp/find-sbin
tmp/find-tmp
tmp/find-usr
tmp/find-var
tmp/fnd-tmp
tmp/moconv.sh
tmp/ssh-BKJd1284
tmp/ssh-BKJd1284/agent.1284
tmp/ssh-DLgYD204
tmp/ssh-DLgYD204/agent.204
tmp/ssh-hKsF1424
tmp/ssh-hKsF1424/agent.1424
tmp/ssh-KxRK1060
tmp/ssh-KxRK1060/agent.1060
tmp/ssh-oqbp1500
tmp/ssh-oqbp1500/agent.1500
tmp/ssh-WEki1256
tmp/ssh-WEki1256/agent.1256
tmp/XWinrl.log


$ head /tmp/find-usr; echo; tail /tmp/find-usr
usr
usr/autotool
usr/autotool/devel
usr/autotool/devel/bin
usr/autotool/devel/bin/aclocal
usr/autotool/devel/bin/aclocal-1.7
usr/autotool/devel/bin/autoconf
usr/autotool/devel/bin/autoheader
usr/autotool/devel/bin/autom4te
usr/autotool/devel/bin/automake

usr/X11R6/share/WindowMaker/Themes/OpenStep.style
usr/X11R6/share/WindowMaker/Themes/Pastel.style
usr/X11R6/share/WindowMaker/Themes/SteelBlueSilk.style
usr/X11R6/share/WindowMaker/wmmacros
usr/X11R6/share/WindowMaker/xtree.dat
usr/X11R6/share/WINGs
usr/X11R6/share/WINGs/defaultIcon.tiff
usr/X11R6/share/WINGs/defaultIcon.xpm
usr/X11R6/share/WINGs/Images.tiff
usr/X11R6/share/WINGs/Images.xpm


$ head /tmp/ind-var; echo; tail /tmp/find-var
var
var/cache
var/cache/apache
var/cron
var/cron/tabs
var/empty
var/lib
var/lib/canna
var/lib/canna/default.canna
var/lib/canna/dic

var/www/icons/up.gif
var/www/icons/up.png
var/www/icons/uu.gif
var/www/icons/uu.png
var/www/icons/uuencoded.gif
var/www/icons/uuencoded.png
var/www/icons/world1.gif
var/www/icons/world1.png
var/www/icons/world2.gif
var/www/icons/world2.png
スレッド一覧


1712● Re:~/(e:\cygwin\home\myname)でなく c:\ に .ncftp\ と .ssh\ が出来てしまう[ MSだす。 ] 2003 12/04 23:46
/etc/passwd での home ディレクトリの設定は大丈夫でしょうか?
スレッド一覧


1717● こんなです。[ 田野@まさ ] 2003 12/05 17:08
> /etc/passwd での home ディレクトリの設定は大丈夫でしょうか?
こんなです。
$ cat /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
sshd:unused_by_nt/2000/xp:1002:513:sshd privsep,U-DWH_NTWS777\sshd,S-1-5-21-699034762-2112294683-452858821-1002:/var/empty:/bin/false

ユーザーとパスワードを見るとこんな風になってました。
ユーザー名, ドメイン, グループ
----------------------------------------
Administrator,hogehoge777, Administrators
Guest, hogehoge777, Guests
sshd, hogehoge777, Guests
tanom, hogehoge2000,Administrators

普段PCにloginするユーザー名=普段cygwinを使うユーザー名=tanom
です。

sshdがGuestsなのは変なのでは、と思ったところで思い出したのですが、
Cygwinをインストして未だsshdを入れてないのに、どころか、p.130以降の作業に未着手なのに、
(当然コンパネのサービスウィンドウにも"CYGWIN sshd"が無い状態)
"$ ps -alW"を打つと"ssh"とある行が混じっていて、これ何だろな変だな、と思っていた事を思い出しました。
Windows側で元々動かしていたサービスでSecurity系ではSecurity Accounts Managerぐらいです。

あと、
telnetやncftpやsshでlocalhostにloginしてたら、.bash_history が C:\ 直下に出来てしまうのも変な動きです。

あとコンパネから、
「CYGWIN inetd」のプロパティを見ると「e:\cygwin\usr\sbin\inetd.exe」、
「CYGWIN sshd」のプロパティを見ると「e:\cygwin\bin\cygrunsrv.exe」となってましたが、
p.132でWindows側システム環境変数PATHに「drv名:\cygwin\bin;」を追加してますが、
もう一つ「drv名:\cygwin\usr\sbin;」も必要なのではと考えました。

そこで、とりあえず、
ユーザー名, ドメイン, グループ
----------------------------------------
sshd, hogehoge777, Guests
を削除し、

c:\.ncftp\、c:\.ssh\ を、~/ に移動し、
全ての"CYGWIN hogehoge"を停止・無効にし、
Windows側のシステム環境変数PATHに「e:\cygwin\usr\sbin;」も追加し、

入れた順序の逆順に、
sshdを削除($ cygrunsrv.exe -R sshd)し、
(sshdの削除はJE本には載ってないがコマンドレファレンスを見て自分でやった)
inetdを削除($ /usr/sbin/inetd.exe --remove-as-serviceし、)
cannaserverを削除($ cygrunsrv.exe -R cannaserver)し、

再度inetdの登録($ /usr/sbin/inetd.exe --install-as-service)からやり直してみました。
再登録後、コンパネのサービスに"CYGWIN inetd"だけが「状態=開始,種類=自動」で見えてる状態で、以下の結果です。

----------telnet直後ここから----------
tanom@DWH_NTWS777 ~
$ pwd
/cygdrive/c
----------telnet直後ここまで----------
この時、c:\ を見るとやはり .bash_history が出来てしまってました。


----------ncftpここから----------
$ ncftp -u tanom localhost
NcFTP 3.1.4 (Jul 02, 2002) by Mike Gleason (ncftp@ncftp.com).

Copyright (c) 1992-2002 by Mike Gleason.
All rights reserved.

Resolving localhost...
Connecting to 127.0.0.1...


Wow! I have found the ftp daemon! Let's see...

DWH_NTWS777 FTP server (GNU inetutils 1.3.2) ready.
Logging in...

Password requested by 127.0.0.1 for user "tanom".

Password required for tanom.

Password:

Fanfare!!!
You are successfully logged in to this server!!!
User tanom logged in.
Logging in...
Logged in to localhost.

ncftp /cygdrive/c > exit


You have not saved a bookmark for this site.

Would you like to save a bookmark to:
ftp://tanom:PASSWORD@localhost

Save? (yes/no) no
Not saved. (If you don't want to be asked this, "set confirm-close no")
----------ncftpここまで----------
この時、c:\ を見るとやはり .ncftp\ が出来てしまってました。

どちらもlogin直後のディレクトリが /home/tanom でなく c:\ で、
この時に c:\.bash_history が出来るようです。
この動きはこれでいいんでしょうか?

sshサーバー設定($ /usr/bin/ssh-host-config)のやり直しはしてませんが、
結果(c:\.ncftp\ が出来る)は見えてると思われます。


「MSだす。」さま始め皆様、解決策をご教授いただければ幸いです。
スレッド一覧


1718● Re:こんなです。[ りう ] 2003 12/05 20:09
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 のホームディレクトリがしっかり
「/cygdrive/c」に指定されてますので、正常な動作です。
スレッド一覧


1726● (無題)[ nil ] 2003 12/05 22:09
# もう黙れと言われるところでしょうが、今読んで驚いたもので、

おふたりの適切なフォローに安堵し感謝いたします。

別スレッドの流れで恐縮ではありますが結果として他の閲覧者の方々
JE本の作者の方々にも失礼をおかけしました事おわび申し上げます。

nil
スレッド一覧


1719● Re:こんなです。[ MSだす。 ] 2003 12/05 20:12
>tanom:unused_by_nt/2000/xp:11110:10513:tanom,U-DWH2000\tanom,S-1-5-…この次が問題:/cygdrive/c:/bin/bash

この最後の方の "/cygwin/c/" のところを
ユーザーtanomのホームディレクトリを書いてください。
"/home/tanom"というふうに。
スレッド一覧


1721● Re:こんなです。[ 田野@まさ ] 2003 12/05 21:06
「りう」さま、「MSだす。」さま、ありがとうございます。
早速やってみます。
今日明日はちょっと別の仕事を抱えて忙しくなりましたので、後日直してみて結果を報告します。

ところで、何故、/cygdrive/c/ になってたかと思われますか?
というのも、兎に角cygwinに関する設定全般で、Cygwin用にEを使う、ともう自分に刷り込んでますんで、ドライブ名を設定するものに「C」と設定した覚えが全く無いのです。
スレッド一覧


1722● 補足 Re[2]:こんなです。[ 田野@まさ ] 2003 12/05 21:08
Windows側システム環境変数homeは当然ながらずっと"/home/tanom"にしてました。
スレッド一覧


1724● 補足 Re[3]:こんなです。[ MSだす。 ] 2003 12/05 21:40
JE本 p187 にあるように
/etc/passwd でのホームの設定は結構重要です。
またsshではWindowの環境変数 HOME を見ません。

/usr/share/doc/Cygwin/openssh.README

>Please note that OpenSSH does never use the value of $HOME to
>search for the users configuration files! It always uses the
>value of the pw_dir field in /etc/passwd as the home directory.
>If no home diretory is set in /etc/passwd, the root directory
is used instead!

です。
スレッド一覧


1725● 補足 Re[3]:こんなです。[ MSだす。 ] 2003 12/05 21:44
質問の意味をとりちがえました…。

何でそうなっていたのかはわかりません。
スレッド一覧


1740● c:\ に.ncftp\や.ssh\が出来てしまう現象は直りました。[ 田野@まさ ] 2003 12/08 14:55
/etc/passwd を修正したら、c:\ に.ncftp\や.ssh\が出来てしまう現象は直りました。


ところがいくつか疑問が残ります。

$ /usr/bin/ssh-host-config
Overwrite existing /etc/ssh_config file? (yes/no) yes
Generating /etc/ssh_config file
Overwrite existing /etc/sshd_config file? (yes/no) yes
Privilege separation is set to yes by default since OpenSSH 3.3.
However, this requires a non-privileged account called 'sshd'.
For more info on privilege separation read /usr/doc/openssh/README.privsep.

Shall privilege separation be used? (yes/no) yes
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
JE本 p.140 だと、ここに
Shall this script create a local user 'sshd' on this machine? (yes/no)
のメッセージが出る事になってますが、出ませんでした。
コンパネの「ユーザーとパスワード」にもsshdというユーザー名は出来てません。
つまり、
ユーザー名, ドメイン, グループ
----------------------------------------
Administrator,hogehoge777, Administrators
Guest, hogehoge777, Guests
tanom, hogehoge2000,Administrators
のままなのでが、このままで問題はないでしょう?
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
Generating /etc/sshd_config file

Do you want to install sshd as service?
(Say "no" if it's already installed as service) (yes/no) yes

Which value should the environment variable CYGWIN have when
sshd starts? It's recommended to set at least "ntsec" to be
able to change user context without password.
Default is "binmode ntsec tty". CYGWIN=

The service has been installed under LocalSystem account.

Host configuration finished. Have fun!


$ /usr/bin/ssh-user-config
Shall I create an SSH1 RSA identity file for you? (yes/no) no

Configuration finished. Have fun!
と、このまま終了してしまいました。
という事は、ssh-user-configはいったん実行してしまったら、
sshdを削除($ cygrunsrv.exe -R sshd)し、再インスト(ssh-host-config、ssh-user-config)するだけでは、
passphraseを変更する事は出来ない、という事になるかと思いますが、
passphraseを変更したい時はどうすれば良いのでしょうか?
~/.ssh/
をディレクトリごと削除して、ssh-user-config再実行すればいいのでしょうか?



$ getfacl.exe /var/run
# file: /var/run
# owner: Administrators
# group: mkgroup_l_d
user::---
group::---
group:SYSTEM:rwx
mask:rwx
other:rwx
default:other:rwx

$ getfacl.exe /var/log
# file: /var/log
# owner: Administrators
# group: mkgroup_l_d
user::---
group::---
group:SYSTEM:rwx
mask:rwx
other:rwx
default:other:rwx

は以上のとおり(JE本 p.143の条件を満たしていた)ので、そのまま、

$ net start sshd
CYGWIN sshd サービスを開始します.
CYGWIN sshd サービスは正常に開始されました。

$ ssh localhost
Enter passphrase for key '/home/tanom/.ssh/id_rsa':
Last login: Mon Dec 8 13:25:54 2003 from DWH_NTWS777
Fanfare!!!
You are successfully logged in to this server!!!

$ pwd
/home/tanom

と、今度はlogin後のディレクトリも、.ssh/ も正しく出来てます。
スレッド一覧


1742● 訂正&お礼[ 田野@まさ ] 2003 12/08 15:04
「りう」様、「MSだす。」さま、お礼を言うのを忘れておりました。

×のままなのでが、このままで問題はないでしょう?

○のままなのでが、このままで問題はないでしょうか?
スレッド一覧


1715● 自己レス:~/(e:\cygwin\home\myname)でなく c:\ に .ncftp\ と .ssh\ が出来てしまう[ 田野@まさ ] 2003 12/05 17:02
先の投稿で一つ忘れてました。
JE本のとおりに順番に試していってると書きましたが、p.130以降の手順にかかる前に、
p.153 5.3.4 Cannaをサービスとして利用する
$ cygrunsrv.exe -I cannaserver -d "CYGWIN cannaserver" -p /usr/sbin/cannaserver -a -k
$ net start cannaserver
をしておりました。
その後、inetdの登録以降(p.130以降の手順)にかかりました。
スレッド一覧

早田のホームページへ
CGIROOM