Linux——ユーザー、グループ管理、ファイル権限設定

 

1. ユーザーとグループ

Linux システムにおけるユーザーの一意の識別コードはユーザー ID、つまり UID であり、各ユーザーは少なくとも 1 つのグループ (ユーザー グループ) に属します。ユーザー グループには、GID という一意の識別コードがあります。ユーザーが異なれば、権限も異なります。

1. ユーザー アカウント ファイル /etc/passwd とユーザー シャドウ ファイル /etc/shadow を理解する

cat /etc/passwd はシステムユーザー情報を表示します

 

各行には、7 つのドメインを含むユーザーに関する情報が次のように区切られて含まれています。

root:6x:0:0:root:/root:/bin/bash

最初のフィールド: ユーザー名

2 番目のフィールド: パスワード

3 番目のフィールド: UID

4 番目のフィールド: GID

5 番目のフィールド: ユーザー名のフルネーム

6 番目のフィールド: ユーザーのログイン ディレクトリ

7 番目のフィールド: ユーザーが使用するシェルのタイプ

cat /etc/shadow は以下を示します。

 

ルート:$1$HYFeV$E24GrTEYNjXQptoHpHOan.:16349:0:99999:7:::

9 つのドメインが含まれます

(1) アカウント名:パスワードもアカウントに対応させる必要があるため、/etc/passwd のアカウントと同じである必要があります。

(2) パスワード: これは実際のパスワードであり、エンコードされたパスワードです。root のみが読み書きできます。パスワード列の最初の文字が '*' または '#' の場合、このアカウントは使用されないことを意味しますログインします。
(3) 最終パスワード変更日: 1970 年 1 月 1 日から最後にパスワードを変更するまでの時間間隔 (日数) です。

(4) 2 回のパスワード変更間の最小日数: 4 番目のフィールドには、アカウントのパスワードが変更可能になるまでに必要な日数が記録されます。

(5) 2 回のパスワード変更間の最大日数

(6) パスワードの有効期限が切れることを何日前にユーザーに警告するか

(7) パスワードの有効期限が切れてから何日後にこのユーザーを無効にするか

(8) アカウントの有効期限:1970年1月1日からの日数

(9) 予約済みフィールド。未使用。

2. グループ アカウント ファイル /etc/group とユーザー グループ シャドウ ファイル /etc/gshadow について理解します。

ユーザーグループの設定は、ファイルやディレクトリのアクセス権の確認や設定を容易にするためのものです。例: タイムテーブルなどの特定のファイルを一部のユーザーに表示する権限を与えるには、タイムテーブルを作成するユーザーに読み取り、書き込み、および実行の権限が必要です。一部のユーザーにタイムテーブルの内容を知り、変更を許可しないので、(chgrp コマンドを使用して) これらのユーザーをグループに割り当て、(chmod コマンドを使用して) このファイルのアクセス許可を変更して、ユーザー グループを読み取り可能にします (chgrp コマンドを使用して属性を設定します)このファイルはこのグループに追加されるため)、ユーザー グループ内の各ユーザーは読み取り可能になり、他のユーザーはアクセスできなくなります。

猫の /etc/group ショー

グループ名:パスワード:GID:ユーザーリスト

 

 

 

gshadow ディレクトリは導入しません

 

2. ユーザー管理

ユーザー アカウントの管理を実現するには、主に次の作業が必要です:
a. ユーザー アカウントの追加、削除、および変更。
b. ユーザーのパスワードの管理。

Linux ユーザー アカウントの管理

ユーザー アカウントの管理には、主にユーザー アカウントの追加、削除、変更が含まれます。
ユーザーアカウントの追加とは、システムに新しいアカウントを作成し、その新しいアカウントにユーザー番号、ユーザーグループ、ホームディレクトリ、ログインシェルなどのリソースを割り当てることです。追加したばかりのアカウントはロックされており、使用できません。
1. 新しいユーザーアカウントを追加するには、useradd コマンドを使用します。構文は次のとおりです。


useradd オプション ユーザー名
各オプションの意味は以下のとおりです。
-c comment コメントの説明を指定します。
-d ディレクトリはユーザーのホーム ディレクトリを指定します。このディレクトリが存在しない場合は、-m オプションを同時に使用してホーム ディレクトリを作成します。
-g usergroupユーザーが属するユーザーグループを指定します。
-G usergroup,usergroup ユーザーが属する追加のグループを指定します。(新しいユーザーを他のグループに設定します)
-s シェル ファイルはユーザーのログイン シェルを指定します。
-u ユーザー番号は、ユーザーのユーザー番号を指定します。-o オプションを同時に指定すると、他のユーザーの識別番号を再利用できます。
-p このコマンドは、md5 コードの暗号化されたパスワードを提供するために必要です。通常の数字は受け入れられません。

 

 

例 1:
# useradd -d /usr/sam -m sam
このコマンドは、ユーザー sam を作成します。ここで、-d および -m オプションは、ログイン名 sam のホーム ディレクトリ /usr/sam を生成するために使用されます (/usr はデフォルトのユーザーのホームディレクトリの親ディレクトリ)。
例 2:
# useradd -s /bin/sh -g group -G adm,root gem
このコマンドは、新しいユーザー gem を作成します。ユーザーのログイン シェルは /bin/sh で、そのユーザーはグループ user グループに属し、同時にtime は adm と root ユーザー グループに属しており、グループ ユーザー グループはそのプライマリ グループです。
ここで新しいグループを作成できます: groupadd group および groupadd adm
ユーザー アカウントを追加すると、/etc/passwd ファイルに新しいユーザーのレコードが追加され、/etc/shadow、/etc/ などの他のシステム ファイルが更新されます。グループなど

2. アカウントの削除
ユーザー アカウントが使用されなくなった場合は、システムから削除できます。ユーザーアカウントの削除とは、/etc/passwd などのシステムファイル内のユーザーレコードを削除し、必要に応じてユーザーのホームディレクトリを削除することです。既存のユーザーアカウントを削除するには、userdel コマンドを使用します。形式は次のとおりです。
コード:
userdel オプション ユーザー名
一般的に使用されるオプションは -r で、その機能はユーザーのホーム ディレクトリをまとめて削除することです。
例:
# userdel -r sam
このコマンドは、システム ファイル (主に /etc/passwd、/etc/shadow、/etc/group など) 内のユーザー sam のレコードを削除し、同時にユーザーのホーム ディレクトリを削除します。 。

3. アカウントの変更
ユーザー アカウントの変更とは、ユーザー番号、ホーム ディレクトリ、ユーザー グループ、ログイン シェルなど、実際の状況に応じてユーザーの関連属性 (chgrp はファイル用) を変更することです。
usermod コマンドを使用して、既存のユーザーの情報を変更します。形式は次のとおりです。
code:
usermod オプション ユーザー名[sudo コマンドを使用して通常のアカウントを承認する場合は、最終管理者のみがアカウント名を変更する権限を持ちます。それも OK]
共通オプションには -c、-d、-m、-g、-G、-s、-u、-o などが含まれます。これらのオプションの意味は useradd コマンドの場合と同じです。ユーザーに新しいリソース値を指定できます。さらに、一部のシステムでは次のオプションを使用できます。
コード:
-l new username
このオプションは、新しいアカウントを指定します。つまり、元のユーザー名が新しいユーザー名に変更されます
次に例を示します。
# usermod -s /bin/ksh -d /home/z -g developer sam
このコマンドは、ユーザー sam のログイン シェルを ksh に、ホーム ディレクトリを /home/z に、ユーザー グループを developer に変更します。
#usermod zte1 -g cheng
#このコマンドは、ユーザー zte1 のグループを cheng に変更します。

4. アカウントのプロパティを表示する

形式: id user1 は user1 の uid と gid を表示します。デフォルトは現在のユーザーの id 情報です。

groups user1 ユーザー user1 のグループを表示します。デフォルトは現在のユーザーのグループ情報です。

 

Linux ユーザー パスワードの管理

ユーザー管理の重要な部分は、ユーザー アカウントの管理です。ユーザー アカウントは、最初に作成されたときにパスワードが設定されておらず、システムによってロックされているため使用できません。空のパスワードであっても、使用する前にパスワードを割り当てる必要があります。
ユーザーパスワードを指定および変更するシェルコマンドは passwd です。エンド ユーザーは自分自身と他のユーザーのパスワードを指定できますが、一般ユーザーは自分のパスワードのみを変更できます。コマンドの形式は次のとおりです。
コード:
passwd オプション ユーザー名
利用可能なオプション:
-l パスワードをロックします。つまり、アカウントを無効にします。
-u ロックを解除するためのパスワード。
-d はパスワードなしのアカウントを作成します。
-f 次回のログイン時にユーザーにパスワードの変更を強制します。
デフォルトのユーザー名の場合は、現在のユーザーのパスワードを変更します。
例: 現在のユーザーが sam であると仮定すると、次のコマンドはユーザー自身のパスワードを変更します:
 passwd
古いパスワード:******
新しいパスワード:******
新しいパスワードを再入力:***** **
エンド ユーザーの場合、任意のユーザーのパスワードを次の形式で指定できます:
 passwd sam
新しいパスワード:********
新しいパスワードを再入力:********


一般のユーザーが自分のパスワードを変更する場合、passwd コマンドは最初に元のパスワードを尋ね、次にユーザーに新しいパスワードを 2 回入力するように要求します。2 回入力したパスワードが同じである場合、そのパスワードはユーザーに割り当てられます。最終ユーザーはユーザーにパスワードを割り当てます。元のパスワードを知る必要はありません。セキュリティ上の理由から、ユーザーは複雑なパスワードを選択する必要があります。できれば 8 桁以上のパスワードを選択する必要があります。パスワードには大文字、小文字、数字が含まれており、名前や誕生日などとは異なるものにする必要があります。
ユーザーに空のパスワードを指定する場合は、次の形式のコマンドを実行します。
コード:
# passwd -d sam

 

次回ログイン時はパスワードを入力せずにログインできます。
このコマンドはユーザー sam のパスワードを削除し、ユーザー sam が次回ログインするときにシステムがパスワードを要求しないようにします。
passwd コマンドでは、-l (ロック) オプションを使用して、ユーザーがログインできないようにロックすることもできます。例:
code:
# passwd -l sam (シャットダウン後に再度ログインすると、認証エラーが発生します)

3. グループ経営

Linuxユーザーグループ管理

ユーザー グループの管理には、ユーザー グループの追加、削除、変更が含まれます。グループの追加、削除、変更により、実際には /etc/group ファイルが更新されます。

1. groupadd コマンドを使用して、新しいユーザーグループを追加します。形式は以下のとおりです。
コード:
groupadd オプション user group [ユーザーグループの追加後、chown コマンド、chgrp コマンドでユーザーをグループに割り当てます]
使用できるオプションは次のとおりです。
-g GID グループの識別番号を指定します (新しいユーザー グループの GID)。
-o は通常、-g オプションと一緒に使用され、新しいユーザー グループの GID がシステム内の既存のユーザー グループの GID と同じになる可能性があることを示します。
例 1:
# groupadd group1
このコマンドは、新しいグループ group1 をシステムに追加します。新しいグループのグループ識別番号は、現在の最大のグループ識別番号に 1 を加えたものに基づきます。
例 2:
# groupadd -g 101 group2
このコマンドは、新しいグループ group2 をシステムに追加すると同時に、新しいグループのグループ識別番号が 101 であることを指定します。2. 既存のユーザー
グループを削除する場合は、groupdel コマンドを使用します。形式は次のとおりです。コード: groupdel user group例: # groupdel group1このコマンドは、グループ group1 をシステムから削除します。3. groupmod コマンドを使用して、ユーザー グループの属性を変更します。その構文は次のとおりです。コード: groupmod オプション ユーザー グループ一般的に使用されるオプションは次のとおりです。-g GID は、ユーザー グループの新しいグループ識別番号を指定します。










-o オプションと -g オプションを同時に使用すると、ユーザー グループの新しい GID がシステム内の既存のユーザー グループの GID と同じになることがあります。
-n new user group ユーザーグループの名前を新しい名前に変更します。
例 1:
# groupmod -g 102 group2
このコマンドは、グループ group2 のグループ識別番号を 102 に変更します。
例 2:
# groupmod -g 10000 -n group3 group2
このコマンドは、group2 の識別番号を 10000 に、グループ名を group3 に変更します。
4. ユーザーが同時に複数のユーザー グループに属している場合、ユーザーは他のユーザー グループの権限を得るためにユーザー グループを切り替えることができます。ログイン後、ユーザーはコマンド newgrp を使用して他のユーザー グループに切り替えることができます。このコマンドのパラメータはターゲットユーザーグループです。
次に例を示します。
$ newgrp root
このコマンドは、root ユーザー グループが実際にユーザーのメイン グループまたは追加グループである場合に、現在のユーザーを root ユーザー グループに変換します。ユーザー アカウントの管理と同様に、ユーザー グループの管理も統合システム管理ツールを通じて行うことができます。

ファイルの属性と権限:

ファイルのアクセス許可と属性は Linux の非常に重要な部分です。今日は主に Linux ファイルの属性について見ていきます。

 

 

道具

  • Linux オペレーティング システム

方法/ステップ

  1. 基本的に、Linux プロパティを表示するにはルート ID を使用する必要があるため、最初のステップはルート ID としてログインすることです。

スールート

  1. まず、ファイルを表示するために一般的に使用される重要なコマンドである ls、ls はリストを意味し、ファイル名とファイルの関連属性を表示することに焦点を当てていることを理解します。

root として Linux にログインした後、ls -al を実行してコンテンツを表示します。

パラメーター -al を指定すると、隠しファイルを含むファイルの詳細な権限と属性がすべてリストされます (ファイル名の最初の文字が「.」であるファイルは隠しファイルです)。

 

 

  1. ls -al で表示される結果でファイル属性の概略図を参照してください。

列の最初の文字は、そのファイルが「ディレクトリ、ファイル、リンクされたファイルなど」であることを示します。

[d] の場合、レコードがディレクトリであることを意味します。

[-] の場合はファイルであることを意味します。

[ l ]の場合はリンク ファイル (linkfile) として表現されます。

[b] の場合は、デバイス ファイルに保存できるインターフェイス デバイスを意味します。

[c]の場合は、デバイスファイル内のキーボードやマウスなどのシリアルポートデバイスを意味します。

次の文字は 3 つのグループに分かれており、すべて「rwx」です。

ここで、[r] は読み取り可能 (読み取り) を表します。

ここで、[w] は書き込み可能 (書き込み) を表します。

ここで、[x] は実行可能ファイル (実行) を表します。

これら 3 つの権限の位置は変わりません。該当する権限がない場合はマイナス記号 [-] が表示されます

 

  1. 2 番目の列は、このノード (i ノード) に接続されているファイル名の数を示します。

3 番目のリストは、このファイル (またはディレクトリ) の「所有者アカウント」を示します。

4 番目のリストは、このファイルが属するユーザー グループを示します。

5 列目はこのファイルのサイズで、デフォルトの単位は B です。

6 番目の列は、ファイルの作成日またはこのファイルの最新の変更日です。

7列目はファイル名です

  1. ls の詳細な使用法については、man ls を使用して詳細を確認することもできます。

 

Linux では、各ファイル、特にユーザー グループに多くの属性が追加されます。ユーザー グループの最大の用途は「データ セキュリティ」です。チーム内に開発チームがいる場合、特定のディレクトリ内のファイルを全員が使用できるようにしたいが、チームに属していない他の人はそのファイルを使用できないようにしたい場合は、チーム名【-rwxrwx---】

2.ファイルの属性と権限を変更する

ここでは、グループ、所有者、およびさまざまな ID のアクセス許可に一般的に使用されるいくつかのコマンドを紹介します。次のように

chgrp: ファイルが属するグループを変更します

chown: ファイル所有者を変更する

chmod:ファイルのアクセス許可を変更します 

1.chmodコマンド

chmod コマンドは非常に重要で、ファイルまたはディレクトリのアクセス許可を変更するために使用されます。ユーザーはこれを使用して、ファイルまたはディレクトリへのアクセスを制御します。このコマンドには 2 つの用途があります。1 つは文字や演算子式を含むテキスト設定方法、もう 1 つは数字を含む数値設定方法です。

テキストの設定方法

chmod [who] [+ | - | =] [mode]

ファイル名コマンドの各オプションの意味は

次のいずれかの文字、またはそれらの組み合わせである操作対象です。

u は " を意味します。 user (user )」、ファイルまたはディレクトリの所有者。

g は「同じグループのユーザー」、つまりファイル所有者と同じグループ ID を持つすべてのユーザーを意味します。

○は「その他」を意味します。

a は「すべての(すべての)ユーザー」を意味します。これはシステムのデフォルトです。

アクション記号は次のとおりです。

+ 権限を追加します。

- 許可を取り消します。

= 指定されたアクセス許可を付与し、他のすべてのアクセス許可 (存在する場合) を取り消します。

次の文字を任意に組み合わせて、mode: r readable で示されるアクセス許可を設定できます



wは書き込み可能です。

xは実行可能です。

X x 属性は、オブジェクト ファイルが一部のユーザーに対して実行可能である場合、またはオブジェクト ファイルがディレクトリである場合にのみ追加されます。

■ ファイルの実行時に、プロセスの所有者またはグループ ID をファイルのファイル所有者として設定します。モード「u+s」はファイルのユーザー ID ビットを設定し、「g+s」はグループ ID ビットを設定します。

t プログラムのテキストをスワップデバイスに保存します。

u にはファイル所有者と同じ権限があります。

g には、ファイル所有者と同じグループ内のユーザーと同じ権限があります。

o 他のユーザーと同じ権限を持っています。

ファイル名: スペースで区切られたアクセス許可を変更するファイルのリスト。ワイルドカードがサポートされています。

複数の許可方法を 1 つのコマンド ラインでカンマで区切って指定できます。例: chmod g+r, o+r example により、

同じグループと他のユーザーがファイル example に対する読み取り権限を持つことができます。



数値の設定方法

0 は権限なし、1 は実行可能権限、2 は書き込み可能、​​4 は読み取り可能という数字で表される属性の意味を理解し、合計する必要があります。したがって、数値属性の形式は、0 ~ 7 の 3 つの 8 進数を (u)(g)(o) の順序で指定する必要があります。

 

たとえば、ファイルの所有者に「読み取り/書き込み」権限を与えたい場合は、4 (読み取り可能) + 2 (書き込み可能) = 6 (読み取り/書き込み) を設定する必要があります。デジタル設定方法の一般的な形式は次のとおりです。

chmod [モード] ファイル名

 

2.chgrpコマンド



機能: ファイルまたはディレクトリが属するグループを変更します。

構文: chgrp [オプション] group filename

このコマンドは、指定したファイルが属するユーザー グループを変更します。このうち、group には、ユーザー グループの ID、または /etc/group ファイル内のユーザー グループのグループ名を指定できます。ファイル名は、所属グループを変更するためにスペースで区切られたファイルのリストであり、ワイルドカードがサポートされています。ユーザーがファイルの所有者またはスーパーユーザーではない場合、ファイルのグループは変更できません。

このコマンドの各オプションの意味は次のとおりです。

- R 指定されたディレクトリとその下のすべてのサブディレクトリおよびファイルの属性グループを再帰的に変更します。

例 1: $ chgrp - R book /opt/local /book /

opt/local /book/ およびそのサブディレクトリ内のすべてのファイルのプロパティ グループを book に変更します。

3. chown コマンド

機能: ファイルまたはディレクトリの所有者とグループを変更します。このコマンドもよく使われます。たとえば、ユーザー root が自分のファイルをユーザー xu にコピーします。ユーザー xu がこのファイルにアクセスできるようにするには、root ユーザーはこのファイルの所有者を xu に設定する必要があります。そうしないと、ユーザー xu はこのファイルにアクセスできません。

構文: chown [オプション] ユーザーまたはグループ ファイルの

説明: chown は、指定されたファイルの所有者を指定されたユーザーまたはグループに変更します。user はユーザー名またはユーザー ID です。グループには、グループ名またはグループ ID を指定できます。ファイルは、アクセス許可を変更するファイルのスペースで区切られたリストであり、ワイルドカードがサポートされています。

このコマンドのオプションの意味は次のとおりです。

- R 指定されたディレクトリとその下のすべてのサブディレクトリおよびファイルの所有者を再帰的に変更します。

-v chown コマンドによって実行された作業を表示します。

例 1: ファイル shiyan.c の所有者を wang に変更します。

$ chown 王 shiyan.c

例 2: ディレクトリ /his とその下のすべてのファイルとサブディレクトリの所有者を wang に変更し、グループを users に変更します。

$ chown -R wang:users /his

 

 練習:

1 ~ 30の 3 で割り切れる数値を出力します

 

 

 

現在のユーザー ID を表示し、ログインしているユーザーを表示して、 root に切り替えます

変数 name を読み込み名前を入力する前に「名前を入力してください:」というプロンプト メッセージを表示します (入力名はピンイン形式です)。入力名の長さは9 に制限されています。

変数 mima を読み込み、mima を入力する前に「パスワードを入力してください:」というプロンプト メッセージを表示します(入力されたmimaはデジタル形式です)。入力されたmima長さは  6に制限され、画面には表示されません。パスワードを入力するとき。

変数 x ingbieを読み取り10 秒以内にx ingbieに値が割り当てられなかった場合は、x ingbie を空に設定します:

 

 ユーザー グループに属する 3 人のユーザー zte_a、zte_b、zte_c を作成します。


zte_c のユーザー名を zte_c_remend に変更し、zte_c_remend のグループを root に変更します。

 

 

3 人のユーザーにそれぞれ、ユーザー名と同じパスワードを設定します。

 

root ユーザーの下に time ディレクトリを作成し、time.txt および time2.txt ファイルを time ディレクトリ内に作成します。

root ユーザーが time ディレクトリ内の time.txt を書き込みできるようにします。同時に、他のユーザーは読み取り専用になります。

time2.txt の所有者を zte_a に変更し、 users ユーザー グループに属するユーザーのみに time2.txt ファイルの読み取りを許可します。他のユーザーには権限がありません。現時点での time2.txt に対する zte_a の権限は次のとおりです。

 

time2.txt に対する zte_a のパーミッションは次のとおりです: rwx

おすすめ

転載: blog.csdn.net/qq_52117201/article/details/128377824