Ubuntu Serverで新しく作成されたユーザーに対して無効なシェルプロンプトが表示される

Ubuntu Serverで新しく作成されたユーザーに対して無効なシェルプロンプトが表示される

Ubuntu 18.04.01では、次のように新しいユーザーを作成しました。

sudo useradd svn
sudo passwd svn
sudo mkhomedir_helper svn
sudo usermod -d /home/svn -m svn

問題は、ユーザーに切り替えるとsu svn標準プロンプトコマンドが表示されないことです。標準プロンプトの代わりに:

svn@svn-server:/srv/svn/$

私はちょうど次を見る:

$

ファイルの内容にもかかわらず/home/svn/.bashrc。また、この「壊れた」プロンプトでパスを自動補完するためにTabキーを使用することもできません。

echo $PS1ユーザーとして実行すると、空のsvn結果が表示されます。

このユーザーをどのように編集できますか?

答え1

割り当てられたシェルを確認してください。 Ubuntu 18でこのコマンドを使用すると、デフォルトのログインシェルにuseraddなり、/bin/sh前述のような出力が得られます。次のコマンドを実行してログインシェルを変更できます。

sudo usermod -s /bin/bash svn

答え2

すべての新規ユーザーが同じシェルを使用できるようにするには、を使用して設定できます/etc/default/useraddSHELL使用するシェルバイナリのパスを反映するように設定を変更します。たとえば、私の外観は次のとおりです。

HOME=/home
SHELL=/bin/zsh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

また、設定で指定されたディレクトリを使用して、デフォルトでSKEL新しいユーザーのホームディレクトリにコピーする必要があるファイルを定義できることにも注目する価値があります。私の場合、.zshrcすべての新規ユーザーに提供したいzsh設定を含むファイルがあります。

これら 2 つのファイルを使用して、すべての新規ユーザーのデフォルト値を設定します。

答え3

新しいユーザーでシェルを変更できます。

$chsh
svn シェルを変更します。
新しいシェル[/bin/sh]: /bin/bash
パスワード: ****
シェルが変更されました。

アカウントに予想される「スケルトン」コンテンツの一部が欠落している場合など、追加のクリーンアップが必要になる場合があります。あなたがそれを言及したので、~/.bashrcおそらくそれは問題ではないかもしれません。

関連情報