web-dev-qa-db-ja.com

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 $PS1svnユーザーとして実行すると、空の結果が得られます。

このユーザーを修正するにはどうすればよいですか?

5
zdenek

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

Sudo usermod -s /bin/bash svn
16

すべての新しいユーザーが同じシェルを使用するようにしたい場合は、/etc/default/useraddを使用して設定できます。 Shell設定を変更して、使用するシェルバイナリへのパスを反映します。たとえば、私のようになります:

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

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

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

2
Logan Bertram

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

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

アカウントに予期される「スケルトン」コンテンツの一部が欠落している場合など、他のモップアップ作業が必要になる場合があります。あなたは~/.bashrc、多分それはここでは問題ではありません。

0
Stovey