RHEL7入門覚書

about

会社で受けたLinux研修で、知らなかったことだけをツラツラと。 アウトプットしないと腐ってしまいそうなので。

パーミッション

ACL

setfacl

setfcal -m

[root@desktop3 ~]# touch file1
[root@desktop3 ~]# touch aclfile1
[root@desktop3 ~]# ls -l file1 aclfile1 
-rw-r--r--. 1 root root 0  6月 25 10:03 aclfile1
-rw-r--r--. 1 root root 0  6月 25 10:03 file1
[root@desktop3 ~]# 
[root@desktop3 ~]# setfacl -m u:student:rw aclfile1 
[root@desktop3 ~]# 
[root@desktop3 ~]# ls -l file1 aclfile1 
-rw-rw-r--+ 1 root root 0  6月 25 10:03 aclfile1
-rw-r--r--. 1 root root 0  6月 25 10:03 file1

getfacl

getfacl FILENAMEaclの状態を取得する。

[root@desktop3 ~]# getfacl aclfile1
# file: aclfile1
# owner: root
# group: root
user::rw-
user:student:rw-
group::r--
mask::rw-
other::r--

setfaclのパーミッション変更

[root@desktop3 ~]# mkdir dir1
[root@desktop3 ~]# touch dir1/file1
[root@desktop3 ~]# mkdir dir1/dir2
[root@desktop3 ~]# setfacl -R -m u:student:rwX dir1/
[root@desktop3 ~]# getfacl dir1/file1
# file: dir1/file1
# owner: root
# group: root
user::rw-
user:student:rw-
group::r--
mask::rw-
other::r--

[root@desktop3 ~]# getfacl dir1/dir2/
# file: dir1/dir2/
# owner: root
# group: root
user::rwx
user:student:rwx
group::r-x
mask::rwx
other::r-x

dオプションでの挙動

[root@desktop3 ~]# mkdir dir2
[root@desktop3 ~]# setfacl -m d:u:student:rwx dir2/
[root@desktop3 ~]# touch dir2/file1
[root@desktop3 ~]# mkdir dir2/dir3
[root@desktop3 ~]# getfacl dir2
# file: dir2
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:student:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

[root@desktop3 ~]# getfacl dir2/file1
# file: dir2/file1
# owner: root
# group: root
user::rw-
user:student:rwx        #effective:rw-
group::r-x          #effective:r--
mask::rw-
other::r--

[root@desktop3 ~]# getfacl dir2/dir3/
# file: dir2/dir3/
# owner: root
# group: root
user::rwx
user:student:rwx
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:student:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

SELinux

SELinuxのモード

  • Enforcing
    • 有効、セキュリティ保護、ログ有
  • Permissive
    • セキュリティ保護がされない、ログ有、テスト用
  • Disabled
    • disabledするには再起動が必要

コマンドと設定ファイル

  • geteonforce
    • 現在のモードを確認
  • setenforce
    • 現在のモードを設定
  • /etc/selinux/config
    • デフォルトの設定

ストレージ管理

  1. パーテショニング
    fdisk(MBR), gdisk(GPT)

  2. マウント&フォーマット

  3. mount /etc/fstab
  4. blkid FSがあれば表示
  5. mkfs -t FSタイプ パーティション番号
  6. mount パーティション番号 マウントっポイント (一時的、再起動すると外れる)
  7. df | grep /dev/vdb1 (volumeをgrepして確認する)

永続的なマウント

/etc/fstabに明示的にvolumeを指定することで、永続的なマウントが行える。

  1. マウントしたいFS UUID=xxx
  2. マウントポイント /test
  3. FSタイプ xfs
  4. mountのオプション defaults
  5. dumpコマンド 1する 0しない
  6. fsck順 0しない 1以上 する順番
  7. 凡例 UUID=54a66b0e-95f6-4ab7-9267-35f41c0d616c /test xfs defaults 1 2

LVM 論理ボリューム

  1. 未使用ディスク(パーティションでも可)
  2. 物理ボリューム(PV phisical volume)
    論理ボリュームに入れるために初期化されたボリューム
  3. ボリュームグループ(VG)
    物理ボリュームをまとめたもの
  4. 論理ボリューム(LV)
    FSやswapに用いることができる

論理ボリュームはオンラインでマウントしたまま、拡張可能

pvdisplay
pvcreate /dev/vdb1
pvcreate /dev/vdb2
vgcreate vg1 /dev/vdb1 /dev/vdb2
lvcreate -n lv1 -L 100M vg1

NFSとSMB

マウントの種類

  • mount
    • 今すぐ、一時的
  • /etc/fstab
    • 起動時、永続的
  • autofsサービス
    • 利用要求があった時にmount

autofs

nfsマウント

mkdir /moutpoint
mount classroom:/home/guests /mountpoint
showmount -e classroom
  1. autofsパッケージ
    yum install autofs

  2. マスタマップ /etc/auto.master.d/*.autofs
    vim /etc/auto.master.d/test.autofs

/home/guests    /etc/auto.test
#監視ディレクトリ  マッピングファイル
  1. マッピングファイル * -rw server:/home/guests/&

  2. nfsのバージョン指定

* -rw,nfsvers=3 server:/home/guests/&

  1. autofsサービス再起動

デフォルトターゲット

GUIとかCUIとか起動時に自動的に立ち上がるターゲットのこと。

  • graphical.target (run leverl 5)
    • ログイン画面からGUI操作が可能。全サービスが利用可。
  • multi-user.target (run level 3)
    • GUIはない。全サービスが利用可。
  • rescue.target (run level 1)
    • rootだけログインができ、一部のサービスだけしか使えない。
    • 問題発生時にsystemd.unit=rescue.targetブートローダメニューに指定して起動
  • emergency.target
    • ルートFSがroでマウント

ターゲットは変更・確認には以下のコマンドを使う。

# systemctl get-default
# systemctl set-default multi-user.target
# systemctl isolate graphical.target <- 今のtargetを変更

rootパスワードを忘れた時の復旧

rootのフォルダをremoutしてパスワードの再設定を行う。

  1. ブートローダを起動
  2. rd.breakをlinux16に追加
  3. 再起動
  4. switch_root:/# mount -o remount,rw /sysroot
  5. chroot /sysroot
  6. passwd root
  7. touch /.autorelabel
  8. exit