web-dev-qa-db-ja.com

ターミナルで非rootユーザーとしてログインします

これは私がグーグルからすぐに答えを得ると期待する質問です。しかし、どういうわけかグーグルは私に失敗しています。ターミナルセッションにログインしており、セッションを終了せずにパスワードを知っている別の非ルートユーザーとして一時的に作業したいとします。このユーザーとしてログインすると、ログアウトするまでこのユーザーのホームディレクトリなどが正しく設定されます。それ、どうやったら出来るの?

私は試した

su -- username

パスワードをキー入力してもエラーは発生しませんでしたが、コマンドの目に見える変更は見られませんでした。ホームディレクトリもmynameのディレクトリであり、ログインしようとした新しいログインではありませんでした。

私は-明らかなように-linux/Ubuntuでかなり経験が浅いので、どんな情報でも大歓迎です。

17
Andrew Savinykh

どのユーザーに変更しますか?

問題は、シェルが割り当てられていないユーザーに「su」しようとしていることです。ソフトウェアのインストール時にシステムまたは一部のパッケージによって作成されたmysql、Pulseなどのほとんどのユーザーには、シェルが割り当てられていません。

/etc/passwdファイルを調べて、ユーザーにシェルが割り当てられているかどうかを確認できます。/bin/falseと表示されている場合は、各ユーザーの行の終わりを見てください。 /bin/bashまたは他のシェルのようなものが割り当てられている場合、そのユーザーに「su」できるはずです。

「シェル割り当て」と言うと、基本的に「シェルアクセス」があることを意味します

それでもユーザーにシェルアクセスがない場合は、常にそのユーザーとしてコマンドを実行できます。

 Sudo -u user command
17
Sam

あなたが須藤アクセスを持っているなら、私はお勧めします

Sudo su username -

基本的に同じことをしますが、他のユーザーではなくパスワードを知っていることだけが必要です。

ただし、他のユーザーのパスワードを持っている場合:

su username -は正常に機能するはずです。

1に注目してください-そして、それは最後にあります。

6
coteyr