Linux システムでのユーザー管理の概要

Linux システムでのユーザー管理の概要

1. ユーザーとユーザーグループの重要性

1) ユーザーの存在意義

システム リソースは限られています。システム リソースを合理的に割り当てるにはどうすればよいでしょうか?

1. アカウント

2. 認可

3. 認証

上記の 3 つの「a」は 3A メカニズムと呼ばれ、システム内の最も低いレベルのセキュリティ アーキテクチャを構成します。

2) ユーザーグループの重要性

ユーザー グループは、ユーザーを分類して均一に承認する論理コンテナーです。

簡単に言えば、ユーザー グループは、私たちが学校に通っていたときのクラスやコミュニティ組織のようなものです。クラスで付与される権利と、コミュニティ内の部門が持つ権限、それがあなたの持つものです。これにより、権力の統一的な分散化が促進されます。

2. システム内でのユーザーとユーザーグループの存在方法

コンピュータは数字に敏感ですが、人間は名前にもっと敏感なので、この機能を使用して、関連付けられた数字と文字列の形式でユーザーをコンピュータに保存できます。

Linux ではすべてがファイルであることはご存じのとおりです。ユーザーも例外ではありません。ユーザーやユーザー グループと呼ばれるものは、実際にはファイル内の文字列です。

ユーザーは、/etc/passwd ファイル内の文字列です。ユーザー グループは、/etc/group ファイル内の文字列です。vim /etc/passwd このコマンドを使用すると、passwd ファイルの内容を表示し、ユーザー情報を取得できます。vim /etc/group このコマンドを使用すると、group ファイルの内容を表示し、ユーザー グループ情報を取得できます。

ただし、ファイル内のユーザーまたはユーザー グループの ID 情報を表示するのは少し面倒です。Linux では、ユーザーの関連情報を表示しやすくするための次のようなコマンドが提供されています。

whoami 現在のユーザー名を表示します id [パラメータ][ユーザー名] ユーザーのID情報を表示します。デフォルトのユーザー名は現在のユーザーを表示します -u ユーザーのユーザーIDを表示します
    -g ユーザーのプライマリグループIDを表示する
    -G ユーザーのすべてのグループIDを表示する
    -n は名前を表示します。単独では使用できません。ユーザー ID の範囲を表示するには、上記のコマンドと組み合わせて使用​​する必要があります。
    0: スーパーユーザーID
    1-999: Linux システム ID
    1000-65535: ユーザーレベルID
            
            上記のID情報は/etc/login.defsに記録されます。

3. ユーザーに関連するシステム設定ファイル

/etc/passwd ユーザー識別情報ファイル

passwd 内の文字列の意味: ユーザー名: ユーザーのパスワード: ユーザー ID: ユーザーのプライマリ グループ ID: ユーザーの説明: ユーザーのホーム ディレクトリ: ユーザーのデフォルト シェル

/etc/group グループ識別情報ファイル

グループ名: グループパスワード: グループID: グループの追加メンバー

/etc/skel/.* ユーザー環境設定ファイルテンプレート

/etc/shadow ユーザー認証情報ファイル

/home/username ユーザーのホームディレクトリ

/var/spool/mail/username ユーザーメールボックスファイル

4. ユーザー関連の操作

1) ユーザーとユーザーグループの作成と削除

watchコマンドを使用してユーザーの作成と削除を監視することができます。

watch -n 1 "tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home"

ユーザー作成コマンド useradd:

useradd username ##ユーザー作成 -u id username ##ユーザーのuidを指定
        -g id username ##プライマリグループIDを指定します
        -G id username ##追加のグループIDを指定します
        -d dir username ##ユーザーのホームディレクトリを指定します -M username ##ユーザー作成時にホームディレクトリを自動的に作成しません -c word username ##ユーザー作成時にユーザーへの指示を指定します -s shell username ##シェルを指定します
userdel username ##ユーザーの削除 -r username ##ユーザーを削除し、ホームディレクトリとシステム構成ファイルを削除します groupadd groupname ##グループの作成 -g id groupname ##グループIDを指定します
groupdel groupname ##グループの削除

2) ユーザーおよびユーザーグループの情報管理

サーバーの使用中に、ユーザーの関連属性を変更する必要がある場合があります。ユーザーは /etc/passwd ファイルに文字列の形式で保存されており、その文字列の意味もわかっています。

ユーザー名: ユーザーパスワード: ユーザーID: ユーザーのプライマリグループID: ユーザーの説明: ユーザーのホームディレクトリ: ユーザーのデフォルトシェル

もちろん、ルート ユーザーを使用してこれらのフィールドを変更し、ユーザー情報を変更することもできますが、実際のアプリケーションではこれを行わず、いくつかの関連コマンドを使用します。

usermod [オプション] [パラメータ] [ユーザー名]
 
[オプション]
        -l #ユーザー名を変更 -u #ユーザーのuidを変更
        -g #ユーザーのプライマリグループIDを変更する
        -G #ユーザーの追加グループ ID を変更します -aG #ユーザーの追加グループ ID を追加します -c #ユーザーの説明テキストを変更します -d #ユーザーのホーム ディレクトリ ポインターを変更します -md #ホーム ディレクトリ ポインターとホーム ディレクトリ名を同時に変更します -s #既定のシェルを変更します
        -L #アカウントを凍結 -U #アカウントのロックを解除

パスワード情報はシャドウ ファイル、シャドウ コンテンツに保存されます。

ユーザー名: 暗号化されたパスワード: 最終更新日時: 最小変更間隔: パスワードの有効期間: パスワード変更前の警告日数: パスワード有効期限後の猶予時間: アカウントの有効期限: 予約フィールド

passwdコマンドを使用してパスワード関連の属性情報を変更することができます。

passwd [オプション] [パラメータ] [ユーザー名]
オプションとパラメータが設定されていない場合は、「ユーザー名」のパスワードを変更します[オプション]
        -S #パスワードの状態を確認する -l #アカウント認証を凍結する -u #アカウント認証をロック解除する -d #ユーザーパスワードを削除する -e #デフォルトの使用時間を0に変更する
        -n #最小使用時間を設定します -x #パスワードの有効期限を設定します -w #有効期限の警告時間を設定します -l #非アクティブ日数を設定します change -d 0 [ユーザー名] #ログインするにはパスワードを変更する必要があります change -E "xxxx-xx-xx" [ユーザー名] #凍結日を設定します

5. ユーザーの分散化

実際にサーバーを使用する場合、分散化を使用することが多いです。これにより、より高い権限で一部のコマンドを実行できます。たとえば、分散化を使用すると、一般ユーザーが一部のコマンドを root として実行できるため、root アカウントにログインする必要がなくなり、システムのセキュリティを確保しながら目的を達成できます。

認証方法:

visudo コマンドを使用して /etc/sudoers ファイルを変更することができます (もちろん、vi または vim を使用して変更することもできますが、vi と vim は構文検出を提供しないため、ファイルを誤って変更した場合にエラーを見つけるのが不便です)。

便宜上、通常はファイルの 100 行目あたりに分散化を追加します。

ユーザー名 ホスト名=(新しいユーザー名) [NOPASSWD:] /command, /command1

6. ファイルの権限の表示と読み取り

1) 権限チェック

ls -l file # ファイルの権限を表示する ls -ld dir # ディレクトリの権限を表示する

ファイルの権限情報は、次の 3 つのカテゴリに分かれています。

u はユーザー(ファイルの所有者)を表します。g はグループ(ファイルの所有者グループ)を表します。o はその他(ファイルの所有権とは関係のない他の人)を表します。各主要タイプには権限を示すフラグ ビット(rwx)があります。
r は読み取り(読み取り権限)、w は書き込み(書き込み権限)、x は実行権限を表します。

chmodコマンドを使用してファイル関連の権限情報を変更することができます。

chmod [ugo][+-=][rwx] [filename/dirname] #式で権限を付与 chmod [xxx] [filename/dirname] #数値で権限を付与 ブール値を理解することで、rwx の 3 ビットを 2 進数から 8 進数に変換できます。
W-2
x-1

S 権限

文字列式を使用して S 権限を設定できます。S 権限の機能は次のとおりです。

ファイルの u ビットに s パーミッションが設定されている場合、ファイル実行者はファイルを実行するときにそのファイルの所有者 ID を取得します。これはバイナリ ファイルでのみ使用できます。ファイルの g ビットに s パーミッションが設定されている場合、ファイル実行者はファイルのグループ ID を取得します。ディレクトリで使用すると、ディレクトリ内に作成されたファイルのグループがこのディレクトリのグループになります。スティッキー ビットの効果はディレクトリに対してのみ有効であり、その効果は、ファイルの所有者だけが現在のディレクトリ内の自分のファイルを削除できることです。

Linux システムでのユーザー管理に関するこの記事はこれで終わりです。Linux システムでのユーザー管理に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux コマンドラインで他のユーザーと通信する方法
  • Linux システムのユーザー管理コマンドの概要
  • Linux ファイルとユーザー管理の実践

<<:  Youku 動画から 30 秒の広告コードを削除する 2 つの方法

>>:  10秒以内にMySQLデータベースに数百万件のレコードを挿入する実装

推薦する

MySQLバッチは特定のフィールドのスペースを削除します

Mysql で特定のフィールドからスペースを一括削除する方法はありますか?文字列の前後のスペースだけ...

Mysql マルチテーブル結合クエリの実行の詳細について簡単に説明します。

まず、このブログのケースデモンストレーション テーブルを作成します。 create table a(...

CSS スティッキー配置位置の詳細な説明: スティッキー問題の落とし穴

前書き: position:sticky は CSS ポジショニングの新しい属性です。相対ポジショニ...

Ubuntu 18.04 で中国語入力方法を設定する方法

Ubuntuの最新バージョンでは、ユーザーは中国語入力方法を別途ダウンロードする必要がなくなりました...

nginx プロキシでの複数の 302 応答の解決策 (nginx Follow 302)

proxy_intercept_errors と recursive_error_pages を使...

Docker を使用した RabbitMQ 環境のデプロイの詳細な紹介

前提条件: Dockerはすでにインストールされています1. 画像を見つける(方法は2つあります) ...

Vue Element UIの使用時に遭遇した問題をまとめる

目次1. DateTimePickerの日付選択範囲は現在時刻とそれ以前です2. DateTimeP...

さまざまな種類のMySQLインデックス

インデックスとは何ですか?インデックスは、データベース ストレージ エンジンが指定されたデータをすば...

Vueの使用に関する深い理解

目次Vueのコアコンセプトを理解するVueの双方向バインディングの原理と実装を探るVue 双方向バイ...

Vue のすべてのカプセル化方法の簡単な概要

目次1. カプセル化API 2. グローバルツールコンポーネントを登録する3. グローバル関数をカプ...

Nginx/Httpd リバース プロキシ Tomcat 設定チュートリアル

以前のブログでは、Tomcatのサーバーの各コンポーネントの使用について学びました。 Tomcatは...

Founder フォント ライブラリの中国語と英語のファイル名比較表

Founder Type Library は、Founder Type Library ビジネス チ...

JS ES6 変数分割代入の詳細な説明

目次1. 脱構築とは何か? 2. 配列の分割3. 配列モードと代入モードの統一4. デフォルト値の構...

画面なしで無線ネットワークに接続しているときに Raspberry Pi の IP アドレスを見つける方法

あなたがlinuxerだと仮定すると、 windowserだとは想定しません。Windows ユーザ...

ウェブデザイン必携ハンドブック 216 ウェブセーフカラー

Web ページ上の色の表現は、さまざまな要因によって影響を受けます。Web ページで非常に美しい配色...