GNU/Linux >> Linux の 問題 >  >> Linux

root アカウントの UID/GID は常に 0 ですか?

実際には 2 つの部分があります

<ブロック引用>

スーパーユーザー アカウントは、Linux で常に uid/gid 0/0 を持っていますか?

はい Rich Homolka がコメントで指摘しているように、root ユーザーを確認する必要がある場合に明示的に uid 0 を確認するコードがカーネルにあり、これは root が常に少なくとも uid を持っていることを意味します。 0.

<ブロック引用>

uid 0 のユーザー アカウントの名前は常に root です ?

いいえ root /etc/passwd またはその他の認証ストアにリストされている単なる名前です。アカウント admin を呼び出すこともできます 、OS 自体は気にしませんが、root という名前の特権アカウントが存在することを期待するため、一部のアプリケーションはそれを好まない可能性があります。 . *nix root で uid 0 アカウントを呼び出す は非常に強力な慣例ですが、システムでは必要ありません (ただし、システム管理ユーティリティを含む特定のユーザーランド ソフトウェアでは必要な場合があります)。

また、Simon Richter が指摘したように、BSD では uid 0 アカウント、慣例により toor という名前 (これは逆向きに綴られた「ルート」であり、字句的には root アルファベット順にソートされたリストで)。たとえば、FreeBSD はそれを使用して root ユーザーにカスタマイズされたシェル設定を提供し、root ユーザーにはシステムのルート パーティションに存在することが保証されているデフォルト シェルを残します (回復目的に役立ちます)。


1) 管理者は常に uid ==0 です。これはカーネルでコーディングされています。これを変更するには、カーネルでコーディングが必要です。これにはあまり意味がないので、行われていません。たとえば、同じ NFS を共有する他の UNIX とは一貫性がありません。

2) uid 0 は、必ずしもルートにマップされるとは限りません。最良の例は FreeBSD です。 2 つの uid ==0 アカウントがあり、違いはシェルです。 root にはシェル /bin/sh があります。これは単純なシェルであり、ディスクが不良で fsck /usr が必要な場合に役立ちます。 toor は tcsh を使用します。tcsh には履歴などがあるため、緊急でない状況ではより便利です。

別の、より個人的な例です。私が持っていた仕事の 1 つは、彼らが NIS を介してルートと同等の (つまり、uid=0) アカウントを持っていた場所でした。パスワード、ブランク!新しいシステム管理者がマシンの root パスワードを思い出せなかったからです。私がこれについて大声で叫んだのには、明らかな理由があります (NIS パスワードは定義上、空白を隠すことはできません)。このアカウントには満足できませんでした。

uid 0 を与えるのは実際にはシステムではなく、root です。それはあなたです。 passwd ファイルまたはその他の名前付けディレクトリ (NIS、ldap) を使用してこれを変更しますが、コンパイルされていません。ただし、/etc/passwd には少なくとも 1 つの uid 0 アカウントが必要ですが、本当に必要なときにネットワークがない可能性があるためです。 .

したがって、root は常に uid 0 ですが、uid 0 が常に root であるとは限りません。


nonStop サーバーを使用するシステムの場合、ROOT_UID は 0 ではなく 65535 です。

OSS ユーザーとグループ OSS 環境では、サイト管理者が明示的に作成しない限り、共通の UNIX デフォルト ユーザー名とユーザー ID は提供されません。ただし、同等の OSS ユーザー名とユーザー ID は存在します。たとえば、UNIX ユーザー名 root とユーザー ID 0 に通常関連付けられている特権は、65535 (スーパー ID) の OSS ユーザー ID (UID) (ユーザー SUPER.SUPER とそのエイリアス) に対して存在します。

https://h20195.www2.hpe.com/V2/GetPDF.aspx/4AA4-6316ENW.pdfを参照

coreutils では、root-uid.h ヘッダー ファイルを見つけることができます:

/* The user ID that always has appropriate privileges in the POSIX sense.

   Copyright 2012-2016 Free Software Foundation, Inc.

   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.

   Written by Paul Eggert.  */

#ifndef ROOT_UID_H_
#define ROOT_UID_H_

/* The user ID that always has appropriate privileges in the POSIX sense.  */
#ifdef __TANDEM
# define ROOT_UID 65535
#else
# define ROOT_UID 0
#endif

#endif

Linux
  1. Linuxでrootアカウントを無効にする4つの方法

  2. カットの逆コマンドは存在しますか?

  3. ユーザーグループルートの機能??

  1. クイックヒント:sudoersグループにユーザーを追加する

  2. rootアカウントでのログインを無効にする

  3. ユーザーアカウントとサービスアカウントの違いは?

  1. ルートユーザーがSudo権限を必要とするのはなぜですか?

  2. ファイルパーミッションの「s」属性はどういう意味ですか?

  3. ルートとしてユーザーアカウントにWordPressをインストールします