Linuxシステムを操作したことがある場合は、UIDとGIDという2つの単語に出くわした可能性があります。それらについて明確な考えがない場合は、この記事に従ってください。
LinuxのUIDとは何ですか?
UIDはUserIdentifierという単語の略語であり、GIDはGroupIdentifierという単語の略語です。この特定の記事では、ユーザー識別子(UID)に焦点を当てます。
UIDは、Linuxシステムに存在するすべてのユーザーに割り当てられる一意の識別番号です。 UID番号の主な役割は、Linuxカーネルに対してユーザーを識別することです。
これは、ユーザーがシステム内でアクセスできるシステムリソースを管理するために使用されます。これは、利用可能なすべてのユーザーに一意のUIDを使用する理由の1つです。そうしないと、1つのUIDの下に2人のユーザーがリストされている場合、両方のユーザーがもう一方のユーザー向けのリソースにアクセスできる可能性があります。
保存されているUIDはどこにありますか?
UIDは、システムに登録されているすべてのユーザーも格納するファイルである/ etc/passwdファイルにあります。 / etc / passwdファイルの内容を表示するには、 catを実行します。 ターミナルで以下に示すように、ファイルに対してコマンドを実行します。
/ etc / passwdファイルには、システム内のすべてのユーザーに関する必要なすべての属性または基本情報が含まれています。データは、以下に示すように7列で表示されます。これらのフィールドはコロン(:)で区切られます。このファイルには、システムの適切なインストール、実行、および更新に必要なシステム定義のアカウントとグループも含まれています。
列1–名前
列2 –パスワード–ユーザーがこのフィールドにパスワードを設定した場合、文字(x)で示されます。
列3 – UID(ユーザーID)
列4– GID(グループID)
列5– Gecos –ユーザーに関する一般的な情報が含まれており、空にすることができます。
列6–ホームディレクトリ
列7 –シェル–へのパスユーザーのデフォルトシェル。
UIDを特定する
上の画像から、ファイルにリストされている最初のユーザーはrootです。ルートは、システムのあらゆる側面を全体的に制御します。 rootユーザーには、UIDゼロ(O)とGID(0)が割り当てられます。次のもう1つは、システム定義のアカウントとグループです。
もう1つ注意すべき点は、UID=0とGID=0が、ルートユーザーにシステムのすべての機能を提供することです。そのことを証明したい場合は、rootの名前をExample_Userなどに変更し、新しいUIDとGIDを使用して新しいrootユーザーを作成します。ユーザー名rootがなくても、Example_Userには引き続き昇格された権限があることがわかります。
画像からもわかるように、rootユーザーに続くシステム定義のアカウントとグループにはUID 1、2、3、4、…などがあります。これは、ほとんどのLinuxシステムがシステムユーザー用に最初の500UIDを予約しているためです。 useraddコマンドで追加された他のユーザーには、500からのUIDが割り当てられます。UbuntuおよびFedoraシステムでは、インストールプロセス中に作成されたユーザーであっても、新しいユーザーには1000以上のUIDが与えられます。
これは、2人のユーザーがいる下の画像で確認できます。 Fosslinux_adminとTuts。
ユーザー「tuts」はインストールプロセス中に作成され、UID 1000が割り当てられます。もう1人のユーザー「fosslinux」は後で追加され、UID1001が与えられました。
ユーザー、グループ、またはアカウントのUIDを見つける方法
/ etc/passwdファイルの内容を表示してUIDを見つける方法について説明しました。より速く、より簡単な方法があります。 idを使用します コマンド。
たとえば、ユーザーFosslinux_adminとTutsのUIDを見つけるには、以下のコマンドを実行します。ルートパスワードの入力が必要になる場合があります。
id fosslinux_admin id tuts
以下に示すように、他のグループでidコマンドを実行することもできます。ターミナルでidコマンドを単独で実行すると、現在ログインしているユーザーのUIDが表示されます。下の画像を参照してください。
UIDを変更する方法
組織や機関など、多数のユーザーがいるシステムを管理しているとします。ユーザーが会社を辞めた場合は、おそらく、新しいユーザーに退職した従業員のUIDを割り当てる必要があります。
まず、この例の一時ユーザーを作成しましょう。 useraddコマンドを使用します。ルート権限が必要になります。以下のコマンドを参照してください。
useradd example_user
ユーザーexample_userでコマンドIDを実行すると、この新しいユーザーがUID1003を持っていることがわかります
次に、UID =1001のFosslinux_adminユーザーを削除して、新しいユーザーに割り当てましょう。 userdelを使用します ユーザーを削除するコマンド。
sudo userdel -r fosslinux_admin
それが完了したら、新しいユーザー– example_user、fosslinux_adminに属していたUIDを割り当てます。つまり、UID=1001です。これはusermodコマンドを使用して行います。
usermod -u 1001 exmple_user
ユーザー(たとえば、_user)でidコマンドを実行すると、ユーザーのUID=1001であることがわかります。
新しいユーザーに古いユーザーのUIDを取得したら、これらを古いユーザーに属していた他のすべてのファイルと同期する必要があります。これを行うには、以下のコマンドを実行します。
find / -user [UID_of_old_user] -exec chown -h [new_user] {} \; e.g sudo find / -user 1001 -exec chown -h user_2 {} \;
特定のUIDを持つ新しいユーザーを作成する
または、 useraddを使用して新しいユーザーを作成することもできます コマンドを実行し、ユーザーに特定のUIDを割り当てます。以下の構文を参照してください。
sudo useradd -u 1111 user_2
user_2でidコマンドを実行すると、ユーザーのUID=1111であることがわかります。
結論
それでおしまい! LinuxシステムのUIDについて知っておく必要があるすべて。意味のあるコンセプトを見逃した、または説明が必要だと思われる場合は、下のコメントセクションで遠慮なくお知らせください。