ご回答ありがとうございます。
>Win側のユーザ管理と
>Cygwin側のユーザ側の管理は、原則として、別々に(自分で)管理する必要があります。自動的には、同期されません。
>また、/et/passwd
>は、基本的には、自分で編集するものだと考えたほうがよいでしょう。
わかりました。
>現在は、何を参考に Cygwin を利用されてますか?
書籍ですね。
>いろいろ基本的な部分で誤解があるようなので、Cygwin(もしくはUNIX)でのユーザ管理に関しては、もう一度書籍などを参考にされて、整理されたほうがよいと思います。
UNIXと結構違う所があって混乱しています。
最初、Cygwinでもuserdel、useraddコマンドでユーザ削除・登録できるものだと思ってました。
(近い将来Cygwinでもuserdel、useraddが使用できるようになるんですかね)
>また net コマンドは Windows のコマンドなので、net help
>等と、確認してみてください。
net userコマンドが分かって来ました。
>|という風に/etc/passwd にhoge01が存在しないのに
>|net userコマンドではhoge01が表示されてしまいます。
>?? 質問の意図が不明です。
>はじめの質問では、NET USER user_name /DEL したのに、/etc/passwd に
>user_name が残っている、SSH login
>できてしまう、という内容のはずですが、それはどうなったのでしょうか?
>何か関連がありますか?
すいません。混乱しておりました。
>|実行後は何らかのデーモン(?)をリスタートしないと/etc/passwdの変更が反映されないのですかね。
>
>違います。
すいません。勘違いしてました。
たとえ、
$ cat /etc/passwd | grep hoge01
$
という風に/etc/passwdにhogeが記述されていないにも拘らず
$ passwd hoge01
Enter the new password (minimum of 5, maximum of 8 characters).
Please use a combination of upper and lower case letters and numbers.
New password:
となってしまうのが不思議だったのです。
$ passwd hoge01
passwd: unknown user hoge01
となる筈だと思い込んでいました。
$ cat /etc/passwd | grep hoge01
$ passwd hoge01
Enter the new password (minimum of 5, maximum of 8 characters).
Please use a combination of upper and lower case letters and numbers.
New password:
という風に/etc/passwdにはhoge01が記載されていないのに
passwdコマンドではhoge01というアカウントが存在しているかのような振舞いは
net userコマンドのデータベースにhoge01が依然として登録されたままになってたからでした!
先程、仰ってたWin2kでのユーザ管理とCygwinでのユーザ管理は別物だという事に私は無知でした。
>net コマンドでも、[ユーザとパスワード] でも、基本的には
>Win環境のユーザを登録することでは同じです。
>|net
>userコマンドはコンパネの[ユーザとパスワード]から登録した全ユーザを表示するコマンドなのですね。
>正確には違います。何かはやとちりをしているようだと困るので、HELP(net
>help user) や資料を確認してください。
うーむ、もしかして
net userコマンドだと
文字数制限や大文字・小文字区別無し
という制限が課せられる事が
コンパネの[ユーザとパスワード]との違い
という事でしょうか???
纏めると、、、
コマンドライン上でのユーザ登録は
[Administrator@host]$ NET USER user_name /ADD
[Administrator@host]$ mkpasswd -l -u user_name >> /etc/passwd
[Administrator@host]$ passwd user_name
削除は
[Administrator@host]$ NET USER user_name /DELETE
[Administrator@host]$ grep -v "^user_name:" /etc/passwd > /etc/passwd.new
[Administrator@host]$ mv /etc/passwd /etc/passwd.bak
[Administrator@host]$ mv /etc/passwd.new /etc/passwd
という風にするのですね。
|