目次
3.1 root ユーザーについて知る
root ユーザー (スーパー管理者)
Windows、MacOS、Linux のいずれでも、権限管理にはマルチユーザー管理モードが使用されます。Linux システムでは、最も多くの権限を持つアカウントの名前は root (スーパー管理者) ですが、初期の頃、私たちが常に使用していたアカウントは一般ユーザーでした。
root ユーザーは最大のシステム操作権限を持っていますが、一般ユーザーの権限は多くの場所で制限されています。例: 一般ユーザーはルート ディレクトリにファイルを作成できません。
通常、一般ユーザーの権限は、HOME ディレクトリ内では制限されていませんが、HOME ディレクトリを離れると、ほとんどの場所で、一般ユーザーには読み取り権限と実行権限のみが与えられ、変更権限は与えられません。
su および exit コマンド
suコマンドはアカウントの切り替えに使用されるシステムコマンドで、語源は英語のSwitch User serです。
文法:
- ・ 記号は任意であり、ユーザー切り替え後に環境変数を読み込むかどうか(後述)を示すため、持参することを推奨します。
- パラメータ: username, 切り替えるユーザーを示します. ユーザー名は省略することもできます. 省略した場合は, rootへの切り替えを意味します.
- ユーザーを切り替えた後、exit コマンドを使用して前のユーザーに戻るか、ショートカット キーctrl + dを使用できます。
通常ユーザーを使用している場合、root ユーザーへの切り替えなど、別のユーザーに切り替えるにはパスワードの入力が必要です。
他のユーザーに切り替えるには root ユーザーを使用します。パスワードは必要ありません。直接切り替えることができます。
sudoコマンド
root パスワードがわかったら、su コマンドを使用して root に切り替え、最大の権限を取得できます。
ただし、システムの損傷を避けるために、root ユーザーを長期間使用することはお勧めしません。
sudo コマンドを使用すると、通常のコマンドを認証し、一時的に root として実行できます。
文法:
- 他のコマンドの前に sudo を実行して、このコマンドに一時的に root 権限を付与します。
- ただし、すべてのユーザーが sudo を使用する権限を持っているわけではないため、一般ユーザーに対して sudo 認証を設定する必要があります。
一般ユーザーの sudo 認証を構成する
- 1. root ユーザーに切り替えてvisudo コマンドを実行すると、vi エディターで自動的に開きます: /etc/sudoers;
- 2. ファイルの最後に追加します。
最後の NOPASSWD:ALL は、パスワードを入力せずに sudo コマンドを使用することを意味します。
- 3. 最後に wq を通じて保存します。
- 4. 通常のユーザーに戻り、実行するコマンドの前に sudo を追加し、 root として実行します。
3.2 ユーザーとユーザーグループ
Linux システムでは、複数のユーザーを構成し、複数のユーザー グループを構成し、ユーザーは複数のユーザー グループに参加できます。
Linux には、ユーザーに対する権限制御とユーザー グループに対する権限制御という 2 つのレベルの権限制御があります。
たとえば、特定のファイルについて、ユーザーの権限またはユーザー グループの権限を制御できます。
したがって、後でアクセス許可制御を学習するための基礎を築くために、Linux でユーザーおよびユーザー グループを管理するための基本的なコマンドを学習する必要があります。
ユーザーグループ管理
次のコマンドは root ユーザーが実行する必要があります
ユーザーグループを作成します: groupadd ユーザーグループ名
ユーザーグループの削除: groupdel ユーザーグループ名
ユーザー管理
ユーザーの作成: useradd [-g -d] ユーザー名
- オプション: -g はユーザーのグループを指定します。-g が指定されていない場合は、同じ名前のグループが作成され、自動的に参加します。-g を指定するには、そのグループがすでに存在している必要があります。同じ名前のグループがすでに存在する場合は、- g を使用する必要があります。
- オプション: -d はユーザーの HOME パスを指定します。指定しない場合、HOME ディレクトリはデフォルトで /home/username になります。
ユーザーを削除します: userdel [-r] ユーザー名
- オプション: -r、ユーザーの HOME ディレクトリを削除します。使用しません。 -r、ユーザーを削除します。HOME ディレクトリは保持されます。
ユーザーが所属するグループを表示します: id [ユーザー名]
ユーザーが属するグループを変更します: usermod -aG user group
- ユーザー名、指定したユーザーを指定したユーザー グループに追加します
ゲテント:
getent コマンドを使用して、現在のシステムにどのユーザーがいるかを確認します。
構文: getent パスワード
表示される情報は次のとおりです。
ユーザー名: パスワード(x): ユーザーID: グループID: 説明情報(不要): HOMEディレクトリ: 実行端末(デフォルトbash)
getent コマンドを使用すると、現在のシステムにどのユーザー グループが存在するかを確認することもできます。
構文: getent グループ
グループ名:グループ認証(×で表示):グループIDの3つの情報が含まれます。
3.3 権限制御の変更 - chmod
認知的許可情報
権限の詳細は、合計 10 個のスロットに分かれています。
例: drwxr-xr-x、意味:
これは、最初の文字 d で表されるフォルダーです。
ユーザー (右上隅の番号 2) の権限は、r、w、x、rwx です。
属するユーザー グループ (右上隅の番号 3) の権限は次のとおりです。r、no w、x、rx (- はそのような権限がないことを意味します)。
他のユーザーの権限は次のとおりです。r、no w、x、rx。
rwx
それで、rwx は何の略ですか?
- r は読み取り許可を意味します
- w は書き込み許可を意味します
- xは実行権限を表します
rwx の意味は、ファイルやフォルダーによって若干異なります。
- r、ファイルのファイル内容を表示できます
フォルダーの場合は、ls コマンドなどでフォルダーの内容を表示できます。
- ファイルの w は、このファイルが変更できることを示します
フォルダーの場合、フォルダー内で作成、削除、名前変更などの操作ができます。
- ファイルの x は、ファイルがプログラムとして実行できることを示します
フォルダーの場合、作業ディレクトリをこのフォルダーに変更できることを意味します。つまり、cd を入力して入力します。
chmod コマンドを使用すると、ファイルやフォルダーのアクセス許可情報を変更できます。
ファイルまたはフォルダーを変更できるのは、そのファイルまたはフォルダーを所有するユーザーまたは root ユーザーのみであることに注意してください。
文法:
- オプション: -R、同じ操作をフォルダーの内容全体に適用します。
例:
1. chmod u=rwx,g=rx,o=x hello.txt を実行し、ファイルのアクセス許可を rwxr-x--x に変更します。
- このうち、u はユーザーが属するユーザー権限、g はグループ権限、o はその他のユーザー権限を表します。
2. chmod -R u=rwx,g=rx,o=x test、フォルダー test とフォルダー内のすべてのコンテンツの権限を rwxr-x-- xに設定します。
許可のシリアル番号
権限は 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 権限、つまり rx を持ちます。
- 6: r および w 権限を持っています。つまり、rw-
- 7: 完全な権限 (rwx) を持ちます。
751 の意味: rwx(7) rx(5) --x(1)
3.4 権限制御の変更 - chown
chown コマンドを使用すると、ファイルとフォルダーが属するユーザーとユーザー グループを変更できます。
一般のユーザーはメンバーシップを他のユーザーまたはグループに変更できないため、このコマンドは root ユーザーにのみ適用できます。
文法:
- オプション -R は chmod と同じで、フォルダー内のすべてのコンテンツに同じルールを適用します。
- オプション、ユーザー、ユーザーを変更する
- オプション、ユーザー グループ、所属するユーザー グループを変更する
- :ユーザーとユーザー グループを区別するために使用されます。
例:
- root hello.txt を chown し、hello.txt に所属するユーザーを root に変更します。
- chown:root hello.txt、hello.txtが所属するユーザーグループをrootに変更します。
- chown root:itheima hello.txt は、hello.txt が属するユーザーを root に変更し、ユーザー グループを itheima に変更します。
- chown -R root test では、フォルダー test に属するユーザーを root に変更し、フォルダー内のすべてのコンテンツに同じルールを適用します。