Linux システムのユーザー管理コマンドの概要

Linux システムのユーザー管理コマンドの概要

ユーザーとグループの管理

1. ユーザーとグループの基本概念

ユーザーとグループ:
システム上のすべてのプロセス (実行中のプログラム) は特定のユーザーとして実行されます。
すべてのファイルは特定のユーザーによって所有されます。
ファイルとディレクトリへのアクセスはユーザーによって制限されます。
実行中のプロセスに関連付けられたユーザーによって、そのプロセスがアクセスできるファイルとディレクトリが決まります。

ユーザーの役割

(1)現在ログインしているユーザーの情報を表示します。

[root@192 ~]# id 

(2)ファイルの所有者を表示します。

[root@192 ~]# ls -l /home 

(3)実行中のプロセスのユーザー名を表示します。

[root@192 ~]# ps axu 

ユーザーグループ情報保存ファイル

(1)利用者基本情報ファイル:

[root@192 ~]# cat /etc/passwd


/etc/passwd (コロンで区切られた 7 列)
ルート: x: 0: 0: ルート: /root: /bin/bash
ユーザー名: x : uid : gid : 説明: HOME : シェル

システム規約: RHEL7
uid: 0 特権ユーザー
uid: 1~499 システムユーザー
uid: 1000人以上の一般ユーザー
ルートユーザー

意味:
.uid は 0 です
. 全力
このユーザーにはファイルシステム上の通常の権限を上書きする権限があります
ソフトウェアのインストールや削除、システムファイルやディレクトリの管理
ほとんどのデバイスはルート権限でのみ制御できます

(2)ユーザーパスワード情報ファイル:

[root@192 ~]# cat /etc/shadow 


/etc/shadow (コロンで区切られた 9 列)
ルート: $ 6$ FSPVbNE…: : 0: 99999: 7: : :
1) 「ログイン名」は、/etc/passwdファイルのログイン名と一致するユーザーアカウントです。

2) 「パスワード」フィールドには、暗号化されたユーザーパスワードが保存されます。空の場合、対応するユーザーにはパスワードがなく、ログイン時にパスワードは必要ありません。
アスタリスクはアカウントがロックされていることを示します。
二重の感嘆符はパスワードの有効期限が切れていることを示します。
$ 6$ で始まるものは、SHA-512 を使用して暗号化されていることを示します。
$ 1$ は MD5 を使用して暗号化されていることを示します。
$ 2$ は Blowfish を使用して暗号化されます。
$5$はSHA-256で暗号化されています。

3) 「最終変更時刻」は、ある時点からユーザーが最後にパスワードを変更した時点までの日数を示します。開始時間はシステムによって異なる場合があります。たとえば、SCOLinux の場合、開始点は 1970 年 1 月 1 日です。

4) 「最小時間間隔」とは、2 回のパスワード変更の間に必要な最小日数を指します。

5) 「最大期間」とは、パスワードの有効期間の最大日数を指します。

6) 「警告時間」フィールドには、システムがユーザーに警告を開始してからユーザーのパスワードが正式に期限切れになるまでの日数が表示されます。

7) 「非アクティブ時間」とは、ユーザーがログインせずに有効なままでいられる最大日数を指します。 (ソフトリミット。有効期限後のアカウントが使用できなくなる日数。)

8) 「有効期限」フィールドには絶対日数が示されます。このフィールドを使用すると、対応するアカウントの有効期間が示されます。有効期限が切れると、アカウントは有効なアカウントではなくなり、ログインに使用できなくなります。 (ハード制限)

9) 保持

(3)グループ情報ファイル:

[root@192 ~]# cat /etc/group


/etc/group (コロンで区切られた 4 列)
ルート:x:0:
グループ名: グループパスワード: グループID: グループメンバー (グループメンバーはデフォルトでは空です)

2. ユーザー/グループ管理

ユーザー

(1)オプションを指定せずにユーザーを作成する:

[root@192 ~]# ユーザー追加 user01 


まとめ:
ユーザーの作成時にオプションが指定されていない場合、システムはユーザーと同じ名前のグループをユーザーのプライマリ グループとして作成します。

(2)ユーザー指定のオプションを作成する:

[root@192 ~]# useradd user02 -u 1503 //ユーザーuser02を作成し、uidを指定する
[root@192 ~]# useradd user03 -d /aaa //ユーザーuser03を作成し、ホームディレクトリを指定します

(3)ユーザーの削除:

[root@192 ~]# userdel -r user02

(4)ユーザーパスワード:

方法 1: root が他のユーザー (user03) のパスワードを変更します。

[root@192 ~]# パスワード user03 


方法 2: ユーザー (user03) がログインし、自分でパスワードを変更します。

[user03@192 ~]$ パスワード

(5)グループメンバーの管理:

注: usermode -G グループ名 ユーザー名

[root@192 ~]# usermod -G hr user03 

(6)その他のオプション管理:

[root@192 ~]# usermod -s /sbin/nologin user03

ログインシェルを変更して、user03 のログインを制限する

ユーザーグループ

(1)オプションを指定せずにグループを作成する:

[root@192 ~]# グループ追加 db 

(2)オプションを指定するためのグループを作成する:

[root@192 ~]# groupadd net01 -g 2000 //グループnet01を追加し、gid 2000を指定します

(3)グループ情報を表示する:

[root@192 ~]# grep 'net01' /etc/group ///etc/group内のグループnet01の情報を表示します

(4)グループを削除する

[root@192 ~]# groupdel net01 //グループnet01を削除

削除されているため、閲覧時に表示されません。

分類

(1)基本グループ/メイングループ

同じ名前のユーザーの基本グループは、ユーザーが作成されると自動的に作成され、/etc/passwdに表示されます。

(2)追加グループ

ユーザーがメンバーとなっているその他のグループ。

コマンドの概要

1 useradd はユーザーを作成するコマンドです。
2 usermod はユーザーを変更するコマンドです。
3 groupaddはグループを作成するコマンドです。
4 -u はユーザーの UID を指定します。
5 -g はユーザーの基本グループを指定します。
6 -G はユーザーの追加グループを指定します。
7 /etc/passwd はユーザーの基本グループを表示できます。
8 /etc/group ユーザーの追加グループを表示できます。

Linux システムのユーザー管理コマンドの概要についてはこれで終わりです。Linux システムのユーザー管理コマンドの詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • PHPプログラマーが遊ぶLinuxシリーズ nginx初心者ガイド
  • Nasmは、自作のLinuxブートディスクをvmwareで実行するブートコードを実装します
  • Linux ブートプロセスの分析
  • Linux 管理者ガイド (5) -- 起動とシャットダウン
  • Linux システムコマンドのメモ
  • Linux システムでキャッシュをクリアする方法の概要
  • Linuxシステムのsudoコマンドの詳細な説明
  • フォルダとファイルを削除するLinuxシステムコマンド
  • Linuxシステムでddコマンドを使用する方法
  • Linux システムの sudo コマンドに関する 10 のヒントのまとめ
  • Linux ブートシステム方式の分析

<<:  面接官はReactのライフサイクルについてよく質問します

>>:  MySQLへのJava接続の基礎となるカプセル化の詳細な説明

推薦する

Docker で php-nginx-alpine イメージをゼロから構築する方法

これまでにも Docker 環境でいくつかのプロジェクトを実行したことはありますが、まだイメージをよ...

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、Vue の具体的なコードを共有して、簡単なショッピングカートを実装します。...

uni-app で scss を使用するサンプル コード

遭遇した落とし穴私は午後中ずっと、uni-app で scss を使用する際の落とし穴を解決すること...

Ubuntu の Python で C/C++ メソッドを呼び出すダイナミック リンク ライブラリの詳細な説明

ブーストをインストールPython から C/C++ を呼び出す方法はたくさんあります。この記事では...

WeChat アプレット wxs 日付と時刻処理の実装例

目次1. 日付までのタイムスタンプ2. UTCを北京時間に変換するWXS (WeiXin Scrip...

Linux で静的ルーティングを追加するための 2 つの実装方法の分析

ルートを追加するコマンド: 1.ルート追加route add -net 192.56.76.0 ne...

新しいウィンドウで開くジャンプメニュー、window.open の使い方の紹介

コードをコピーコードは次のとおりです。 <前> <div> <sele...

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト 1...

Linux 継続的インテグレーションで Maven を自動的にインストールする方法

Mavenパッケージを解凍する tar xf apache-maven-3.5.4-bin.tar....

ネイティブJSで実装されたギャラリー機能

目次最初2番目Native Js はギャラリー機能を実装します。画像をクリックすると、対応する拡大画...

Tomcat が非同期サーブレットを実装する方法の詳細な説明

序文これまでの Tomcat シリーズの記事を通じて、私のブログを読んでいる学生は Tomcat に...

5分でDockerをインストールする詳細な手順

CentOS に Docker をインストールするには、オペレーティング システムが CentOS ...

MySQL 外部キー制約の詳細な説明

公式ドキュメント: https://dev.mysql.com/doc/refman/5.7/en/...

入力が完了したことを検出し、次のコンテンツを自動的に入力する HTML を実装する方法

前回の記事では、入力完了の簡単な検出を実現しましたが、今回はさらに一歩進んで、入力が完了した後に次の...

Zabbix で複数の JVM プロセスを監視する方法

1. シナリオの説明:私たちの環境ではマイクロサービスを使用しています。各プログラムには個別のプロセ...