質問: ログインシェルの変更について 現在unixを使っています。 特定ユーザでログインした際のログインユーザを自分の作ったプログラムにしたいのですが、 chshなどのコマンドを使っても、利用可能なログインシェルに登録されていないため変更できないです。 どうすればログインシェルを変更することができるでしょうか? 初歩的なことかもしれませんが、よろしくお願いします。
回答: > ですがaixのver5.1を使っています。 了解しました。ただ、言おうとしていたのは「違う実装のコマンドのマニュアルを見ても意味がない(少ない)」ということです。aixの管理をするのにhp-uxのコマンドを見ても参考程度にしかなりませんし、見る人が理解していないと逆に有害にすらなります。 > ここにはどのような内容を書けばよかったのでしょうか? 一般論として、unixのmanでコマンドのオプションがブラケット [ ] で囲まれているときは、それを省略することができます。 なので、chsh実行時のコマンドとしては以下6つのパターンがあることになります("$"で挟まれている部分には適当なモジュール名やユーザ名などが入ります) % chsh % chsh $name$ % chsh $name$ $shell$ % chsh -r $module$ % chsh -r $module$ $name$ % chsh -r $module$ $name$ $shell$ ここで、-rオプションで指定する「ロード可能 i&a モジュール (loadable i&a module)」が何か、ということは私も知らないのでお答えできませんが、ヘルプの末尾にあるサンプルを見ると、外部の認証装置を利用する場合などに指定するものと想像します。なので、現在普通にpasswdファイルで認証を行っているのであれば、ここは無視しても良いのではないでしょうか。 万全を期すのであれば、「ロード可能 i&a モジュール (loadable i&a module)」について調べましょう。 それから、「有効なシェルは、/etc/security/login.cfg ファイルの usw スタンザ内に定義されます。」と記述されていることから、chshで扱うshellは login.cfgファイル内に記述されている必要があると思われますので、ここを変更する必要があると思います。 login.cfgについては別途manが用意されているはずですので、変更するときはそちらを見て修正してください。