異なるuidと名前を持つ別のルートを追加する

異なるuidと名前を持つ別のルートを追加する

私はルートが完全な管理権限を持っていることを知っています。カーネルでuidこれらの権限を提供する機能のおかげです。
カーネルにも「root」という名前が定義されているようですが?

そしてhome()の位置/rootもカーネルに定義されていますか?
とにかくファイルに設定できますか/etc/passwd

異なる名前を持つ別のルートを追加する方法はuid
一部のUNIXオペレーティングシステムと同様に、これをtoorと呼びますが、toorはuid0を持つ別のユーザーにすぎません。

このツールuidは私のアカウントとして使用したいので、少なくとも1000人の標準ユーザーが必要です。

よく考えてみると、ユーザーに全体の管理権限を与えればいいと思いました。
同じに設定すると、uidルートを使用するのと同じです。

一部のサービスはルートをシステムユーザーとして扱い、一部のサービスはそれを特定のプロセスに使用するため、そうしたいと思います。
私に問題があるわけではありませんが、より良く見えます。
また、一部のアプリケーションには、ルートを使用している場合は削除する必要があるルートチェックがあります。

私のオペレーティングシステムDebian 10が提供するカーネルを使います。

uname -r
5.10.0-0.bpo.5-amd64

答え1

sudoこのメカニズムでは、管理機能を実行できる管理機能を持つユーザーを設定するのが最善です。これにより、ルートパスワードを入力する必要がなくなります。

デフォルトでは、Debianはインストール中に最初に作成されたユーザーに管理機能を提供します。ただし、必要な認証を提供しないと「root2」ユーザーが使用できなくなるため、システムサービスはまだrootを使用することがよくあります。

UIDとユーザーの間のリンクは/ etc / passwdにあります。根いつもUIDは0です。

5.10.0-0.bpo.5-amd64は標準のDebian 10カーネルではなくバックポートです。しかし、同じカーネルを問題なく使用しています。 AFAIK Busterは4.19カーネルを使用します。

答え2

短い答えはできないということです。 「root」という名前はほとんどランダムです。重要なのはUID 0です。 /etc/passwdにUID 0ユーザーを必要な数だけ割り当てることができ、ログインするとrootと同じになります。他のUIDは、他のプロセスがUID 0として実行されるまでルートになりません。

カーネル操作の外部では、UID 0がないとルートアクセスを取得できません。 sudo は suid プログラムなので、単に root としてプロセスを実行します。 sudo には、sudoer を使用して実行可能ファイル内で suid ビットの独自の使用を試み、管理する点を除いて、特別なものはありません。

sudoers には、sudoers ファイルで定義および制限される完全な管理権限があります。 sudoers 誰もが王国を捨てた。

あなたは間違った方向に進んでおり、必要以上に仕事を複雑にしています。お客様は、個人アカウントを一種のルートアカウントに設定することを検討しています。これは間違ったアプローチであり、sudoとsudoerが処理する必要がある問題です。 toorというアカウントを使用してrootアクセス権を持っている場合は、toorが "sudo su"を実行できるようにするルールをsudoersに追加します。これでsudoを使用すると、root権限全体が得られます。あるいは、より良い方法は、あなたが唯一の管理者であればsuを使ってルートになり、すべての委任とそれに対応する混乱を忘れることです。

関連情報