Linux学習ノート(三):権限管理(ファイルディレクトリ権限、ユーザー権限)
前編では、ファイルとディレクトリの簡単な操作について簡単に説明し、次にユーザーとファイル権限の管理について説明します。まず、ユーザーとグループアカウントのプロファイルを理解し、次にユーザーとグループアカウントを管理し、最後にファイルとディレクトリ権限と帰属を設定します。
Linuxは、ユーザーIDに基づいてリソースアクセスを制御します。ユーザーアカウントはスーパーユーザーroot(windowsの下のAdministratorに相当)に分けられ、普通のユーザーです。Linuxではrootログインシステムを使用して管理タスクを実行することは推奨されません。これは安全ではありません。システムの重要なファイルを誤って削除したら、遊び終わります。
ユーザーアカウントファイル——passwdユーザーのアカウントを保存するための基本情報、ファイルの場所:/etc/passwd、各行は1人のユーザーのアカウントレコードに対応し、以下は最後の2行のレコードのアカウント情報を取り出し、各フィールドの意味を分析します(フィールド間はコロンで区切られています)。
フィールド1 jzhou:ユーザーアカウントの名前;
フィールド2 x:パスワードプレースホルダ
フィールド3 500:ユーザーアカウントのUID番号(RedHatとCentOSではデフォルトで500から)
フィールド4 500:ユーザが属するメインアカウントのGID番号(デフォルトでは500から)
フィールド5 zhoujie:ユーザーフルネーム
フィールド6/home/jzhou:ユーザーのホストディレクトリ、すなわちホームディレクトリ
フィールド7/bin/bash:shell情報のログイン
システムの実行と管理の必要性に基づいて、すべてのユーザーはpasswdファイルの内容にアクセスできますが、rootユーザーのみが変更できます。
ユーザパスワードファイル——shadow
パスワード列、パスワード有効期間などの情報を保存するために使用され、ファイルの場所:/etc/shadow、各行に1人のユーザーのパスワードレコードが対応します。次に、最後の2行のレコードをリストし、各フィールドの意味を説明します。
フィールド1:ユーザーアカウントの名前
フィールド2:暗号化された暗号文字列情報(MD 5で暗号化)
フィールド3:パスワードが最後に変更された時刻
フィールド4:パスワードの最短有効日数、デフォルト値0
フィールド5:パスワードの最大有効日数、デフォルト値は99999
フィールド6:ユーザーパスワードが期限切れになることを警告する日数を繰り上げ、デフォルトは7です。
フィールド7:パスワードが期限切れになってから何日後にこのユーザーを無効にしますか(デフォルトは空です)
フィールド8:アカウントの有効期限(デフォルトは空)
フィールド9:予約フィールド(未使用)
デフォルトでは、rootユーザーがファイルの内容を読み取ることができ、rootがファイルの内容を直接編集することは許可されません。では、ユーザーを追加するときに、これらの機能を実現するためにどのようにオプションを指定しますか?ユーザー、グループの追加方法について簡単に説明します。
ユーザーアカウントの追加-useraddファイルソース:ユーザーアカウントの新規作成時に/etc/skelディレクトリからコピー
主なユーザー初期プロファイルは次のとおりです。
コードのコピー~/.bashrc:新しいBash環境に入るたびに実行され、デフォルトではコマンドの別名が設定されています。
~/.bash_logout:ユーザーがログインを終了するたびに実行catコマンドで上記のファイルの内容を表示できます。
ユーザーパスワードの設定/変更-passwdコードのコピー
[jzhou@localhost ~]$ su - rootパスワード:
[root@localhost~]#passwd-l jzhou=>ユーザーjzhouのアカウントをロック Locking password for user jzhou.passwd: Success
[root@localhost~]#passwd-S jzhou=>ユーザーステータスの表示jzhou:!!$1$XRmjIBM9$SgXA00pPfvhjvxt/9..Lh.:15739:0:99999:7:::
user1:!!:15771:0:99999:7:::
[root@localhost~]#passwd-u jzhou=>アカウントjzhouのロック解除
Unlocking password for user jzhou. ==>ロック解除に成功しました
passwd: Success.
[root@localhost~]#passwd-S jzhou=>ユーザーステータスの再表示
jzhou PS 2013-02-03 0 99999 7 -1 (Password set, MD5 crypt.)
[root@localhost~]#tail-2/etc/shadow=>パスワードビットの変化を観察すると、2つはありません!!!パスワードが使用可能であることを示します
jzhou:$1$XRmjIBM9$SgXA00pPfvhjvxt/9..Lh.:15739:0:99999:7:::
user1:!!:15771:0:99999:7:::
[root@localhost~]#passwd-d jzhou=>ユーザーjzhouのパスワードを明確にする Removing password for user jzhou. ==>パスワードが正常にクリアされました[root@localhost~]#tail-2/etc/shadow=>パスワードビットの変化を表示
jzhou::15771:00:999999:7::::==>パスワードビットが空になりました。。user1:!!:15771:0:99999:7:::
[root@localhost~]#passwd jzhou=>ユーザーのパスワードの再設定
Changing password for user jzhou.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:[root@localhost ~]#
「パスワードが設定されていない」ユーザーアカウントはまだ初期化が完了しておらず、ログイン不可の状態にあり、「空のパスワード」の場合とは異なり、一般ユーザーはpasswdコマンドを使用できますが、自分のパスワードを変更するしかありません。また、ロックされたアカウントもシステムにログインできません。ユーザーアカウントのプロパティの変更--usermod
そのコマンドにはpasswdと同じ機能がいくつかあります。例えば、LパラメータとUパラメータはアカウントのロックとロック解除ですが、大文字でなければなりません。他のオプションはuseraddの中と同様にuid,gidなどを変更します。グループアカウントの追加-groupadd
グループアカウントを追加し、ユーザーを新規作成する際に、ユーザーのgidとグループ名を指定するには、まずこのグループが存在することを保証しなければならないので、まずグループを作成し、簡単な操作は以下の通りです。 コードのコピーuser1:x:504: