sudo を使わずに別のユーザーにルート権限を与える方法

sudo を使わずに別のユーザーにルート権限を与える方法

こんにちは。Ubuntu で、SSH キーを使用してログインできる root と同じ新しいユーザーを作成したいと考えています。唯一の違いはユーザー名です。(sudo は使用しません)

リスクは承知していますが、厳格な認証を備えたプライベートネットワーク内にあります。ありがとうございます☺️

答え1

実際にこれを行うことは可能ですが、なぜそうする必要があるのか​​私には想像できません。 と同じユーザー ID (UID) を持つ新しいユーザーを作成できますroot。これは実際には「新しい」ユーザーではなく、同じユーザーの異なるユーザー名であることに注意してください。ただし、root の代わりにこの名前を使用してログインできます。

まず、新しいユーザーを作成し、その UID を0ルート アカウントの UID に設定します。

useradd -d /fool -g root -m -N -o -u 0 -s /bin/bash fool 

使用されるオプションは次のとおりです。

  • -d /fool: このユーザーの$HOMEを に設定します/fool
  • -g root: このユーザーのデフォルトグループを に設定しますroot
  • -m: ユーザーのホームディレクトリが存在しない場合は作成します。
  • -N: ユーザーと同じ名前のグループを作成せず、 で指定されたグループにユーザーを追加するだけです-g
  • -o: 既存の別のユーザーと同じ UID を持つユーザーの作成を許可します。
  • -u 0: このユーザーの UID を に設定します0( と同じroot)。
  • -s /bin/bash: ユーザーのデフォルトのログインシェルを に設定しますbash
  • fool: ユーザー名は になりますfool

このコマンドを実行すると、次のユーザーとしてログインできるようになりますfool:

terdon@ub20:~$ sudo -iu fool
root@ub20:~# whoami
root
root@ub20:~# cd
root@ub20:~# pwd
/fool

ご覧のとおり、私は としてログインしていますfoolが、whoami(UIDに基づく)は私を として認識しroot、 はcd私を に移動します。私はユーザー/foolのすべての権限を持っています。root午前ユーザーrootですが、ユーザー名とホーム ディレクトリが異なります。これで、(自己責任で) ssh 経由でのルート アクセスを許可し、foolの代わりにとしてログインできるようになりましたroot。これはすべて表面的なものであり、実際には としてログインしていますrootが、それが必要なことのようです。

答え2

安全の観点から、あなたがやりたいことは明らかにすべきことではなく、強くお勧めしません。

それでも、Linuxでは同じユーザーを表す異なるユーザー名したがって、完全に root として機能できるユーザー名を設定したい場合は、原則として、root ユーザーに別のログイン名を作成できます。デフォルトで root としてログインすることが極めて無謀な理由の​​ 1 つは、人為的なエラーによってシステム全体が簡単に破損する可能性があるためです。

関連情報