カーネルとは
- Linuxシステムはシェアハウス
- カーネル・・・オーナー
- カーネルによって外観、内装が決まる(一軒家やマンションなど
- カーネルのアップグレードは機能が増えること(リフォーム
- Windowsはカーネルだけ入れ替えれない(完全リフォーム
- Linuxはカーネルを変えるだけ
- シェアハウスを使用するユーザ
- 管理人・・・スーパユーザ
- rootユーザ
- カーネルでも逆らえない(windowsはカーネルが一番上
- カーネルを変える事ができる
- 何でもできるから一番やばい
- 住人に指示をして必要な所だけrootがやると良い
- 住人・・・一般ユーザ
- 職人・・・特殊ユーザ
- 住み込みで管理する人
- 管理人・・・スーパユーザ
シェルとは
- シェルプロンプト
- ユーザがシェアハウスに対して何かしたい
- この命令をシェルが受けとりカーネルに渡して実行
- シェルは事細かに記憶しサポートをする ⇒ 住人のマネージャのような振る舞い
- ユーザの命令をカーネルに通達
- ユーザーから見てカーネルを包んでいる貝殻(shell)のように見える事からそう名付けられた
- !!・・・直前
- !47・・・47番目の履歴にあるコマンド実行
- シェルをうまく使いこなす事でlinuxとうまく付き合える
- シェルはこのキーを押されたら何を返すかの一覧を持っている
- bash
- キーボードのコードをマッチしたものをシェルが返す
- UNIXはキーボード一覧が違う・・・Cシェル
コマンドとは
- Windowsにもshellが居る
- マウスを使って実行する
- LinuxはサーバーOSと使われる率が99%
- GUIとかは無いと思え
- コマンドを使って命令をする
- コマンドが実行される順序
- lsと打ち実行
- シェルが受け止める
- シェルがlsというアプリケーションをシェアハウスに探しに行く
- シェルがlsを起こして仕事させる
- 見つからなければCommand not foundと愚痴ってくる
6. 見つかりませんでした・・・探しに行ったけど見つからない
7. なんで見つからなかったかを考える
8. どこを探すのか伝える
9. printenv PATH | sed -s "s/:/\n/g"
- lsを例にコマンドを分解
- コマンドはシェアハウスのどこかに潜んでいる
- カレント・・・今居る部屋
- 部屋になにがあるかリストアップ
- linuxは真っ暗...電気がついていない部屋でlsでライトアップ!
- GUIは目の前にある.linuxはシェルに確認してもらわないといけない
- 少し違った命令を出すこともできる⇒オプション
- -から始まるもの
- 1字につき一つのオプション
- 引数を添えるものもある
- --2つ並ぶ・・・単語を意味する
- -1つでは何故単語は駄目なのか・・・一文字ずつ解説するから
- 疑問を持つ事で理解度が高まる
- コマンドの前に#があるのは、ルートの状態
- コマンドの前に$マークがあるのは、一般ユーザの状態
ユーザとグループ
グループ
- グループにはサブ、メインがある
- メイン・・・プライマリ
- サブ・・・セカンダリ
- 必ず一つのプライマリグループに属さなければいけない
- グループはスーパーユーザのみ作成可能
- グループに属しているだけで違いは全くない
- プライマリはフェイク(自分のみ)、グループ管理するのはサブのみ
ユーザ
- まずは自分と同じ名前のグループが作られるので、他のグループはサブで管理して行く
- /etc/passwd
- 7つの情報が区切られている
- name: x :1000:1000:Name Name:/home/name:/bin/bash
- 利用者の名前:パスワードフィールド:ユーザID:グループID:コメント:ユーザのホームディレクトリ:ログインシェル(マネージャ)
- パスワードフィールドはxになってるのは、このファイルにパスワードを記録しないという意味
- 元々記録されていたがセキュリティのため2つのファイルに分けることになった
- それがshadowパスワードシステム
- passwdではなく、shadowファイルにパスワードが記録される
- Redhat8ぐらいから導入された
- ユーザID
- 500番台は一般ユーザ
- グループIDはプライマリのみ
- ユーザ登録
- ユーザはスーパーユーザのみ作成可能
- パスワード設定しながらuseraddできるが履歴に残るのでだめ
- useradd -u 1500 uhuhu
- 住人の番号を指定できる、次は1501になる.前の番号が空いていても1501
- グループ番号も連動して1500になる
- useradd -u 1200 -s /bin/sh nhunhu
- ログインシェルを指定
- マネージャ(キーオペレーション)で選ぶ
- ログインシェルを指定
- cat /etc/shadow ここにパスワード
- !!はパスワード未設定
- パスワード未設定はシェアハウスに入れない
- passwd nhunhu
- passwdはパスワードを追加ではなく、変更するコマンド
- 8文字以上じゃないとだめ・・・暗号化の仕組みにより強度が増す
- 1週間おきにパスワード変えるのがおすすめ
- 暗号化された物同士で認証する
- passwdコマンド
- rootは全てのユーザ使える
- 一般ユーザは自分のみ使える
パーミッション
- ファイルとディレクトリのみに設定
- パーミッションは10文字で表現
- 1文字目はファイルかディレクトリかリンク
- 最初の3文字所有者に対する権限
- 2番目の3文字分はグループに対する権限
- 3番目の3文字分は第三者に対する権限
- lsに色のオプションがデフォルトで組み込まれてしまっている
- 無効にもできる・・・\ls
- 色で覚えない方がいい
- \ls -F や \ls -l で分かる
- r属性・・・読み込み属性
- w属性・・・書き込み属性
- 削除権限も持つ
- x属性・・・実行属性
- chown・・・ファイルやディレクトリの所有者を変更する
- chgrp・・・ファイルやディレクトリのグループを変更する
- chmod・・・ファイルやディレクトリのアクセス権を変更する
- SELinux
- 有効にするとトラブルシュートの妨げになるため、構築のときは無効がいい
- タグをつけることでそのタグが使えるところでしか使用できなくなる