新しいユーザーでログインしてエラーを修正する方法: 「: そのようなファイルまたはディレクトリはありません」?

新しいユーザーでログインしてエラーを修正する方法: 「: そのようなファイルまたはディレクトリはありません」?

ルートアクセス権を持つユーザーを作成しました

useradd -ou 0 -g 0 myuser -p [12345]

新しいユーザーに su しようとすると、次のメッセージが表示されます。

: No such file or directory

そのユーザーとして ssh 経由で接続しようとすると、次のメッセージが表示されます。

Permission denied, please try again.

そこで、私は次のことを確認しました/etc/passwd:

myuser:x:0:0::/home/myuser:/bin/bash

テストするために、ルートアクセス権のない別のユーザーを作成しましたが、うまく機能しました。

次の行も追加しました/etc/sudoersが、まだ機能しません:

root ALL=(ALL) ALL
myuser ALL=(ALL) ALL

その後、sshd_config を変更しましたPermitRootLoginが、まだうまくいきませんでした :(

ルートアクセス権を持つユーザーを作成し、そのユーザーとして自分のマシンに SSH 接続するにはどうすればよいでしょうか?

答え1

通常、Linuxではユーザーは1人しかいませんが、Ubuntuでは無効になっています。代わりに、root管理者権限を持つすべてのユーザーをグループに追加することをお勧めします。sudo

adduser username sudo

ルートとして。これにより、次のように入力してルートとしてコマンドを実行できます。

sudo command

そしてルートシェルを取得する

sudo -i

さらに、この方法では ssh の root ログインを有効にする必要はありません。

すでに存在するID ( 0) を持つユーザーを追加したため、ホーム ディレクトリが作成されなかった可能性があります。ユーザー ID とグループ ID を手動で設定しないでください。


管理者ユーザーを作成する手順:

  1. sudo adduser username
  2. sudo adduser username sudo

答え2

adduser最初のエラーは、ホーム ディレクトリが存在しないユーザーを作成したために発生します。これは、 の代わりに常に を使用する必要がある理由の 1 つですuseradd。 で説明されているようにman useradd

   useradd is a low level utility for adding users. On Debian,
   administrators should usually use adduser(8) instead.

の機能の 1 つadduserは、ホーム ディレクトリを自動的に作成することです。したがって、実行したいのは次のようになります。

    sudo adduser --gid 0 --uid 0 username

次の問題は、ルートログインを許可する必要があることです。編集し/etc/ssh/sshd_configて変更する

PermitRootLogin no

PermitRootLogin yes

次に、sshサーバーを再起動します。

sudo service ssh restart

答え3

何時間もかかってようやく完了しました! 次のように新しいユーザーを作成します:

useradd -ou 0 myuser -p [#hash-password]

そして私はPermitRootLogin yesこの道に変わりました:/etc/ssh/sshd_config

やさしい :)

関連情報