Linuxのグループとユーザーの分析


1.はじめに
今週、LINUXのユーザーとグループの管理を学んで、多くの新しいものに接触して、頭の中の知識は少し乱れて、1篇のブログを書くつもりで、1理の構想を整理します.
2.いくつかの観点
第一に、WINDOWSのGUIにしても、LINUXのCOMMAND LINEにしても、ユーザーのリクエストは最終的にこのように実現されます.
USER-->PROCESS-->KENEL
つまり、プロセスはユーザーの要求をエージェントし、オペレーティングシステムと付き合います.各プロセスにはユーザー表示が必要です.
第二に、オペレーティングシステムを起動すると、ログインしなくても、バックグラウンドで実行されるプロセス(またはサービス)があることを知っています.では、これらのプロセスのユーザー表示は何ですか?
rootの場合、これらのプロセスはすべての権利を有し、悪意のあるコードにハイジャックされると、システムにセキュリティの問題が発生します.
rootユーザーではない以上、どんなユーザーですか?
第三に、LINUXのユーザーは、管理者と一般ユーザーに分けることができます.
管理者はrootユーザーです.
一般ユーザーは、システムユーザーと一般ユーザーに分けることもできます.
システムユーザは、一般にシステムにログインする必要はありません.すなわち、第2のポイントのバックグラウンドプロセスは、システムユーザとして起動する必要があります.
一般ユーザーはシステムにログインできます.
3.ユーザーはどのようにログインパスワードの検証を行いますか?
第一に、/etc/passwdは、その名の通り、ユーザーのパスワードがここに保存されているようです.
[root@localhost ~]# ls -l /etc/passwd
-rw-r--r-- 1 root root 2426 May 16 10:34 /etc/passwd
[root@localhost ~]#

第二に,/etc/passwdの権限を観察すると,どのユーザでもreadが可能であることが分かった.もしパスワードが本当にここに置いてあったら、安全ですか?
第三に、/etc/passwdの内容を表示する
zhangfengzhe:x:500:500:redhat:/home/zhangfengzhe:/bin/bash
test:x:502:502::/home/test:/bin/bash
p1:x:503:503::/home/p1:/bin/bash
p2:x:504:503::/home/p2:/bin/bash

具体的な各フィールドの意味は、manで章の表示を指定すればよい.
2番目はパスワードで、ほとんどがXで、これは実はパスワードプレースホルダを表しています.
すなわち,/etc/passwdではパスワードが見えない.
では、パスワードはどこですか?
第四に、LINUXには影のパスワードの概念があります./etc/shadowを見てみましょう.
第五に、redhatのパスワード暗号化方式はMD 5である.(message digest,情報要約,5 stands for version)
第6に、md 5という暗号化方式、すなわち一方向の暗号化であり、初期条件の微小な変化が結果の大きな変化をもたらす特徴がある.このバタフライ効果(あるいは雪崩効果)だからこそ、逆解SO HARD~
第七に、/etc/shadowファイルの内容を見てみましょう.
zhangfengzhe:$1$1LQD2zT0$7JhMdPOHiNlMHpVc/9tJd/:16205:0:99999:7:::
test:!!:15396:0:99999:7:::
p1:$1$oti0SlMg$O6Dha9wv6zKl8Wlneb0uB0:15397:0:99999:7:::
p2:$1$JFfa13Xt$Y27d9W5LAQWn6d/WPXTVE0:15397:0:99999:7:::

第八に、user 1ユーザーがこのshadowファイルを見て、USER 2ユーザーのパスワード列が彼と同じであることを発見したら、彼らのパスワードが一致していると思いますか?
覚えておいてください.農夫の山泉は少し甘いので、LINUXはパスワードに塩を加えます.
実際、LINUXはパスワードを暗号化する際に不純物(salt、塩という用語)になり、salt+your passwdをMD 5暗号化します.
この不純物はランダムである.
第九に、when the user login LINUX、the kernel will get your password and salt、then have the md 5 sum to compare it in/etc/shadow.
if they are equal,you can login success.
ユーザーがログインしてパスワードチェックを行うプロセスです.
4.一部のファイル
ユーザー、グループに関連するファイルは主に/etc/passwd、/etc/shadow、/etc/group、/etc/gpasswdです.
/etc/passwd:
主にユーザー関連情報に注目します.
usename,user id,groupid,home,shell
注意groupidは、ユーザの基本グループID(デフォルトグループ)である.
shellでは特に/sbin/nologinに注意し、ユーザーがログインできないことを示しています(一般的にはシステムユーザーです)
USERIDは事実上分類もあり、0はrootを表し、1-499はシステムユーザーを表し、500~6 Wは一般ユーザーを表す.
/etc/shadow:
主にパスワードに関する情報に注目します.
パスワードビットなら、はい!!または*、このユーザーはロックされ、ログインできません.パスワードが空の場合、LINUXのログイン規則により、空パスワードのログインが禁止され、システムにログインできません.
【上記の理論によれば、1人のユーザがシステムにログインできないように手動で行うことができます.実際にはコマンドはファイルの変化に反映されます】
パスワードのいくつかの時間、例えば修正、最短使用期限、最長使用期限、警告、期限切れ猶予、失効時間.
/etc/groupおよび/etc/gpasswd
グループ情報、グループパスワード情報.
質問?グループはユーザーではなく、ログインしません.なぜパスワードが必要ですか?
次の例を見てください.
[root@localhost ~]# su - zhangfengzhe8
[zhangfengzhe8@localhost ~]$ touch abc.txt
[zhangfengzhe8@localhost ~]$ ls -l abc.txt
-rw-rw-r-- 1 zhangfengzhe8 zhangfengzhe8 0 May 16 11:44 abc.txt
[zhangfengzhe8@localhost ~]$ newgrp mygroup
Password:
[zhangfengzhe8@localhost ~]$ touch abc2.txt
[zhangfengzhe8@localhost ~]$ ls -l abc2.txt
-rw-r--r-- 1 zhangfengzhe8 mygroup 0 May 16 11:45 abc2.txt
[zhangfengzhe8@localhost ~]$

実際には,ユーザの基本グループをG 1に一時的に切り替えることができるが,このユーザがG 1グループに属しておらず,付加グループもG 1に含まれていない場合はパスワードが必要である.
5.いくつかのコマンド
useradd
useradd equals adduser.常用-u,-g,-G,-d,-s
userdel
注意-r、ホームを削除するかどうか
usermod
useraddオプションとの差は多くありませんが、ユーザーの追加グループを再修正するか、追加するか、上書きするかに注意してください.-rオプションを使用します.
idfingerid usernamefinger username
ユーザー情報の表示
.....
私のこれからのブログを見てください...