- 違いは何ですかユーザー名前、展示する名前とログイン名前?
- 大きな違いがある場合は、各項目を編集するとどのような結果が発生しますか?
- どうすれば修正できますか?
これはここに関連していることを知っていますが、usermod
明確な用語なしでオプションをすぐに説明することは不可能です。同じまたは類似の目的を達成する他のコマンドがあります。
合格。これを明確にしていただきありがとうございます。
ベストアンサー1
どれがどれか
ユーザー名言うことができるあいまいな用語です。
- 形式的にユーザーID一部のシステムで知られている文字列、または
- に名前を表示する良い
John Smith
。
だから私たちは次のようなより具体的な用語を持っています。ログイン名jsmith
、これは、notなどのログインに使用される文字列であることを示しますJohn Smith
。
ユーザーIDこの目的も達成されたが、数値ユーザーID。これはコンテキストで明確でなければなりません。たとえば、Unixでは、ユーザーは通常、数値のユーザーIDを扱いません。1003
ただし、「ユーザーID」の入力を求められたら、人々はそれを入力しないでくださいjsmith
。
名前を表示する(また〜として知られている実際のユーザー名)は、これが一部のソフトウェアオブジェクト(ユーザーアカウントなど)の名前であり、ユーザーインターフェイスとプログラム出力(診断またはデバッグメッセージなど)でそれらを参照するために使用されることを示します。これは、表示名がこれらのオブジェクト間で一意である必要はなく、オブジェクトを明示的に参照するキーワードとして使用できないことを意味します。本当にただの展示用です。 「表示名」はユーザー名である必要はなく、状況に応じて決定する必要があります。名前を持つことができるものはすべて表示名を持つことができます。
伝統的なUnixでは/etc/passwd
、数値ユーザーIDそしてログイン名(テキストユーザーID)名前を表示する。
変化と結果
このchfn
ユーティリティは変更に使用されます。名前を表示するまた〜として知られています実際のユーザー名および関連情報。これを実行しても結果はありません。
変化文字ユーザーIDまた〜として知られていますログイン名権限が必要です。root
パスワードファイルを編集して編集できます。効果は即時です。新しい名前がシステムのどこにでも表示されます。数値ユーザーIDそのテキストを表示します。たとえば、誰かがディレクトリを一覧表示し、そのディレクトリにそのユーザーが所有するファイルが含まれている場合、プログラムはパスワードデータベースから新しい名前を選択するため、ls -l
新しい名前がすぐに表示されます。ls
この変更により、システム内のさまざまな項目が中断されたり潜在的に中断される可能性があるため、悪い考えです。
- まず、新しい名前が他の名前と衝突すると、明らかに非常に悪いです。私たちはこれが真実ではないと仮定します。
- また、一部のユーザーの名前は自分も知らないように変更され、ログインを妨げないと仮定します。
- 残りの問題は、ファイルシステムにエンコードされた設定ファイルがある可能性があることです。文字ユーザーID:パス名と内容。もちろん、これらはまだパスワードファイルに存在しない古いユーザーIDを参照します。これらすべてを見つけて変更するまで、名前の変更は完了しません。
- 古い名前と一致する新しいパスワードファイルエントリが作成されると、問題がさらに複雑になる可能性があります。これで、これらの構成は有効なユーザーを参照しますが、正しくありません。
例えば
sudo
ユーティリティがシステムに存在し、ファイルを介して/etc/sudoers
構成されているとします。このファイルがスーパーユーザー資格情報を使用していくつかの危険な管理コマンドを実行する権限をユーザー/etc/sudoers
に付与するとします。bob
- 今、パスワードファイルの名前を変更し、このエントリを更新しないとし
bob
ますrobert
。コマンドをrobert
実行できなくなりました。ファイルに実行sudoers
権限が付与されていません。bob
robert
- 翌日、新しいユーザーが追加され、偶然名前が
bob
。これで、bob
rootとして管理コマンドを実行する権限があります。