Linux: ユーザーと権限
1. root ユーザーを知る
1.1 root ユーザー (スーパー管理者)
Windows、MacOS、Linux のいずれでも、権限管理にはマルチユーザー管理モードが使用されます。
- Linux システムでは、最大の権限を持つアカウントは次のとおりです:root (スーパー管理者)
root ユーザーは最大のシステム操作権限を持っていますが、一般ユーザーの権限は多くの場所で制限されています。
デモ:
-
一般ユーザーでルートディレクトリにフォルダーを作成する
-
root ユーザーに切り替えた後、引き続き試行してください
通常、一般ユーザーの許可は、HOME ディレクトリでは制限されません。
HOME ディレクトリの外に出ると、ほとんどの場所で、通常のユーザーには読み取りと実行のアクセス許可のみが与えられますが、変更のアクセス許可はありません。
1.2 su および exit コマンド
su コマンドは、アカウントの切り替えに使用されるシステム コマンドです。そのソースは英語の単語: Switch User
構文:
su [-] [用户名]
- この記号はオプションであり、ユーザーを切り替えた後に環境変数をロードするかどうかを示します。
- パラメータ: username, 切り替えるユーザーを示します. ユーザー名は省略することもできます. 省略した場合は, rootへの切り替えを意味します.
- ユーザーを切り替えた後、
exit
コマンドを使用して前のユーザーに戻るか、ショートカット キー ctrl + d を使用できます。
通常のユーザーを使用します。他のユーザーに切り替えるにはパスワードを入力する必要があります (root ユーザーに切り替えるなど)。
root ユーザーを使用して他のユーザーに切り替えます。パスワードは必要ありません。が必須の場合は、直接切り替えることができます
1.3 sudoコマンド
root パスワードがわかったら、su コマンドを使用して root に切り替え、最大限の権限を取得できます。
ただし、システムの損傷を避けるために、root ユーザーを長期間使用することはお勧めしません。
sudo コマンドを使用して一般的なコマンドを認証し、一時的に root として実行できます。
構文:
sudo 其他命令
他のコマンドの前に sudo
を置くと、このコマンドに一時的にroot
権限を付与します。
ただし、すべてのユーザーが使用する権利を持っているわけではありませんsudo
。一般ユーザー向けにsudo
認証を設定する必要があります。
1.3.1 一般ユーザーの sudo 認証の構成
- root ユーザーに切り替えて visudo コマンドを実行すると、vi エディターで自動的に開きます: /etc/sudoers
- ファイルの最後に以下を追加します。
最後の NOPASSWD:ALL は、パスワードを入力せずに sudo コマンドを使用することを意味します
最後に、wq を通じて保存します
プロセスのスクリーンショット:
-
通常のユーザーに戻す
-
実行されるすべてのコマンドは root として実行されます。
2. ユーザーおよびユーザーグループの管理
Linux システムでは次のことができます。
- 複数のユーザーを構成する
- 複数のユーザーグループを構成する
- ユーザーは複数のユーザーグループに参加できます
Linux には次の 2 つのレベルの権限制御があります。
- ユーザー権限の制御
- ユーザー グループの権限制御
たとえば、特定のファイルについて、ユーザーまたはユーザー グループの権限を制御できます。
2.1 ユーザーグループの管理
次のコマンドは root ユーザーが実行する必要があります
-
ユーザーグループの作成
groupadd 用户组名
-
ユーザーグループの削除
groupdel 用户组名
後続のデモンストレーションのために、itcast ユーザー グループを作成します: groupadd itcast
2.2 ユーザー管理
次のコマンドは root ユーザーが実行する必要があります
- ユーザーを作成
useradd [-g -d] 用户名
- オプション: -g はユーザーのグループを指定します。-g が指定されていない場合は、同じ名前のグループが作成され、自動的に参加します。-g を指定するには、そのグループがすでに存在している必要があります。同じ名前のグループがすでに存在する場合は、- g を使用する必要があります。
- オプション: -d はユーザーの HOME パスを指定します。指定しない場合、HOME ディレクトリはデフォルトで /home/username になります。
- ユーザーを削除する
userdel [-r] 用户名
- オプション:-r、ユーザーの HOME ディレクトリを削除します。-r は使用しないでください。ユーザーが削除されると、HOME ディレクトリは保持
-r を使用せずに削除した場合、元のホーム フォルダー配下の test222 フォルダーは削除されません。
- ユーザーが所属するグループを表示する
id [用户名]
- パラメータ: ユーザー名、表示されているユーザー、指定されていない場合は、それ自体を表示します
- ユーザーが属するグループを変更し
usermod -aG 用户组 用户名
、指定したユーザーを指定したユーザー グループに追加します
2.3 getentコマンド
getent コマンドを使用して、現在のシステムに存在するユーザーを表示します。
構文:getent passwd
getent コマンドを使用して、現在のシステムに存在するグループを表示します
構文:getent group
3. 閲覧権限制御
3.1 認知的許可情報
ls -l を使用してコンテンツをリスト形式で表示し、権限の詳細を表示します
- 通し番号1はファイルやフォルダの権限制御情報を表します。
- シリアル番号 2 は、ファイルとフォルダーが属するユーザーを示します。
- シリアル番号 3 は、ファイルとフォルダーが属するユーザー グループを示します。
シリアル番号 1、権限の詳細を分析してみましょう
権限の詳細は合計 10 個のスロットに分かれています
例: drwxr-xr-x、意味:
- これはフォルダーです。最初の文字 d は、
- ユーザー (右上隅の番号 2) の権限は次のとおりです: r、w、x、rwx
- 属するユーザー グループ (右上隅の番号 3) の権限は次のとおりです: r、no w、x、r-x (- はそのような権限がないことを意味します)
- 他のユーザーの権限は次のとおりです: r、no w、x、r-x
それで、rwx は何の略ですか?
- r は読み取り許可を意味します
- w は書き込み許可を意味します
- xは実行権限を表します
rwx の意味は、ファイルやフォルダーによって若干異なります。
- r、ファイルのファイル内容を表示できます
- フォルダーの場合は、ls コマンドなどでフォルダーの内容を表示できます。
- ファイルの w は、このファイルが変更できることを示します
- フォルダーの場合、フォルダー内で作成、削除、名前変更などの操作ができます。
- ファイルの x は、ファイルがプログラムとして実行できることを示します
- フォルダーの場合、作業ディレクトリをこのフォルダーに変更できることを意味します。つまり、cd を入力して入力します。
3.1.1 ケース
現在のユーザー itheima は、ファイルが属するユーザーおよびユーザー グループではありません。ロックされている最後の 3 つの権限は次のとおりです: -、読み取り権限なし。
4. 権限制御の変更 - chmod
4.1 chmodコマンド
chmod コマンドを使用すると、ファイルやフォルダのアクセス許可情報を変更できます。
ファイルまたはフォルダを変更できるのは、そのファイルまたはフォルダを所有するユーザーまたは root ユーザーのみであることに注意してください。
文法:
オプション: -R、同じ操作をフォルダーの内容全体に適用します。
例:
chmod u=rwx,g=rx,o=x hello.txt
、ファイルのアクセス許可を rwxr-x–x に変更します。- このうち、u はユーザーが属するユーザー権限、g はグループグループ権限、o はその他のユーザー権限を表します。
chmod -R u=rwx,g=rx,o=x test
、フォルダー test とフォルダー内のすべてのコンテンツの権限を rwxr-x–x に設定します。
さらに、次のショートカットがあります: chmod 751 hello.txt
hello.txt の権限を 751 に変更します
4.2 許可のデジタルシリアル番号
権限は 3 桁の数字で表すことができ、1 桁目はユーザー権限、2 桁目はユーザーグループ権限、3 桁目はその他のユーザー権限を表します。
数値の詳細は次のとおりです。r は 4、w は 2、x は 1 として表されます。次のものが考えられます。
- 0: 権限なし、つまり —
- 1: x 個の権限のみ、つまり --x
- 2: w 権限のみ -w-
- 3: w および x 権限がある、つまり -wx
- 4: r 権限のみ、つまり r–
- 5: r および x 権限、つまり r-x を持ちます。
- 6: r および w 権限を持っています。つまり、rw-
- 7: 完全な権限、つまり rwx
を持っているため、751 は次のことを意味します: rwx(7) r-x(5) --x(1)
4.2.1 ケース
-
hello.txt の権限を r-x–xr-x に変更します。数値シーケンスは次のとおりです。
chmod 515 hello.txt
-
hello.txt の権限を -wx-w-rw- に変更します。数値シーケンスは次のとおりです。
chmod 326 hello.txt
-
シリアル番号 123 で表される権限は次のとおりです。
--x-w--wx
5. 権限制御の変更 - chown
chown コマンドを使用して、ファイルとフォルダーが属するユーザーとユーザー グループを変更します。
一般のユーザーはメンバーシップを他のユーザーまたはグループに変更できないため、このコマンドは root ユーザーにのみ適用されます。
構文:
- オプション -R は chmod と同じで、フォルダー内のすべてのコンテンツに同じルールを適用します。
- オプション、ユーザー、ユーザーを変更する
- オプション、ユーザー グループ、所属するユーザー グループを変更する
- : ユーザーとユーザー グループを分離するために使用されます
例: - root hello.txt を chown し、hello.txt に属するユーザーを root に変更します
- chown:root hello.txt、hello.txtが属するユーザーグループをrootに変更
- root:itheima hello.txt を chown し、root に属するユーザー hello.txt を変更し、ユーザー グループを itheima に変更します。
- chown -R root test、フォルダー test に属するユーザーを root に変更し、フォルダー内のすべてのコンテンツに同じルールを適用します