Linuxアカウントと権限管理の知識が一目でわかります

記事ディレクトリ

1.ユーザーアカウントとグループアカウントの概要

(1)Linuxは、ユーザーIDに基づいてリソースアクセスを制御します

1.ユーザーアカウント
スーパーユーザー、通常ユーザー、プログラムユーザー

2.グループアカウント
基本グループ(プライベートグループ)
追加グループ(パブリックグループ)

3. UIDとGID
UID(ユーザ識別情報、ユーザ識別番号)
GID(グループは、グループ識別番号を特定します)

(2)ユーザーアカウント

スーパーユーザー:rootユーザーは、Linux
オペレーティングシステムデフォルトのスーパーユーザーアカウントであり、ホストに対する最高の権限を持っています。スーパーユーザーは、システム内の唯一のユーザーです。

通常のユーザー:rootユーザーまたは他の管理者ユーザーによって作成されたユーザーのアクセス許可は制限され、通常はユーザー自身のホームディレクトリでのみ完全なアクセス許可を持ちます。

プログラムユーザー:Linuxオペレーティングシステムと一部のアプリケーションをインストールすると、特定の低特権ユーザーアカウントが追加されます。これらのユーザーは通常、システムへのログインを許可されず、システムまたはbin、daemonなどのプログラムの通常の操作を維持するためにのみ使用されます。 、Ftp、メールなど。

グループアカウント
基本グループ(プライベートグループ):基本グループアカウントは1つだけで、通常はユーザーの作成時に指定されたグループです。/ etc / passwdファイルに記録されている4番目のフィールドは、ユーザーの基本グループGID番号です。

追加グループ(パブリックグループ):基本グループに加えて、ユーザーは指定されたグループを追加します。

UID:ユーザー識別番号
GID:グループ識別番号
ルートユーザーアカウントのUIDとGID番号は固定値です0
プログラムユーザーアカウントのUIDとGID番号はデフォルトで
1〜499です通常のユーザーUIDRGIDはデフォルトで500〜60000です

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

(1)ユーザーアカウントファイル/ etc / passwd

1.ユーザー名、ホストディレクトリ、ログインシェルなどの基本情報を保存します。
ファイルの場所:/ etc / passwd
各行はユーザーのアカウントレコードに対応します

[root@localhost~]# head-2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

2.ユーザーアカウントファイル/ etc / passwdは
、システムの運用と管理のニーズに基づいています。すべてのユーザーがpasswdファイルの内容にアクセスできますが、変更できるのはrootユーザーのみです。
初期のUNIXオペレーティングシステムでは、ユーザーアカウントのパスワード情報がpasswdファイルに保存されていました。悪意のあるユーザーは、パスワード文字列を簡単に取得してブルートフォースクラッキングを実行できるため、特定のセキュリティリスクがあります。改善後、パスワードは特別なシャドウファイルに転送され、パスワードプレースホルダー「x」のみがpasswdファイルに保持されました。

root:x:0:0:root:/root:/bin/bash
字段1:用户帐号的名称
字段2:用户密码占位符"x"
字段3:用户帐号的UID号
字段4:所属基本组帐号的GID号
字段5:用户全名
字段6:宿主目录
字段7:登录Shell 信息( /bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)

ここでは、catコマンドを使用して/ etc / passwdの内容を表示する必要があります
ここに写真の説明を挿入

(2)ユーザーアカウントファイル/ etc / shadow

1.ユーザーのパスワード、アカウントの有効期間、およびその他の情報を保存します。
ファイルの場所:/ etc / shadow
各行はユーザーのパスワードレコードに対応します

[root@localhost~]# head-2   /etc/shadow
[root@localhost-]# tail -1   /etc/shadow     

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:保留字段(未使用)

3.catを使用して/ etc / shadowを表示します。デフォルトでは、rootユーザーのみがファイルの内容を読み取ることができ、ファイルの内容を直接編集することはできません。
環境生産中にプログラムのアップグレード手順が失敗し、アカウントの有効期限が切れたというエラーメッセージが表示された場合は、アカウントを無期限に設定できます。つまり、5番目のフィールドを99999に変更します。これは、制限がないことを意味します。
ここに写真の説明を挿入

cd / etcの後で、llを使用してリストを表示すると、シャドウのアクセス許可が非常に高く、読み取り、編集、または実行できないことがわかりました。
ここに写真の説明を挿入

(3)、ユーザーアカウントを追加useradd

1.useraddコマンド

useradd  选项   用户名

2.一般的なオプション
-u、-d、-e、-g、-G、 -M、-s

[root@localhost~]#useradd  -d  /ftphome/mike  -g  mike  -G  ftpuser  -s   /sbin/nologin   mike

3.ユーザーアカウントuseraddまたはadduserを
追加して、/ etc / passwdファイルと/ etc / shadowファイルの最後にユーザーアカウントのレコード追加します。
ユーザーのホームディレクトリが明示的に指定されていない場合、ユーザーアカウントと同じ名前のホームディレクトリが/ homeディレクトリに自動的に作成され、ユーザーのさまざまな初期構成ファイルがこのディレクトリに作成されます。
ユーザーが属するグループが明確に指定されていない場合、ユーザーアカウントと同じ名前の基本グループアカウントが自動的に作成され、グループアカウントのレコード情報が/ etc / groupファイルと/ etc / gshadowファイルに保存されます。

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

-M:ホストディレクトリを作成しません。
-s:ユーザーのログイン
シェルを指定します(たとえば、/ bin / bashはログインシステムであり、/ sbin / nologinおよび/ bin / falseはユーザーがシステムにログインすることを禁止されています)。

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

6. useraddを使用して「lisi」という名前のユーザーを追加してから、cat / etc / passwdコマンドを使用して、lisiユーザーが正常に追加されたことを確認します。
ここに写真の説明を挿入
ここに写真の説明を挿入

7. -dを使用してディレクトリを指定し、-gを使用して基本グループlisiを指定し、-Gを使用して追加のグループzhangsanを指定し、-uを使用してユーザーUID番号を指定します(UID番号は繰り返すことができず、一意である必要があることに注意してください)。最後にadmin5が新しく作成されます。ユーザー名
ここに写真の説明を挿入
ここに写真の説明を挿入

(4)の設定/変更ユーザーのパスワードpasswdの

1.passwdコマンド

passwd 选项 用户名

2.一般的なオプション:
-d、-l、S、-u
-d:指定されたユーザーのパスワードをクリアし、ユーザー名のみを使用してシステムにログインします。
-l:ユーザーアカウントをロックします。ロックされたユーザーアカウントはシステムにログインできなくなります。
-S:ユーザーアカウントのステータスを表示します(ロックされているかどうか)
。-u:ユーザーアカウントのロックを解除します。
ユーザー名が指定されていない場合、現在のアカウントのパスワードが変更されます。

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

4.ユーザーパスワードの方法2を設定します。echo "password" | passwd --stdin username

5.前に作成したlisiユーザーのパスワードを設定します。次に、対応する仮想のパスワードを使用してlisiユーザーアカウントにログインできます。
ここに写真の説明を挿入
ここに写真の説明を挿入
-dコマンドを使用して、lisiユーザーのパスワードをクリアします。
ここに写真の説明を挿入
他のいくつかのオプションを試してください。
ここに写真の説明を挿入

(5)ユーザーアカウントusermodの属性を変更します

1.usermodコマンド

usermode  选项  用户名

2.一般的なオプション
-l、-L、-U
3.次のオプションは、useraddコマンドの場合と同じ意味です
-U、-d、-e、-g、-G、-s

4.ユーザーアカウント属性の変更usermod-
u:ユーザーのUID番号の
変更-d:ユーザーのホームディレクトリの場所の変更。
-e:ユーザーのアカウントの有効期限を変更します。日付形式YYYY-MM-DDを使用できます。
-g:ユーザーの基本グループ名を変更します(またはGID番号を使用します)
-G:ユーザーの追加グループ名を変更します(またはGID番号を使用し
ます-s:ユーザーのログインシェルを指定します。
-l:ユーザーアカウントのログイン名を変更します
-L:ユーザーアカウントをロックします
-U:ユーザーアカウントのロックを解除します

5. -lコマンドを使用して、lisiのユーザー名をwangwuに変更します。ユーザー名を変更した後、元のlisiのUIDとGIDは変更されません。
ここに写真の説明を挿入
ここに写真の説明を挿入

(6)ユーザーアカウントuserdelを削除します

1.userdelコマンド

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

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

1.ファイルソース
1)useraddコマンドは、新しいユーザーアカウントを追加し、ユーザーのホームディレクトリにいくつかの初期構成ファイルを作成します。これらのファイルはアカウントテンプレートディレクトリ/ etc / skellから取得され、基本的に非表示のファイルです。
2)メインユーザー初期プロファイル
〜/ .bash_profileを
〜/ .bashrcに
〜/ .bash_logout

2.ユーザーのホームディレクトリの下にある初期構成ファイルは、現在のユーザーに対してのみ有効です(つまり、lisiホームディレクトリの下にある構成ファイルはlisiにのみ役立ちます
〜/ .bash_profile
このファイルのコマンドは、ユーザーがログインするたびに実行されます。いくつかの環境変数を設定し、ユーザーの〜/ .bashrcファイルを呼び出します

〜/ .bashrc
このファイルのコマンドは、新しいbashシェル(ログインシステムを含む)が開かれるたびに実行され、/ etc / bashrcファイルが呼び出されます。

〜/ .bash_logout
このファイルのコマンドは、ユーザーがbashシェルからログアウトまたは終了するたびに実行されます。

グローバル構成ファイルは、すべてのユーザーに有効です。/etc
/ profile
このファイルは、システムを再起動するか、source / etc / profileコマンドを実行することで読み取ることができるシステムグローバル変数の構成ファイルです。


ファイル/etc/profile.dは、実際には/ etc / profileのサブディレクトリであり、一部のアプリケーションで必要な起動スクリプトが格納されています。

/ etc / bashrc
bashシェルを実行するすべてのユーザーがこのファイルを実行します。bashコマンドを実行して新しいbashシェルを開くと、bashrcファイルを読み取ることができます。

vim / etc / bashrc
エイリアスmyls = '/ bin / ls -lhrt'

bash
タイプのmyls

PATH変数は、実行可能プログラムのデフォルトの検索パスを設定するために使用されます
。PATHが有効になる原則:
システムが起動するたびに、コマンドが初期化され、/ etc / profileと〜/ .bash_profileが実行されます。/ etc / profileは、パス/ usr / local / bin、/ usr / bin、/ usr / local / sbin、および/ usr / sbinをPATHに追加します。次に、/ etc /profile.dディレクトリのスクリプトを呼び出します。

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

(1)ユーザーアカウントファイルと同様

/ etc / group:グループアカウントの基本情報を保存します
/ etc / gshadow:グループアカウントのパスワード情報を保存します

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

grep "postfix"  /etc/group
mail:x:12:postfix
postfix:x:89:
字段1:组帐号的名称
字段2:占位符"x"
字段3:组账号的GID
字段4:组账号包含的用户成员(一般不包括基本组对应的用户帐号) ,多个成员之间以逗号","分隔

照会するグループを基本グループとして使用する場合、その基本グループのメンバーは表示されず、追加グループのメンバーのみが表示されます。
ここに写真の説明を挿入

(2)、グループアカウントを追加groupadd

1.groupaddコマンド

groupadd  [-g  GID]  组账号名

2.例

groupadd  -g 1000  market     #添加组账号market  ,-g:指定GID号
tail  -1  /etc/group
market:x:1000:

3.グループアカウントを追加しますgroupadd-
g:GID番号を指定します

(3)、グループメンバーの追加と削除gpasswd

1. gpasswdコマンド
は、グループアカウントのパスワード(めったに使用されません)を設定し、グループメンバーを追加および削除します

gpasswd  选项  组账号名

2.一般的なオプション
-a:グループにユーザーを追加します
-d:グループからユーザーメンバーを削除します
-M:コンマで区切られたグループメンバーのリストを定義します

admin5を削除するときは、対応するグループ名zhangsanを追加します。
ここに写真の説明を挿入

-Mコマンドを使用して、グループメンバーを上書きします
ここに写真の説明を挿入

(4)グループアカウントgroupdelを削除します

1.groupdelコマンド

groupdel  组账号名

2.例

groupdel  market     #删除组账号market
grep "market" /etc/group  

4、アカウント情報を照会する

(1)、グループコマンド

ユーザーが属するグループを照会します

groups  用户名

ユーザーIDを照会する

id  用户名

グループを使用してグループアカウント情報を照会します(必要に応じて、フィルターにgrepを追加できます)。
ここに写真の説明を挿入

idを使用してグループ情報を照会します。
ここに写真の説明を挿入

(2)、指コマンド

1.ユーザーアカウントのログイン属性を照会します。
注:最初にfingerパッケージをインストールする必要があります(yum install -y fingerはfingerパッケージをインストールします)

finger   用户名

フィンガーパッケージをインストールします。
ここに写真の説明を挿入

(3)、w、who、usersコマンド

ホストにログインしたユーザーの情報を照会する

補足:通常、ttyを使用してさまざまなタイプの端末デバイス(Centos7システム)を参照します。tty1はグラフィカルインターフェイスを意味し、tty2-tty6はテキストインターフェイスを意味します。ctrl+ Alt + F1-F6を使用して切り替えることができます。
Ctrl + Alt + F2を押してログインし、wコマンドを実行して、使用されている端末がtty2であることを確認します。

ptsは、xshellなどのリモートツールに接続されていることを示します。ログインの時系列を表す後の数字は、小さいほどログインが早いことを示します。

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

(1)アクセス権限

読み取りr:ファイルの内容の表示とディレクトリリストの表示を
許可します書き込みw:ファイルの内容の変更を許可し、ディレクトリ内のファイルまたはサブディレクトリの作成、移動、削除を許可します
実行可能x:プログラムの実行とディレクトリの切り替えを許可します

読んだ 書く 実施した
r w バツ -
4 2 1 0

(s)setuid:このビットにより、通常のユーザーは、rootアカウントのみがrootユーザーとして実行できるプログラムまたはコマンドを実行できます。

(2)帰属(所有権)

1.所有者:ファイルまたはディレクトリを所有するユーザーアカウント
2.所有権:ファイルまたはディレクトリを所有するグループアカウント

(3)ファイル/ディレクトリの権限と所有権を表示する

ls  -l  install.log 
-rw-r--r--  1  root  root   34298  04-02  00:23   install.log    #  -rw-r--r-- :文件类型、权限    root  root   属主、属组

ここに写真の説明を挿入

(4)ファイルとディレクトリの所有権をchownに設定します

1.chownコマンド

chown  属主  文件或目录
chown  :属组   文件或目录
chown  属主:属组   文件或目录

2.共通オプション
-R:指定されたディレクトリ内のすべてのファイルとサブディレクトリの所有権を再帰的に変更します

3.例:wangwuの所有者をgccに変更します
ここに写真の説明を挿入

(5)ファイルまたはディレクトリのアクセス許可を設定するchmod

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

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

"rwx"是权限的字符组合形式,也可以拆分使用,如""rx"等。

2. chmodnnnファイルまたはディレクトリ

-R:指定されたディレクトリ内のすべてのサブディレクトリとファイルの権限を再帰的に変更します

3.例(wangwuの権限を最高の権限に変更し、+ 777)
ここに写真の説明を挿入

(6)ディレクトリとファイルのデフォルトの権限umaskを設定します

1. Umask関数:
新しいファイルまたはディレクトリを
作成するときに、現在のユーザーの権限のデフォルト値を指定します。新しく作成されたファイルまたはディレクトリの権限は、デフォルトの最大権限からumakeを引いたものです(通常のファイルの最大デフォルト権限は6、ディレクトリの最大デフォルト権限は7です)。
ここに写真の説明を挿入
ここに写真の説明を挿入

  2.umask設定:: umask 022
3. umask表示:umask
4.例
umask000を設定し、新しいディレクトリまたはファイルを作成し、権限を表示します
  umaskを022に設定し、新しいディレクトリまたはファイルを作成してから、権限を表示します

おすすめ

転載: blog.csdn.net/Gengchenchen/article/details/109922618