Webアプリケーションなどを安全に実行するために使用できるユーザーを作成するにはどうすればよいですか?

Webアプリケーションなどを安全に実行するために使用できるユーザーを作成するにはどうすればよいですか?

私はSSHを通してこれをやっています。

ユーザーを作成したいです。

  • SSH経由でアクセスできません

  • 詐称できるsu

  • パスワードなし(これは良い習慣ですか?)

  • Webアプリケーション実行可能(特にpm2(nodejs)を使用)

これが私たちが職場で行う方法です。 SSH(pemキー)を介してサーバーにアクセスし、ユーザーにsuを送信しnodejsてアプリケーションを実行します。ここでいくつかの答えを読んでいますが、一般的に「ユーザーを作成しましたが、うまくいきませんでした。何が間違っていますか?」という形式です。

ユーザーを作成しましたが、adduser nodejs --system --groupパスワードがわかりません。たぶん、そのコマンドに何かを追加する必要があります。

オペレーティングシステムはMint / Ubuntuです。

答え1

デフォルトでは、ほとんどのLinuxディストリビューションは新しいユーザーのパスワードを設定せず、代わりにパスワード認証を無効にしたパスワードを生成します。アカウントが外部で無効になっているとは表示されません。メッセージは引き続き表示されます。しかし、パスワードがなければ動作しません。

パスワードを設定すると、パスワードを知っている人がSSH経由でアクセスできます。ただし、システムsudoにパッケージがインストールされていて、アカウントwheelがそのグループにある場合、またはアカウントをそのユーザーに切り替えるようにsudoが特別に設定されている場合は、そのアカウントに切り替えるためにパスワードを設定する必要はありません。

sudoがそのユーザーに変更され、すべてのコマンドを実行できるように構成されていると仮定すると、

sudo -u nodejs -H -s -i

あなたの資格情報(パスワードと仮定)を入力するように求められます。正常に入力すると、ターゲットユーザーのログインシェルを使用してアカウントにログインします。 (-i は、シェルをターゲットユーザーのログインシェルにすることを意味します.)

sudoを使用してそのユーザーに切り替えてコマンドを実行できるようにアカウントが構成されていない場合、構成方法は別のより大きな質問です。しかし、この質問をする前に、sudoとsudoersのマンページ(man sudo sudoers)を読んでください。

関連情報