«前の日記(2014-09-04 (Thu)) 最新 次の日記(2014-09-09 (Tue))» 編集

雑記帳


2014-09-08 (Mon) [長年日記]

[Linux] RHEL7でタイムゾーンを変更する

訳あって、ついにRHEL7を触り始めた。さっそくタイムゾーンの変更から、と思って調べてみると、timedatectlというコマンドが用意されているようだ。

現状の確認

# timedatectl status
Local time: Mon 2014-09-08 03:32:45 EDT
Universal time: Mon 2014-09-08 07:32:45 UTC
RTC time: Mon 2014-09-08 07:32:44
Timezone: America/New_York (EDT, -0400)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2014-03-09 01:59:59 EST
Sun 2014-03-09 03:00:00 EDT
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2014-11-02 01:59:59 EDT
Sun 2014-11-02 01:00:00 EST

Asia/Tokyoに変更する

# timedatectl set-timezone Asia/Tokyo

変更した結果

# timedatectl status
Local time: Mon 2014-09-08 16:33:27 JST
Universal time: Mon 2014-09-08 07:33:27 UTC
RTC time: Mon 2014-09-08 07:33:27
Timezone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a

これにより /etc/localtime のシンボリックリンクが適切なものに変更されている。

 # ls -la /etc/localtime
 lrwxrwxrwx. 1 root root 32 Sep  8 16:33 /etc/localtime -> ../usr/share/zoneinfo/Asia/Tokyo

以前と同じ方法でも変更はできるが、timedatectlによってより簡単に変更することができるようになったようだ。

[Linux][EC2] RHEL7でホスト名を変更する

ホスト名を変更するにも、コマンドが用意されている。

変更前

[root@ip-10-0-0-5 ~]# hostnamectl status
   Static hostname: ip-10-0-0-5.iret.local
         Icon name: computer
           Chassis: n/a
        Machine ID: 58ab7d423b974a7789b5d487a94d6f94
           Boot ID: 6d54614a40b643d3ac0274938d123edd
    Virtualization: xen
  Operating System: Red Hat Enterprise Linux Server 7.0 (Maipo)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:7.0:GA:server
            Kernel: Linux 3.10.0-123.el7.x86_64
      Architecture: x86_64

変更

[root@ip-10-0-0-5 ~]# hostnamectl set-hostname jump --static

変更後

[root@ip-10-0-0-5 ~]# hostnamectl status
   Static hostname: jump
         Icon name: computer
           Chassis: n/a
        Machine ID: 58ab7d423b974a7789b5d487a94d6f94
           Boot ID: 6d54614a40b643d3ac0274938d123edd
    Virtualization: xen
  Operating System: Red Hat Enterprise Linux Server 7.0 (Maipo)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:7.0:GA:server
            Kernel: Linux 3.10.0-123.el7.x86_64
      Architecture: x86_64

ちなみに、EC2の場合は、cloud-initの設定を変更しないと、再起動したときに変更されてしまう。

/etc/cloud/cloud.cfgに、下記の行を追加する。

preserve_hostname: true

[Linux][Windows] RHEL7をActive Directory on Windows Server 2012 R2でユーザ認証させる (1)

Active Directory on Windows Server 2012 R2の環境で、Red Hat Enterprise Linx 7をクライアントとして、ユーザ認証を統合してみる。

この手のシステムは実現方法がいくつかあって、自分も過去に複数の方法で構築してきた。

  • winbindで認証を行う
  • KerberosとLDAPを使って認証を行う

winbindで認証を行う

Sambaを使うときにはwinbindの他に選択肢は無いので使わざるを得ないのだが、過去の自分の経験では、winbindはなぜか唐突にプロセスが死んだり、プロセスが死なないにしても認証が失敗するようになったりして、大変つらいものであった。今回はSambaは使わないので、winbindも使いたくない。

KerberosとLDAPを使って認証を行う

winbindを使わない場合は、KerberosとLDAPを組み合わせて認証を行う設定とする。これはきちんと設定できれば、winbindにくらべて安定して使うことができるのだが、いかんせん、設定が非常に面倒である。特に面倒なのが、Windows Server側にUNIX ID管理ツールを導入して、Active Directory側のスキーマを拡張しなければならない点。そして、Windows Server 2012 R2では、この機能は非推奨になってしまい、GUIでは導入できなくなってしまった(コマンドラインツールを使って入れることは可能)。

今回の目標

以上を踏まえて、今回は下記を目標に構築してみようと思う。

  • winbindは使わない
  • UNIX ID管理ツールを使ったスキーマ拡張は行わない

これを実現する方法はちゃんと用意されている。最近は、System Security Services Daemon (SSSD)という、クライアントと多岐にわたるIdentity Provider(IdP)の橋渡しをしてくれるツールがあるので、これを使うことにする。

Active Directoryは、最もメジャーなIdPであるため、SSSDはADを単なるKerberos KDCやLDAPサーバではなく、ADとして扱ってくれるようで、設定も比較的容易らしい。

ということで、今回は決意表明だけをして、次回に続く。待て次号! (続きを書きました