シェルが/etc/shellsにリストされておらず、リストされているとき

シェルが/etc/shellsにリストされておらず、リストされているとき

ユーザーのデフォルトシェル "lshell"を制限されたアクセスに設定しようとしているので、ここで簡単な内容が欠けているようです。コマンドを使用してシェルを設定しようとしましたが、chsh -s /usr/bin/lshell user「警告: '/usr/bin/lshell'が/etc/shellsにリストされていません」というエラーが発生しました。次のように/etc/shells設定ファイルを3回確認しました。

/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/usr/bin/lshell

私は何が間違っていましたか?

編集:od -c /etc/shellsの出力

0000000   /   b   i   n   /   s   h  \n   /   b   i   n   /   b   a   s
0000020   h  \n   /   s   b   i   n   /   n   o   l   o   g   i   n  \n
0000040   /   b   i   n   /   t   c   s   h  \n   /   b   i   n   /   c
0000060   s   h  \n   /   u   s   r   /   b   i   n   /   l   s   h   e
0000100   l   l
0000102

答え1

/etc/shellsファイルの末尾に改行文字がありません。これに興味のある編集者として編集してくださいvi

関連情報