見出し画像

IT未経験アラサーの学習記録~Linux標準教科書メモ書き 第7章~

皆様こんにちは。Kです。
自己紹介はこちらにまとめているので、お時間がある方はぜひご覧ください。
ここ数日間、Linux標準教科書(Ver.3.0.4)を用いてハンズオン学習に取り組んでいるので、学習記録兼ノートのメモ書きとして記します。

教材
Linux標準教科書 PDF版(無料)

章末テスト解答参考
Yukishi log. 勝手ながらご紹介させていただきました。

学習方法
①教科書を読む ②ハンズオンで挙動を確認 ③新しい知識、教科書外で調べた内容をnoteにまとめる。必要があれば、Lucidchartで図を作成する。

学習環境
Windows PowerShell に Ubuntu-20.04 を入れました。

筆者ITスキル
AWS CLF-01、AWS SAA-03取得済み。
Web技術・ネットワーク・セキュリティ・クラウドの知識については、「イラスト図解式 この一冊で~」シリーズを1周読んだのみ。


第7章 管理者の仕事 (p113~p128)

7.1 グループとユーザ

グループとユーザを適切に設定することで、ファイルやディレクトリ、任意のプログラムやシェルスクリプトなどを必要なユーザにのみ参照・編集する権限や実行する権限を与えることができる。

7.1.1 ユーザ

メモリやファイルなどの様々な資源を利用するための権限を定義できる最小単位。ユーザ定義は passwd ファイルに記述される。コマンドで間接的に編集することが推奨される。

7.1.2 ユーザの作成

ユーザには数字の ID を割り振る。ID が未登録であるか事前に grep コマンドで確認する。ユーザは必ずグループに属する。

【書式】useradd [オプション] ユーザ名

7.1.3 ユーザアカウントの変更

【書式】usermod [オプション] ユーザ名

7.1.4 ユーザの削除

【書式】userdel [オプション] ユーザ名

-r オプション:ホームディレクトリ(ユーザがログインした直後にユーザが配置されるストレージ内の場所)を削除

7.1.5 グループ

複数ユーザの権限をまとめて扱う。最初から用意されるグループに加え、必要に応じて管理者が定義可能。グループ定義は group ファイルに記述される。コマンドで間接的に編集することが推奨される。
プライマリグループ:ユーザは1つ以上のグループに所属し、主に所属する場所を指す。

7.1.6 グループの作成

グループには数字の ID を割り振る。ID が未登録であるか事前に grep コマンドで確認する。

【書式】groupadd [オプション] グループ名

7.1.7 グループの登録情報の変更

【書式】
groupmod [ -g GID ][ -n NEW-GROUP-NAME ] 変更対象グループ

7.1.8 グループを削除

ユーザが所属していないグループのみ削除可能

【書式】groupdel グループ名


7.2 パスワードとパスワードファイル

ユーザを利用するためのパスワードは shadow ファイルに暗号化されて記録される。

7.2.1 パスワードファイル(/etc/passwd)

1行に1ユーザの情報を : で区切って記述する。直接でなく、 useradd コマンドなどでの操作を推奨。

account : password (x) : UID : GID : GECOS : directory : shell

GECOS General Electric Comprehensive Operating System
:コメントフィールド(参考 UnixClassWiki

Linux標準教科(Ver.3.0.4) p121

7.2.2 グループファイル(/etc/group)

1行に1グループの情報を : で区切って記述する。直接でなく、 groupadd コマンドなどでの操作を推奨。

group_name : password : GID : user_list

Linux標準教科(Ver.3.0.4) p121

7.2.3 パスワード

パスワードの登録にはパスワードが必要であるため、初めてパスワードを変換するのは root ユーザである必要がある。

ユーザのパスワード登録と変更

【書式】passwd [ユーザ名]

シャドウファイル(/etc/shadow)

シャドウファイルは直接編集するべきでない。日付基準の1970年1月1日は Linux システムが基準とする時間。

account : password : last_changed : may_be_changed : must_be_changed : warned : expires : disabled : reserved

Linux標準教科(Ver.3.0.4) p123


7.3.1 一般のユーザとグループ

アカウントを作成するとユーザ名と同様の名前のグループが作成され、ユーザはそのユーザグループに所属しているとシステムに登録される。

7.3.2 root ユーザ

システム設定の変更や、プログラムのインストールや削除、ユーザを作成・削除する事ができる、利用に制限がない特別なユーザ。アクセス権に関係なくすべてのユーザのディレクトリへのアクセス、コンテンツの読み書きが行なえるなどの点で一般ユーザとは異なる。

7.3.3 su コマンド

すでに別のユーザでログインしているユーザが、一時的に他のユーザになるためのコマンド。コマンドを実行する際、オプションとしてユーザを指定しない場合はroot ユーザでシェルを起動。
root ユーザに直接ログインするのではなく、一般ユーザからrootユーザへ切り替えると、root ユーザで作業を開始した時間などを把握できるため、セキュリティ面で良い。

【書式】su [ - ユーザ]

7.3.4 root ユーザでコマンドを実行する sudo コマンド

普段作業するときはユーザ権限で行ない、必要に応じてsudo を使いコマンドを実行することで、su コマンドでユーザをroot に切り替えることなく、root 権限が必要な設定やプログラムを実行することができる。

任意のユーザでコマンドを実行する

【書式】sudo [オプション] コマンド

-オプションを付けない場合は、カレントディレクトリを変更せずに root でログインし、付ける場合はカレントディレクトリをrootのホームディレクトリに変更してログインする。

ディストリビューションによっては初期設定のまま sudo コマンドを使用できない。ユーザを wheel グループという root 特権を持つグループに登録し、wheel グループの定義を有効にする。

wheel グループの定義を有効に設定する( sudoers ファイルが編集される)

【書式】visudo

sudoers ファイルにある以下のオプションを有効にすると、パスワードを聞かれることなくコマンドを実行できるようになる。デフォは無効。

# %wheel ALL=(ALL) NOPASSWD: ALL

頻繁に使用するコマンドだけにしたほうが、セキュリティ面で安心かも。
(参考 Qiita



章一覧

第1章 Linux とは
第2章 Linux のインストール(環境構築不要のため未実施)
第3章 基本的なコマンド
第4章 正規表現とパイプ
第5章 基本的なコマンド2
第6章 viエディタ
第7章 管理者の仕事
第8章 ユーザ権限とアクセス権
第9章 シェルスクリプト
第10章 ネットワークの設定と管理
第11章 プロセス管理
第12章 ファイル管理

この記事が気に入ったらサポートをしてみませんか?