端末でユーザーを切り替える

端末でユーザーを切り替える

次のコマンドを使用してユーザーを切り替えています。

sudo su - userName

私の端末には常に次のものがあります。

user@user directory $ (some command)

しかし、ユーザーを切り替えると、次のままになります。

$ (some commands)

どういう意味なのか説明するのは難しいですが、私は初めてLinuxに触れ、他の質問ではこれを見ませんでした。再度ログインした後、$記号より前のデータ全体をどのように保持しますか?

編集:良いです。私の場合は、adduser nameコマンドを使用してユーザーを再作成しました。

しかし、別の質問があります。このコマンドは/ homeディレクトリを作成しますが空です。新しいユーザーのために/ homeを初期化するコマンドはありますか?

答え1

しかし、別の質問があります。このコマンドは/ homeディレクトリを作成しますが空です。新しいユーザーのために/ homeを初期化するコマンドはありますか?

2番目の問題を解決すると、最初の問題も解決されます。新しいユーザーのホームディレクトリにすべてのデフォルト設定ファイルがないため、新しいシェルには素晴らしいプロンプトなどが表示されません。

新しいユーザーを作成するための標準コマンドそして次の内容でホームディレクトリを初期化します/etc/skel

useradd -m

すでに指摘したように、一部のディストリビューションには無効なデフォルト値があるため、さらにオプションを追加する必要があります。

useradd -m -s /bin/bash

詳細については、以下を使用してください。

man useradd

いくつかの高度なディストリビューション関連のツールがあります。あなたの質問に対するコメントには、Debian などで使用される例が挙げられます。

adduser

useraddまた、動作が機能するようにする/ etcのいくつかの構成がありますが、私の考えでは、他のインストールや展開の影響を受けないように常にuseradd -m使用する方法を学ぶことをお勧めします。-m

-D上記の説明に従って、パラメータを使用してデフォルト値を設定できますuseradd

useradd -D -s /path/to/default/shell

答え2

通常のユーザーに切り替えようとしていますが、そのユーザーに$ PS1設定はありませんが、Debianベースのシステムでuseraddコマンドを使用してそのユーザーを追加していると思います。デフォルトでは、useraddを使用するシェルはshです。試してみることができます:

chsh -s /bin/bash userName

このコマンドは、userNameのシェルを/ bin / bashに変更します。その後、そのユーザーに戻ってみてください。 useraddを使用して特定のユーザーを追加するときにbashのデフォルトシェルを変更するには、/ etc / default / useraddファイルを変更します。

sed -i -e "s@\(^SHELL\).*@\1=/bin/bash@g" /etc/default/useradd

答え3

一般ユーザー(あなた)から他の一般ユーザー(例えばjoe)に切り替えているのです。そうですか?
以下は、環境変数PS1で定義されているシェルプロンプトです。

user@user directory $

joeに切り替えると、joeのシェルプロンプトが表示されます。そして、彼はプロンプトに表示する素晴らしい項目を設定していないので、次のようにデフォルトのプロンプトだけを表示しました。

$

2番目は一般的なシェルプログラムのデフォルト値であり、あなたがLinuxディストリビューションのデフォルト値であるかもしれません。

PS1をあなたのアカウントと同じものに設定してみてください。役に立ちます:

user@usersBox directory $ エコ「$PS1」

それから

$ PS1="..."
joe@usersBox directory $

...を上記の値に置き換えますecho

「@」の後の単語は通常コンピュータ名なので、インストール時にユーザー名と同じ名前をコンピュータに付与したと推測されます。
例では、混乱を減らすためにコンピュータ名を「usersBox」に変更しました。

たぶん彼は意図的にあなたのバリエーションを削除したかもしれません。しかし、ほとんどの場合、これは任意の小さな技術的な問題が原因で発生します。彼のために ~/.bashrc または同様の起動ファイルから変更すると、彼が使用するシェルの種類によって異なります。大丈夫でしょう。

関連情報