CentOS6.2の初期設定

CentOS6.2を最小構成でインストール後に行う初期設定です。
 ※ページの最後に下記を一括実行するスクリプトを用意しています。

  1. インストール時にネットワークの設定をしなかった(忘れた)場合は下記を参考にしてください。
    • 1) /etc/sysconfig/network-script/ifcfg-eth0 へ下記を編集・追記します。

      ONBOOT="yes"  <–この行だけ no を yes に変更します。
      BOOTPROTO="static"  <–この行から下を追記します。
      IPADDR=192.168.10.6
      NETMASK=255.255.255.0
      GATEWAY=192.168.10.1

    • 2) /etc/resolv.conf へDNSサーバーを追記します。下記例はコマンドで行っています。

      echo "nameserver 192.168.10.1" >> /etc/resolv.conf

    • 3)ネットワークを再起動して使用できるようにします。

      /etc/rc.d/init.d/network restart

  2. ホスト名をhostsファイルへ記述します。

    echo "linux.hoge.com localhost.localdomain localhost" > /etc/hosts

  3. お好みでキーボードの誤操作時のビープ音を消します。

    echo "set bell-style visible" > /etc/inputrc

  4. 使用できるコンソール数を3つに減らして節約しましょう。(2つでも良いんですが)

    sed -i ‘s/\(ACTIVE_CONSOLES=.*\)1-6/\11-3/’ /etc/sysconfig/init

  5. 不要なサービスを停止します。※ご自身の環境に合わせて停止してください。
    # chkconfig iscsid off
    # chkconfig iptables off
    # chkconfig ip6tables off
    # chkconfig iscsi off
    # chkconfig nfslock off
    # chkconfig rpcidmapdoff
    # chkconfig rpcgssd
    # chkconfig netfs off
    # chkconfig fcoe off
    # chkconfig udev-post off

  6. SELINUXを無効にします。※/etc/sysconfig/selinuxはシンボリックリンクなので本体を変更する

    # setenforce 0 [Enter]
    # sed -i ‘s/^SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config [Enter]

  7. メーラーを postfix にします。サービスは取りあえず止めておきます。
    # yum -y install postfix [Enter]
    # chkconfig postfix off [Enter]

  8. 必要に応じてユーザ用ディレクトリへpublic_htmlとMaildirを用意します
    ホームページ用ディレクトリを用意
    # mkdir /etc/skel/public_html [Enter]
    # chmod 755 /etc/skel/public_html[Enter] [Enter]
    メール受信用ディレクトリを用意
    # mkdir /etc/skel/Maildir [Enter]
    # chmod 700 /etc/skel/Maildir [Enter]

  9. 一般ユーザ作成時のデフォルトシェルを変更しておきます

    sshログインを無効にしておきます
    # sed -i ‘s/SHELL=\/bin\/bash/SHELL=\/bin\/nologin/’ /etc/default/useradd [Enter]
    Mailboxの割り付けをしません
    # sed -i ‘s/CREATE_MAIL_SPOOL=yes/CREATE_MAIL_SPOOL=no/’ /etc/default/useradd [Enter]

  10. sshでログインしてrootになれるユーザを作成します
    • 1) ユーザを作成

      Wheelグループで管理ユーザを作成
      # useradd -g wheel hoge-user [Enter]
      # passwd hoge-user [Enter]
      Changeing password for user hoge-user.
      New password:
      [パスワードを入力(何も表示されません)]
      Retype new password: [再度パスワードを入力(何も表示されません)]

    • 3) rootになれるグループをwheelに限定します。

      # vi /etc/pam.d/su [Enter] 開いたファイルより
       #%PAM-1.0
       auth sufficient pam_rootok.so
       …

       #auth required pam_wheel.so use_uid の先頭の#を消します
      # vi /etc/login.defs [Enter] 最終行へ1行を追記します。
        SU_WHEEL_ONLY yes

      (コマンドでも行えます。)
      # sed -i ‘s/^#auth\(.*required\)/auth\1/’ /etc/pam.d/su [Enter]
      # echo ‘SU_WHEEL_ONLY yes’ >> /etc/login.defs [Enter]

    • 4) root宛に届くメールをhoge-userで受信するようにします。

      # echo ‘root: hoge-user’ >> /etc/aliases [Enter]
      # newaliases [Enter]

  11. sshの設定を変更します。
    • 1) ポートを10022へ変更します

      # sed -i ‘s/^#Port 22/Port 10022/’ /etc/ssh/sshd_config [Enter]

    • 2) rootのログオンを許可しないようにします

      # sed -i ‘s/^#PermitRootLogin yes/PermitRootLogin no/’ /etc/ssh/sshd_config [Enter]

    • 3) 空パスワードを許可しないようにします

      # sed -i ‘s/^#PermitEmptyPasswords/PermitEmptyPasswords/’ /etc/ssh/sshd_config [Enter]

    • 4) ログイン可能なユーザを限定します(お好みで)

      # echo ‘AllowUsers hoge-user’ >> /etc/ssh/sshd_config [Enter]

  12. Wrapperでアクセス制限をします。※sshdのみ許可します。

    # echo ‘sshd: ALL’ >> /etc/hosts.allow [Enter]
    # echo ‘ALL: ALL’ >> /etc/hosts.deny [Enter]

  13. yumのアップデートをしておきます。

    # yum -y install yum-fastestmirror [Enter]
    # yum -y install yum-cron [Enter]
    # yum -y update [Enter]

    ※yum-cron を参照に設定してサービスを起動するようにしておきます

    # sed -i ‘s/^CHECK_ONLY=no/CHECK_ONLY=yes/’ /etc/sysconfig/yum-cron [Enter]
    # sed -i ‘s/^DOWNLOAD_ONLY=no/DOWNLOAD_ONLY=yes/’ /etc/sysconfig/yum-cron [Enter]
    chkconfig yum-cron on [Enter]

  14. 時刻を自動設定するようにしておきます。
    • 1) 既定の時刻サーバをコメントアウトします。

      # sed -i ‘s/^server 0/#server 0/’ /etc/ntp.conf [Enter]
      # sed -i ‘s/^server 1/#server 1/’ /etc/ntp.conf [Enter]
      # sed -i ‘s/^server 2/#server 2/’ /etc/ntp.conf [Enter]

    • 2) 新たに国内の時刻サーバを参照するようにします。

      # echo ‘server ntp.asahi-net.or.jp’ >> /etc/ntp.conf [Enter]
      # echo ‘server ntp1.sakura.ad.jp’ >> /etc/ntp.conf [Enter]
      # echo ‘server ntp.ring.gr.jp’ >> /etc/ntp.conf [Enter]

    • 3) 時刻を手動で1回だけ設定します。

      # /etc/rc.d/init.d/ntpd stop [Enter] <–念のためにサービスを止めます(エラーになります)
      # ntpdate ntp1.sakura.ad.jp [Enter]

    • 4) サービスを起動するようにします。

      # chkconfig ntpd on [Enter]

  15. お好みで…digコマンドなどのインストール

    # yum -y install bind-utils [Enter]
    # yum -y install telnet [Enter]
    # yum -y install perl [Enter]

  16. 最後に再起動します。

    # shutdown -r now [Enter]
    又は↓でもOK
    reboot [Enter]

以上で初期設定は終わりです。 お疲れ様でした。

    一括実行をするスクリプトです ここからダウンロードして確認できます。

  1. wgetをインストールします

    # yum -y wget [Enter]

  2. スクリプトをダウンロードして実行します

    # cd /var/tmp [Enter]
    # wget http://stargate.undo.jp/download/centos/0_setting.sh [Enter]
    # bash 0_setting.sh [Enter]
    Admin User Name : hoge-user [Enter] ← sshでログインできるユーザ名を指定します
    Admin User Password : hoge-pass [Enter] ← sshでログインできるユーザ名のパスワードを指定します
    SSH Port No (9022/9022/10022/etc…) [10022]: 任意の番号 [Enter] ssh用のポート番号を指定します
    Make skel public_html ? (yes/no) [yes]: yes [Enter] ユーザ追加時にpublic_htmlを自動で用意するならyes
    Make skel Maildir ? (yes/no) [yes]: yes [Enter] ユーザ追加時にMaildirを自動で用意するならyes
    Run OK ? (yes/no) [no]: yes [Enter] これで実行します
    # shutdown -r now [Enter] 最後に再起動して完了です