Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

vipw が動かない

215 views
Skip to first unread message

shi...@k-products.co.jp

unread,
Sep 21, 2005, 12:02:30 PM9/21/05
to
下野と申します

woodyでメールサーバを運用しているのですが、突然 vipw の
コマンドが動かなくなりました。

# vipw -s でリターンすると
vipw : Couldn't lock file : Interrupted system call
vipw : /etc/shadow is unchanged
とメッセージが表示され、編集ができなくなりました。

ただし、
# vi /etc/shadow とするとファイルが開き、編集できました。

このことより、/etc/shadow事態が開けないのではなく、vipwの
コマンドがおかしくなっていると思うのですが、対処方法が分かりません。

また、ps ax | grep vipw としてもプロセスは動いていませんでした。

対処方法をご存じか、アイデアのある方、どうかご指導お願いします。


Junichi Uekawa

unread,
Sep 21, 2005, 6:27:02 PM9/21/05
to
こんにちは

> # vipw -s でリターンすると
> vipw : Couldn't lock file : Interrupted system call
> vipw : /etc/shadow is unchanged
> とメッセージが表示され、編集ができなくなりました。
>
> ただし、
> # vi /etc/shadow とするとファイルが開き、編集できました。
>
> このことより、/etc/shadow事態が開けないのではなく、vipwの
> コマンドがおかしくなっていると思うのですが、対処方法が分かりません。


/etc/shadow.lock ファイルが残っていたりしませんか?

/etc/passwd.lockファイルがある場合には,ちょっとメッセージが違いますが,
下記のようなエラーが出ます:

# vipw
vipw: ファイルをロックできません: 無効な引数です
vipw: /etc/passwd は変更されません


上川

shi...@k-products.co.jp

unread,
Sep 21, 2005, 8:48:07 PM9/21/05
to
下野です。

上川さん、早速のレスありがとうございます。

Junichi Uekawa <dan...@netfort.gr.jp> wrote:

> こんにちは

  中略

> /etc/shadow.lock ファイルが残っていたりしませんか?
>
> /etc/passwd.lockファイルがある場合には,ちょっとメッセージが違いますが,
> 下記のようなエラーが出ます:
>
> # vipw
> vipw: ファイルをロックできません: 無効な引数です
> vipw: /etc/passwd は変更されません
>
>
> 上川
>

残念ながら、/etc/shadow.lock ファイルは残っていませんでした。
それで、ひょっとして似たようなファイル名で何か関連するようなものが
ないかと ls -l /etc/passwd* とすると
/etc/shadow と /etc/shadow- がありぱっと見内容は変わらないように
見えたのですが/etc/shadow のタイムスタンプが9/22 00:42 で、/etc/shadow-
のタイムスタンプが9/20 17:36とずれていました。
他のサーバでも見てみると、同様にタイムスタンプはずれていました。
これは、こういうものなのでしょうか?

vipwが使用できない理由、対処方法、等他にありましたらよろしくお願いします。


Keni Matsuda

unread,
Sep 22, 2005, 7:20:16 AM9/22/05
to
松田健一です。

> vipwが使用できない理由、対処方法、等他にありましたらよろしくお願いし
> ます。

strace -o /tmp/strace.out -f vipw -s

とかを実行して、キーワード open, lock, link, shadow などで
/tmp/strace.out の内容を確認してみと、何かヒントがみつかるかもしれない
です。

あとは、ls -Al /etc で . (dot) で始まるなにか関係していそうな怪しげな
ファイルが残っていないか確認するのと、df で / とか /var に割り当てられ
ているパーティションに十分な容量があるかも確認してみるとどうでしょうか。
vipw 単独では作動しているということですから、ディスク容量の問題は
おそらくないと思いますが、念のためにということです。

----
Keni

KISE Hiroshi

unread,
Sep 22, 2005, 2:12:51 PM9/22/05
to
From: <shi...@k-products.co.jp>
Subject: [debian-users:44725] Re: vipwが動かない
Date: Thu, 22 Sep 2005 09:48:07 +0900
> vipwが使用できない理由、対処方法、等他にありましたらよろしくお願いします。

メッセージからすると違うと思いますが、

・環境変数VISUALや環境変数EDITORに変な値がセットされている
・上の2つの環境変数がセットされていない状態で、/usr/bin/editorの
実体が変なファイルになっている

という場合も、vipwは動かないでしょう。

# EDITOR=vi vipw -s
で起動すれば、原因は上のどちらかになります。
--
喜瀬“冬猫”浩

shi...@k-products.co.jp

unread,
Sep 23, 2005, 11:48:39 PM9/23/05
to
喜瀬“冬猫”浩 さん、レスありがとうございます。


KISE Hiroshi <ki...@fuyuneko.jp> wrote:
>
> ・環境変数VISUALや環境変数EDITORに変な値がセットされている
> ・上の2つの環境変数がセットされていない状態で、/usr/bin/editorの
> 実体が変なファイルになっている
>
> という場合も、vipwは動かないでしょう。
>
> # EDITOR=vi vipw -s
> で起動すれば、原因は上のどちらかになります。

結論から言いまして、解決しました。

ただ原因が?という状態です。

教えて頂いたように、# EDITOR=vi vipw -s とすると無事起動しました。

で、環境変数をprintenv VISUAL 、 printenv EDITORとしたのですが
何も表示されませんでした。
次に/usr/bin/editorの中身を見ようとしたのですが、バイナリなので確認でき
ませんでした。

初めに# EDITOR=vi vipw -s としたおかげで、/usr/bin/editorが修正でも
されたのでしょうか?

原因は不確かですが、とにかくvipwが動くようになって助かりました。

どうもありがとうございました。

KISE Hiroshi

unread,
Sep 24, 2005, 12:07:06 AM9/24/05
to
From: <shi...@k-products.co.jp>
Subject: [debian-users:44741] Re: vipwが動かない
Date: Sat, 24 Sep 2005 12:48:39 +0900
> 次に/usr/bin/editorの中身を見ようとしたのですが、バイナリなので確認でき
> ませんでした。

中身を見るのではなくて…。以下、環境によって結果が異なります。

$ /usr/sbin/update-alternatives --display editor
editor - status is auto.
link currently points to /usr/bin/vim
/bin/ed - priority -100
slave editor.1.gz: /usr/share/man/man1/ed.1.gz
/usr/bin/vim - priority 120
slave editor.1.gz: /usr/share/man/man1/vim.1.gz
/usr/bin/emacs21 - priority 0
slave editor.1.gz: /usr/share/man/man1/emacs.1emacs21.gz
Current `best' version is /usr/bin/vim.

ベタな方法でやるなら、こう。
$ ls -l /usr/bin/editor
lrwxrwxrwx 1 root root 24 2004-08-25 07:35 /usr/bin/editor -> /etc/alternatives/editor
$ ls -l /etc/alternatives/editor
lrwxrwxrwx 1 root root 12 2005-09-17 20:12 /etc/alternatives/editor -> /usr/bin/vim

この環境では、/usr/bin/editorの実体は/usr/bin/vimです。ちなみに、

$ /usr/sbin/update-alternatives --display vi
vi - status is auto.
link currently points to /usr/bin/vim
/usr/bin/vim - priority 120
slave vi.1.gz: /usr/share/man/man1/vim.1.gz
Current `best' version is /usr/bin/vim.

でした。
--
喜瀬“冬猫”浩

Eto Yasuo

unread,
Sep 24, 2005, 12:08:24 AM9/24/05
to
えとーです。

On Sat, 24 Sep 2005 12:48:39 +0900
<shi...@k-products.co.jp> wrote:

> 次に/usr/bin/editorの中身を見ようとしたのですが、バイナリなので確認でき
> ませんでした。

/usr/bin/editor は alternatives で管理されています。

update-alternatives --display editor

するとなにが/usr/bin/editorに設定されているか解ります。

GUIもあるのでCLIいやだったら、なんか使ってみてください。

KISE Hiroshi

unread,
Sep 24, 2005, 12:40:29 AM9/24/05
to
補足。

From: <shi...@k-products.co.jp>
Subject: [debian-users:44741] Re: vipwが動かない

Date: Sat, 24 Sep 2005 12:48:39 +0900
> > ・上の2つの環境変数がセットされていない状態で、/usr/bin/editorの
> > 実体が変なファイルになっている

> で、環境変数をprintenv VISUAL 、 printenv EDITORとしたのですが
> 何も表示されませんでした。

vipwは、VISUALやEDITORが設定されていない場合、コンパイル時に
決定したデフォルトのエディタが起動するようになっています。
これはvipw自体の機能です。ここから先はDebian独自の話。

Debianの場合、デフォルトのエディタは/usr/bin/editorであると
ポリシーで決められています。正確には、これを読んでください。
http://www.debian.org/doc/debian-policy/ch-customized-programs#s11.4

/usr/bin/editorはalternativesシステムにより管理されており、
好みのエディタにリンクされています。
http://www.debian.org/doc/manuals/reference/ch-package#s-alternatives

よって、Debianでは、alternativesシステムによりシステム全体での
デフォルトが設定でき、さらに環境変数で各ユーザごとのデフォルトを
設定できるようになっています。
--
喜瀬“冬猫”浩

0 new messages