Cygwin なんでも掲示板

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

No.1858  Re[4]:コマンドラインからユーザ削除するには?
発言者: yy
発言日: 2004 01/20 14:57
 
ご回答ありがとうございます。


>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

という風にするのですね。


▼関連発言

1852:コマンドラインからユーザ削除するには? [yy] 01/14
 └1854:Re:コマンドラインからユーザ削除するには? [nil] 01/15
  └1856:Re[2]:コマンドラインからユーザ削除するには? [yy] 01/17
   └1857:Re[3]:コマンドラインからユーザ削除するには? [nil] 01/17
    └1858:Re[4]:コマンドラインからユーザ削除するには? [yy] 01/20
     └1861:Re[5]:コマンドラインからユーザ削除するには? [nil] 01/22
      └1866:(お礼)Re[6]:コマンドラインからユーザ削除するには? [yy] 01/23 <

Pass 保存

早田のホームページへ
CGIROOM