この特集のトップページへ
この回のトップページへ

 通常のpasswdファイルとshadowパスワードへの切り替えは,「pwconv」というコマンドを利用する。逆に,shadow パスワードから通常の plain パスワードへの切り替えは「pwunconv」コマンドで可能だ。

OS別のパスワード形式変換コマンド

OS plain->shadow shadow->plain
Linux pwconv pwunconv
FreeBSD なし なし
Solaris pwconv なし

※FreeBSDでは,pwconvに相当するコマンドは用意されていない。これは最初からshadow化されたパスワードシステムが提供されているからだ。

/etc/shells

 UNIXでは,コマンドラインのインターフェイスを提供するプログラムのことを「shell(シェル)」と呼ぶ。このシェルとして利用できる一覧が,/etc/shellsに記述されている。

/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh

 ユーザーがシェルログイン(コマンドラインを利用できるログイン)をするには,/etc/passwdで指定されているシェルに,shellsファイルの中に書いてあるいずれかが指定されていなければならない。たとえば,tcshが指定されているpasswdファイルは次のようになっている。

tcshが指定されている/etc/passwd例

satoshi:x:501:100:Satoshi Nagayasu:/home/snaga:/bin/tcsh

 また,passwdの中に記述するシェルを無効なものに指定することで,次のようにシェルログインを禁止することも可能だ。

satoshi:x:501:100:Satoshi Nagayasu:/home/snaga:/dev/null

 上記のように指定されているユーザーは,シェルログインはできないが,ftpログインは可能となる。たとえばホームページ更新だけ必要であれば,このようなftp専用のアカウントを作成すればよいだろう。また応用的な方法として,ftp のみのユーザーであってもパスワードを変更させたいような場合には,shellsに1行を加え,

/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
/usr/bin/passwd  ←この行

passwd ファイルのシェルに /usr/bin/passwd を指定する。このユーザーはシェルは使えないもののパスワードの変更だけはできるように設定されるわけだ。

上記例の/etc/passwd

satoshi:x:501:100:Satoshi Nagayasu:/home/snaga:/usr/bin/passwd

PREV 9/11 NEXT