Linux--アカウントと権限の管理-ユーザーアカウントとグループアカウント-ディレクトリとファイルの権限と所有権

記事ディレクトリ


序文

  • マルチユーザー、マルチタスクサーバーオペレーティングシステムとして、Linuxシステムは厳格な権限管理メカニズムを提供します
  • 主に、ユーザーIDとファイル権限の2つの側面からリソースアクセスを制限します

1.ユーザーアカウントを管理する

1.ユーザーアカウントの概要

  • Windowsオペレーティングシステムと比較すると、Linuxシステムでのユーザーアカウントとグループアカウントの役割は基本的に同じです。
  • 同じことがリソースへのアクセスを制御するためのユーザーIDに基づいていますが、表現の形式と個々の詳細にいくつかの違いがあります

1.1ユーザーアカウント

Linuxシステムでは、ユーザーアカウントはシステム管理のニーズに応じてさまざまなタイプに分類され、その権限と役割も異なります。主に次の3つのカテゴリが含まれます。

  • スーパーユーザー:
    rootユーザーはLinux
    オペレーティングシステムデフォルトのスーパーユーザーアカウントであり、ホストに対する最高の権限を持っています。スーパーユーザーはシステム内で唯一のアカウントです。
  • 通常のユーザーは
    rootユーザーまたは他の管理者ユーザーによって作成され、それらのアクセス許可は制限されます。通常、ユーザー自身のホームディレクトリでのみ完全なアクセス許可を持ちます。
  • プログラムユーザー
    は、Linuxオペレーティングシステムと一部のアプリケーションをインストールするときに、特定の低特権ユーザーアカウントを追加します。これらのユーザーは通常、システムへのログインを許可されておらず、システムまたはbin、daemonなどのプログラムの通常の操作を維持するためにのみ使用されます。 ftp、mailなど。

1.2UID番号

  • Linuxシステムのすべてのユーザーアカウントには、UID(ユーザーIDエンティティ、ユーザーID番号)と呼ばれるデジタルIDマークがあります。
  • システムでは、ユーザーを区別するための基本的な基準としてUIDが使用されます。原則として、各ユーザーのUID番号は一意である必要があります。
  • rootが使用するUID番号は0の固定値です。プログラムユーザーアカウントのUID番号はデフォルトで1〜999です。通常のユーザーのデフォルトUIDは1000〜60000です。

1.3ユーザーアカウントファイル

Linuxでは、システム内のユーザーアカウント、パスワード、およびその他の情報を応答構成ファイルに保存する必要があります。これらのファイルを直接変更するか、ユーザー管理コマンドを使用して、ユーザーアカウントを管理できます。

1.3.1ユーザーアカウントファイル-/ etc / passwd

  • ユーザー名、ホームディレクトリ、ログインシェルなどの基本情報を保存します
  • ファイルの場所:/ etc / passwd
  • 各行はユーザーのアカウントレコードに対応します
[root@localhost~]# head-2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

1.3.2ユーザーアカウントファイル-/ etc / shadow

  • デフォルトでは、rootユーザーのみがシャドウファイルの内容を読み取ることができます
  • また、ファイル内のコンテンツを直接編集することは許可されていません
root: $6$VyOUGgOC$v5H1LM1wagZc/FwGfnrtJFn1T:18445:0:99999:7:::
字段1:用户帐号的名称
字段2:使用MD5加密的密码字串信息,当为"*"或"! "时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统
字段3:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数
字段4:密码的最短有效天数, 自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制
字段5:密码的最长有效天数, 自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制
字段6:提前多少天警告用户密码将过期,默认值为7
字段7:在密码过期之后多少天禁用此用户
字段8:帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算) ,默认值为空,表示账号永久可用。
字段9:保留字段(未使用)
  • catを使用して/ etc / shadowを表示します。デフォルトでは、rootユーザーのみがファイルの内容を読み取ることができ、ファイルの内容を直接編集することはできません。
  • 環境生産中にプログラムアップグレードプログラムが失敗し、アカウントの有効期限が切れたというエラーメッセージが表示された場合は、アカウントを無期限に設定できます。つまり、5番目のフィールドを99999に変更します。これは、制限がないことを意味します。
  • Shadowの権限は非常に高く、読み取り、編集、または実行することはできません。

2.ユーザーアカウント管理

2.1ユーザーアカウントの追加-useradd

  • 基本的なコマンド形式:
useradd [选项] 用户名

最も簡単な使用法は、オプションを追加せず、useraddコマンドのパラメーターとしてユーザー名のみを使用し、システムのデフォルト構成に従って指定されたユーザーアカウントを作成
することです。useraddコマンドを使用してユーザーアカウントを追加すると、主に次のタスクが完了します
。1。/ etc /内passwdファイルと/ etc / shadowファイルの最後にユーザーアカウントのレコードを追加します
。2。ユーザーのホームディレクトリが明示的に指定されていない場合、ユーザーアカウントと同じ名前のホームディレクトリが/ homeディレクトリに自動的に作成され、このディレクトリに作成されます。ユーザーのさまざまな初期構成ファイル
3.ユーザーが属するグループが明確に指定されていない場合、ユーザーアカウントと同じ名前の基本グループアカウントが自動的に作成され、グループアカウントのレコード情報が/ etc / groupファイルと/ etc / gshadowファイルに保存されます。

一般的なオプション 説明
-u ユーザーのUID番号を指定し、そのUID番号が他のユーザーによって使用されないようにする必要があります
-d ユーザーのホームディレクトリの場所を指定します(-Mと一緒に使用すると、有効になりません)。ディレクトリの指定には絶対パスのみを使用してください
-e ユーザーのアカウントの有効期限を指定します。日付形式YYYY-MM-DDを使用できます
-g ユーザーの基本グループ名を指定します(またはGID番号を使用します)。対応するグループ名がすでに存在している必要があります
-G ユーザーの追加のグループ名を指定します(またはGID番号を使用します)。対応するグループ名はすでに存在している必要があります
-M ホームディレクトリを作成しないでください
-s 指定されたユーザーのログイン

シェル(たとえば、/ bin / bashはログインシステムであり、/ sbin / nologinおよび/ bin / falseは、ユーザーがシステムにログインすることを禁止されています)

  • useraddまたはadduserを使用してユーザーを追加する場合、ユーザーはアクティブ化されていないため、操作を実行できません。ユーザーがパスワードで構成された後でのみ、アクティブ化して操作できます。

2.2ユーザーパスワードの設定/変更-passwd

  • useraddコマンドでユーザーアカウントを追加した後、通常使用するためのパスワードを設定する必要があります
  • passwdコマンドを使用して、パスワードを設定または変更します。rootユーザーには、他のアカウントのパスワードを管理する権限があります(アカウント名をパラメーターとして指定するだけです)。
pawwd [选项] 用户名
一般的なオプション 説明
-d 指定したユーザーのパスワードをクリアし、ユーザー名のみでシステムにログインします
-l ユーザーアカウントをロックすると、ロックされたユーザーアカウントはシステムにログインできなくなります
-S ユーザーアカウントのステータスを表示する(ロックされているかどうか)
-u ユーザーアカウントのロックを解除する

ユーザー名が指定されていない場合、つまり現在のアカウントのパスワードを変更する場合
rootユーザーは、指定されたアカウントのパスワードを管理するためのパラメーターとしてユーザー名を指定できます。ユーザー名が指定されていない場合、現在のアカウントのパスワードは
通常のユーザーのみが変更できます。自分のパスワードを変更するためのpasswd "コマンド

  • ユーザーパスワードの方法2を設定します。
echo “密码” | passwd --stdin 用户名

2.3ユーザーアカウント属性の変更-usermod

  • システムにすでに存在するユーザーアカウントの場合、usermodコマンドを使用してさまざまな属性をリセットできます。
  • usermodコマンドを使用する場合、そのオプションのほとんどはuseraddコマンドのオプションに対応し、機能は類似しています。
一般的なオプション 説明
-u ユーザーのUID番号を変更する
-d ユーザーのホームディレクトリの場所を変更する
-e ユーザーのアカウントの有効期限を変更します。日付形式YYYY-MM-DDを使用できます
-g ユーザーの基本グループ名を変更します(またはGID番号を使用します)
-G ユーザーの追加のグループ名を変更します(またはGID番号を使用します)
-s 指定されたユーザーのログインシェル
-l ユーザーアカウントのログイン名を変更する
-L ユーザーアカウントをロックする
-U ユーザーアカウントのロックを解除する

-lコマンドを使用してユーザー名を変更した後、元のUIDとGIDは変更されません

2.4ユーザーアカウントの削除-userdel

userdel  -r  用户名
#添加 -r 选项时,表示连用户的宿主目录一并删除

2.5ユーザーアカウントの初期設定ファイル

  1. ファイルソース
1.useradd 命令添加一个新的用户账号后在该用户的宿主目录中建立一些初始配置文件
这些文件来自于账号模板目录/etc/skell,基本上都是隐藏文件  

2.主要的用户初始配置文件
~/.bash_profile
~/.bashrc
~/.bash_logout
  1. ユーザーのホームディレクトリにある初期構成ファイルは、現在のユーザーに対してのみ有効です。
~/.bash_profile  
此文件中的命令将在该用户每次登录时被执行,它会设置一些环境变量,并且会调用该用户的~/.bashrc文件

~/.bashrc  
此文件中的命令会在每次打开新的bash shell 时(也包括登录系统)被执行,并且会调用/etc/bashrc文件

~/.bash_logout
此文件中的命令将在用户每次退出登录或退出bash shell时执行
  1. グローバル構成ファイルは、すべてのユーザーに有効です。
/etc/profile
这个文件是为系统全局变量配置文件,可通过重启系统或者执行 source /etc/profile 命令使profile文件被读取

/etc/profile.d
这个文件实际上是 /etc/profile 的子目录,存放的是一些应用程序所需的启动脚本

/etc/bashrc
每一个运行bash shell的用户都会执行此文件,可通过执行bash 命令打开一个新的bash shell 时,使bashrc文件被读取

vim /etc/bashrc
alias myls=’/bin/ls -lhrt’

bash
type myls
  1. PATH変数は、実行可能プログラムのデフォルトの検索パスを設定するために使用されます
  2. PATHの効果:
每次启动系统的时候会初始化命令,会执行 /etc/profile 和 ~/.bash_profile
/etc/profile会将路径 /usr/local/bin、/usr/bin、 /usr/local/sbin、/usr/sbin追加到PATH中去
然后调用 /etc/profile.d 目录下的脚本

2、管理グループアカウント

1.グループアカウント管理

  • グループアカウントコマンドの使用は比較的少ない
  • ユーザーアカウントの場合、対応するグループアカウントは、基本グループ(プライベートグループ)と追加グループ(パブリックグループ)の2つのタイプに分けることができます。
  • 各ユーザーアカウントは複数のグループアカウントのメンバーになることができますが、基本的なグループアカウントは1つだけです。
  • 「/ etc / passwd」ファイルの4番目のフィールドは、ユーザーの基本グループGID番号です。
  • ユーザーが属する追加のグループについては、対応するアカウントのファイルに反映する必要があります

1.1グループアカウントファイル

グループアカウントに関連する次の2つの構成ファイルがあります

  • / etc / group:グループアカウント名、GID番号、グループメンバーなどの基本情報を保存します
  • / etc / gshadow:グループアカウントの暗号化されたパスワード文字列などの情報を保存します(めったに使用されません)
grep "postfix"  /etc/group
mail:x:12:postfix
postfix:x:89:
字段1:组帐号的名称
字段2:占位符"x"
字段3:组账号的GID
字段4:组账号包含的用户成员(一般不包括基本组对应的用户帐号) ,多个成员之间以逗号","分隔
  • 照会するグループを基本グループとして使用する場合、その基本グループのメンバーは表示されず、追加グループのメンバーのみが表示されます。

1.2グループアカウントの追加-groupadd

  • グループアカウントを追加できます。GID番号を指定する必要がある場合は、「-g」オプションを使用できます。
groupadd  [-g  GID]  组账号名

1.3グループメンバーの追加、設定、削除-gpasswd

  • gpasswdコマンドは、もともとグループアカウントのパスワードを設定するために使用されていましたが、この機能が使用されることはめったにありません。実際、このコマンドは、グループアカウントのユーザーメンバーを管理するために使用されます。
gpasswd  选项  组账号名
一般的なオプション 説明
-a グループにユーザーを追加する
-d グループからユーザーメンバーを削除します
-M グループメンバーのリストをコンマで区切って定義します

1.4グループメンバーの削除-groupdel

groupdel  组账号名

2.アカウント情報を照会する

2.1ユーザーアカウントのIDIDを照会する

  • 指定したユーザーアカウントのUID、GID、その他の識別情報をすばやく表示できます
id 用户名

2.2ユーザーアカウントが属するグループを照会する-グループ

  • ユーザーが属するグループを照会します
groups  用户名

2.3ユーザーアカウントフィンガーのログイン属性を照会する

  • ログイン名、フルネーム、ホストディレクトリ、ログインシェルなど、ユーザーアカウントのログイン属性などの詳細情報を照会します。
finger   用户名
  • figerパッケージをインストールします
yum -y install finger

2.4現在のホストのユーザーログインステータスを照会する-w、who、users

  • ホストにログインしたユーザーの情報を照会する
补充:通常使用tty来简称各种类型的终端设备,,Centos7系统, tty1表示图形界面,,tty2-tty6表示文字界面,可以用ctrl+Alt+F1-F6切换。
按Ctrl+Alt+F2登陆,执行w命令,查看使用的终端就是tty2

pts说明是用远程工具连接的,比如xshell,后面的数字代表登录的时间顺序,越小证明登录的越早

3.ディレクトリとファイルの権限と所有権

  • Linuxファイルシステムのセキュリティモデルでは、システム内のファイルに2つの属性が割り当てられます。アクセス許可とファイル所有者で、略して「許可」および「属性」と呼ばれます。
  • その中で、アクセス許可には、読み取り、書き込み、実行可能の3つの基本的なタイプがあります。属性には、所有者(ファイルを所有するユーザーアカウント)とグループ(ファイルを所有するグループアカウント)が含まれます。
  • Linuxシステムは、ファイルまたはディレクトリのアクセス権と所有権に従って、データへのユーザーアクセスのプロセスを制御します。

1.ファイルの権限と所有権を表示する

ls  -l  install.log 
-rw-r--r--  1  root  root   34298  04-02  00:23   install.log    

#  -rw-r--r-- :文件类型、权限    root  root   属主、属组

マーク

2.ファイルの権限と所有権を設定します

2.1ファイル権限の設定-chmod

chown  属主  文件或目录
chown  :属组   文件或目录
chown  属主:属组   文件或目录
  • 一般的なオプション:
    -R:指定したディレクトリ内のすべてのファイルとサブディレクトリの所有権を再帰的に変更します

2.2ファイルchownの所有権を設定します

chmod   [ugoa...]    [+-=]    [rwx]    文件或目录
"ugoa"表示该权限设置所针对的用户类别。"u"代表文件属主,"g"代表文件属组内的用户, "o"代表其他任何用户,,"a"代表所有用户(缺省时为a)。

"+-="表示设置权限的操作动作。“+"代表增加相应权限,"-"代表减少相应权限, "="代表仅设置对应的权限。

"rwx"是权限的字符组合形式,也可以拆分使用,如""rx"等。
  • chmod nnnファイルまたはディレクトリ
    -R:指定されたディレクトリ内のすべてのサブディレクトリおよびファイルのアクセス許可を再帰的に変更します
  • xcfユーザーの権限を最高の権限に変更します:
    chmod +777 xcf

2.3ディレクトリとファイルのデフォルトの権限を設定する-umask

  • 新しいファイルまたはディレクトリを作成するときに、現在のユーザーの権限のデフォルト値を指定します
  • 新しく作成されたファイルまたはディレクトリの権限は、デフォルトの最大権限からumakeを引いたものです(通常のファイルの最大デフォルト権限は6、ディレクトリの最大デフォルト権限は7です)
umask设置::umask 022
umask查看: umask

将umask000,新建目录或者文件,查看权限
将umask设为022,新建目录或者文件,再查看权限

おすすめ

転載: blog.csdn.net/weixin_51486343/article/details/112155720
おすすめ