CentOS

CUIでのインストール

インストール時の起動画面でTABキーを押すと画面下部に起動オプションが表示されるので末尾の「quiet」を「text」に変更して起動する

> vmlinuz initrd=initrd.img (中略) quiet
↓
> vmlinuz initrd=initrd.img (中略) text

サービス関連

起動中の一覧

systemctl list-units --type=service

定義されているサービス

systemctl list-unit-files --type=service

サービスの状態

systemctl status <service名>

サービスの開始、停止、など

開始

systemctl start <service名>

停止

systemctl stop <service名>

再起動

systemctl restart <service名>

リロード

systemctl reload <service名>

サービスの自動起動を無効

systemctl disable <service名>

サービスの自動起動を有効

systemctl enable <service名>

手動で時刻同期

CentOS7

$ sudo chronyc makestep

ハードウェアクロックとシステムの現在時刻の同期

sys->hw

$ sudo hwclock --systohc

逆方向

$ sudo hwclock --hctosys

Timezone 変更

$ sudo cp -p /usr/share/zoneinfo/Japan /etc/localtime

または

### オリジナルをバックアップ
cp /etc/localtime /etc/localtime.org
### タイムゾーンファイルの変更
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

↑これで即座に反映

↓再起動時に戻らないように

ZONE="Asia/Tokyo"

コマンドラインからメールを送る

mailxコマンドを利用する

# yum install mailx

送信の例

$ echo "本文" | mail -s "メールタイトル" -r from@example.com -c cc1@example.co.jp -c cc2@example.net to1@example.jp to2@example.org
or
$ cat anyfile | mail -s "メールタイトル" -r from@example.com -c cc1@example.co.jp -c cc2@example.net to1@example.jp to2@example.org

本文はecho “本文”とかcat

-s：メールタイトル

-r：送り主

-c：CC

-cを複数指定可

-b：Bcc

-bを複数指定可

最後の引数：送り先メールアドレス

複数人にToで送る場合、スペースで区切る

ネットワーク起動

CentOS7以降変更されているので注意

CentOS では、NICの設定ファイルが “/etc/sysconfig/network-scripts/” 内に用意されている

“eth0” でDHCP設定したい場合 “/etc/sysconfig/network-scripts/ifcfg-eth0” でをこんな感じに

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp

固定IPならこんな感じ

BOOTPROTO=static ←固定アドレスという意味
IPADDR=192.168.0.100 ←IPアドレス
NETMASK=255.255.255.0 ←サブネット
GATEWAY=192.168.0.1 ←ルーターのアドレス
NETWORK=192.168.0.0
BROADCAST=192.168.0.255

設定ファイルを編集したら、ネットワークを再起動

# service network restart

DHCP連携

DHCPでIPの払い出しを受けた場合に、名前の登録がされない。
これは、Linux側でホスト名を送っていないために起こる。
で、以下のような設定を行う

# cat /etc/dhcp/dhclient.conf
send host-name "hostname.exsample.com";

または

/etc/sysconfig/network-scripts/ifcfg-eth0に以下の一行を追加

DHCP_HOSTNAME="hostname.exsample.com"

で、dhcpclientを再起動

# dhclient -r
# dhclient eth0

sshd起動

起動、終了1) /etc/init配下のスクリプトは使用しない。起動環境の環境変数に影響を受けることがあるのでトラブルと不幸

# /etc/init.d/sshd stop
# /etc/init.d/sshd start

# service sshd restart

自動起動

# chkconfig sshd on

Config

/etc/ssh/sshd_config

なお、Defaultはrootログインを許可しているので注意

sshのrootログインを無効にする

対象ユーザをwheel グループに追加

# usermod –G wheel hogehoge

/etc/pam.d/suでwheelのみrootになれるように以下の行のコメントを外す

auth required pam_wheel.so use_uid

/etc/login.defsで、suコマンドで、wheelのみrootになれるように以下を追加

SU_WHEEL_ONLY yes

visudoを使用してsudoもwheelのみにするため、以下の行のコメントを外す

%wheel ALL=(ALL) ALL

sudo実行時にパスワード入力を不要にするには、以下の行のコメントを外す2) 本当にその運用でよいか要検討

%wheel ALL=(ALL) NOPASSWD: ALL

/etc/ssh/sshd_configでrootでのsshログインを禁止
PermitRootLogin を以下のように設定

PermitRootLogin no

sshdを再起動

# service sshd restart

scpを入れる

標準ではscpがインストールされていないので以下のコマンドで入れる

yum install openssh-clients

ユーザ追加

追加

# adduser ユーザー名

パスワード

# passwd ユーザー名

削除

# userdel ユーザー名

ホームとメールスプールも削除する

# userdel -r ユーザー名

SELinuxを無効にする

/etc/selinux/config3) permissive -> 有効化されているが監査ログに記録する以外の働きをしない

SELINUX=disabled
OR
SELINUX=permissive

修正後、再起動

# reboot

再起動後、下記のコマンドでDisabled4) or permissive になっていることを確認

# getenforce

参考

「SELinuxのせいで動かない」撲滅ガイド

ホスト名の変更

以下のファイルを編集して再起動

# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain

#vi /etc/hosts
127.0.0.1 xxxx localhost.localdomain localhost

すぐに変更したい場合5) ただし前述のファイル編集を忘れると再起動で元に戻るので注意

# hostname hostname.domain

表示言語を変更

/etc/sysconfig/i18nを

LANG="en_US"
とか
LANG="ja_JP.UTF-8"

Proxyを設定する

# vi /etc/profile.d/proxy.sh

以下の行を追記

PROXY='proxy.server.path:8080' # proxyサーバのドメインとポートを指定
export http_proxy=$PROXY
export HTTP_PROXY=$PROXY
export HTTPS_PROXY=$PROXY
export https_proxy=$PROXY