サービス開発記録-ローカルプロトタイプ

2019-11-1 - 読み終える時間: 39 分

addrleサービス開発の記録

この記事が誰かの何かの役に立つだろうか?いや、立つまい。 ここに記されるのは「addrle」という名前のサービスを 構築するにあたっての試行錯誤の記録。まとめでもないし 手順としても行きつ戻りつの内容だ。 だが何かのヒントにはなるかもしれない。そう願う。

では、試行錯誤を始めよう。

はじめに

  • 「addrle」はメールアドレスを提供する
  • AWS上で動かす想定
  • プロトタイプの開発に自宅のESXi環境にインフラ構築する
  • 他はなんとなくで想像しておいてほしい

開発環境 on ESXi

  • Amazon Linux 2 を仮想マシンとしてオンプレミスで起動できるように設定済みであるとする

お膳立て(MF1/MS)

  • /etc/resolv.conf (ESXi環境固有)

  • Input:nameserver 192.168.11.187

  • sudo yum -y upgrade

  • df -hT

/dev/sda1 xfs 25G 1.4G 24G 6% /

@MS LVM関連

  • 前提:VMコンソールで10GBのDisk追加済であること

  • LVM インストール

    参考:https://qiita.com/abcb2/items/35f8ec509dd3916fb12b

    • sudo yum search lvm

      lvm2.x86_64 : Userland logical volume management tools

    • sudo yum -y install lvm2.x86_64

    Package 7:lvm2-2.02.177-4.amzn2.0.2.x86_64 already installed and latest version

    Nothing to do

  • 追加DriveのLVM設定

    • 情報表示

      lsblk

    > NAME     MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    > sda        8:0    0   25G  0 disk
    > ├─sda1     8:1    0   25G  0 part /
    > └─sda128 259:0    0    1M  0 part
    > sdb        8:16   0   10G  0 disk
    • 指定した情報表示

      sudo lsblk -a -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL

    NAME SIZE FSTYPE MOUNTPOINT UUID LABEL

    sda 25G

    ├─sda1 25G xfs / 8b852a7d-459f-4eb2-988f-5f3e2196b74a /

    └─sda128 1M

    sdb 10G

    sr0 368K iso9660 2019-09-22-10-06-15-00 cidata

    • パーティショニング
    • GPTにしたいのでgdiskを使う(標準で入ってた)

    参考:https://mattintosh.hatenablog.com/entry/20140926/1411686000

    sudo gdisk /dev/sdb

    Command (? for help): ?

    b back up GPT data to a file

    c change a partition's name

    d delete a partition

    i show detailed information on a partition

    l list known partition types

    n add a new partition

    o create a new empty GUID partition table (GPT)

    p print the partition table

    q quit without saving changes

    r recovery and transformation options (experts only)

    s sort partitions

    t change a partition's type code

    v verify disk

    w write table to disk and exit

    x extra functionality (experts only)

    ? print this menu

    Command (? for help): o

    Proceed? (Y/N): y

    Command (? for help): n

    [Enter],[Enter],[Enter],Hex code or GUID (L to show codes, Enter = 8300): 8e00

    Command (? for help): p で確認

    Disk /dev/sdb: 20971520 sectors, 10.0 GiB

    Logical sector size: 512 bytes

    Disk identifier (GUID): 03CE336D-672F-4DE0-A42B-DF19DF500F2E

    Partition table holds up to 128 entries

    First usable sector is 34, last usable sector is 20971486

    Partitions will be aligned on 2048-sector boundaries

    Total free space is 2014 sectors (1007.0 KiB)

    Number Start (sector) End (sector) Size Code Name

    1 2048 20971486 10.0 GiB 8E00 Linux LVM

    Command (? for help): w で書き込んで proceed? (Y/N): y で終了。

    • LVMのボリューム作成

    • 一応現在の情報表示

      sudo pvs

      sudo vgs

      sudo lvs

      sudo lsblk -a -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL

      sdb 10G

      └─sdb1 10G

    • PV作成

      sudo pvcreate /dev/sdb1

      sudo pvs

      PV VG Fmt Attr PSize PFree

      /dev/sdb1 lvm2 --- <10.00g <10.00g

    • VG作成(adrl-usersという名のVG)

      sudo vgcreate adrl-users /dev/sdb1

      sudo vgs

      VG #PV #LV #SN Attr VSize VFree

      adrl-users 1 0 0 wz--n- <10.00g <10.00g

    • LV作成(LVは1つだけで、どんどん拡張していく想定)

      参考:https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/logical_volume_manager_administration/lv

      sudo lvcreate --name addrle -l 100%FREE adrl-users

      sudo lvs

      LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

      addrle adrl-users -wi-a----- <10.00g

    • ファイルシステム作成

      `sudo lvdisplay`

      LV Path /dev/adrl-users/addrle

      LV UUID REBC40-KFir-CvuK-pIXe-qa8A-dyo0-ZXkStE

      sudo mkfs.xfs /dev/adrl-users/addrle

  • マウントする

    sudo mkdir -p /adrl/USERS

    sudo mount -t xfs /dev/adrl-users/addrle /adrl/USERS

    findmnt

    sudo vi /etc/fstab

    Input:/dev/adrl-users/addrle /adrl/USERS xfs defaults,attr2,inode64,uquota 0 2

  • 再起動して確認

    sudo reboot

    ログインして

    findmnt

@MS NFS関連

@MF1 NFS関連

  • MSの/adrl/USERSを/home/USERSとしてマウントする

    • まずはコマンドで

      sudo mkdir /home/USERS

      sudo mount -t nfs -o rw,intr 192.168.11.122:/adrl/USERS /home/USERS

      df -hT

      192.168.11.122:/adrl/USERS nfs4 10G 42M 10G 1% /home/USERS

    • /etc/fstab

      Input:192.168.11.122:/adrl/USERS /home/USERS nfs rw,intr 0 0

@MF1 ユーザー作成

  • メールユーザー作成

    sudo useradd -b /home/USERS -m mailuser1

    echo mailuser1:**[PASSWORD]** | chpasswd


2019-09-22 ここまで


@MF1 ユーザー系設定

  • Maildir作成

    sudo mkdir /etc/skel/Maildir && sudo chmod 700 /etc/skel/Maildir

@MS quota設定

  • quota limit

    • 状態確認

      sudo xfs_quota -x -c 'report -h' /adrl/USERS

    • limit 設定

      sudo xfs_quota -x -c 'limit bsoft=190m bhard=200m 1002' /adrl/USERS

@MS rsync関連

  • ディレクトリ作成

    sudo mkdir /adrl/{_sysrepo,_bin}

  • cron設定 /etc/cron.daily/sysrepo.bash

    sudo vi /adrl/_bin/sysrepo.bash

    #!/bin/bash
    
    ###output
    EXECDATE=$(date +%y%m%dT%H%M%S)
    xfs_quota -x -c 'report -h' /adrl/USERS > /adrl/_sysrepo/quotarepo-${EXECDATE}.log
    
    ###CleanUP
    find /adrl/_sysrepo -atime +7 > /adrl/_sysrepo/removefiles-${EXECDATE}.log
    find /adrl/_sysrepo -atime +7 -exec rm {} \;
    ###EndofScript

    sudo chmod 750 /adrl/_bin/sysrepo.bash

    sudo ln -s -T /adrl/_bin/sysrepo.bash /etc/cron.daily/sysrepo.bash

MF1/MS bashrc

vi ~/.bashrc

Input:

unalias vi

alias ffd='find `pwd` -type d'

alias fff='find `pwd` -type f'

MF1/MS NTP @dev-offline only

sudo vi /etc/chrony.conf

#server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
server ntp.jst.mfeed.ad.jp iburst
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst

@MF1 コンポーネントインストール

まず Keycloak

Keycloakの要件の Java 8 JDK を入れる

  • Java 8 JDK

    sudo yum -y install java-1.8.0-openjdk.x86_64

    • java.security.egd で urandom

      java -Djava.security.egd=file:/dev/./urandom こうするらしいが、一旦保留
  • zip or gzip

    →両方標準で入っている

  • PostgreSQL (with JDBC)

    sudo yum -y install postgresql-server.x86_64 postgresql-jdbc.noarch postgresql.x86_64

  • Keycloak

    https://www.keycloak.org/docs/latest/getting_started/index.html この辺を読みながら

    cd ~ && mkdir keycloaksetup && cd keycloaksetup && wget https://downloads.jboss.org/keycloak/7.0.0/keycloak-7.0.0.tar.gz

    tar -xzf keycloak-7.0.0.tar.gz

    sudo mkdir /addrle

    sudo mv keycloak-7.0.0 /addrle/keycloak

    • standalone で起動してみる

      cd /addrle/keycloak/bin

      sudo ./standalone.sh

      • 127.0.0.1 しかLISTENしてないので /addrle/keycloak/standalone/configuration/standalone.xml 編集

        sudo vi /addrle/keycloak/standalone/configuration/standalone.xml

        /127.0.0.1 で検索して IP 修正 → 192.168.11.121

        /8080 で検索して Bind Port 修正 → 9801

        また、送信元IP制限を設定する場合は以下を参照。※非常に分かりにくいが standalone.xml または domain.xml を編集せよと。

        https://www.keycloak.org/docs/latest/server_admin/index.html#ip-restriction

      • http://mf1.esxi.home.lan:9801/auth/admin でアクセスできるが、ユーザー名/パスワードを聞かれる。localhostからのアクセスでないと、イニシャライズが走らないらしい。

        ガイドには bin/add-user-keycloak を実行せよとある。

        ex.sudo ./add-user-keycloak.sh -r master -u <username> -p <password>

        sudo ./add-user-keycloak.sh -r master -u keymaster -p PSS-adminrole

        Added 'keymaster' to '/addrle/keycloak/standalone/configuration/keycloak-add-user.json', restart server to load user こう出る

手動起動は面倒なので sytemd にサービス登録する。

sudo cp /usr/lib/systemd/system/chronyd.service /etc/systemd/system/keycloak.service

sudo vi /etc/systemd/system/keycloak.service

だいたい書き換え
    [Unit]
    Description=Keycloak standalone

    [Service]
    Type=simple
    ExecStart=/addrle/keycloak/bin/standalone.sh
    PrivateTmp=yes

    [Install]
    WantedBy=multi-user.target

sudo systemctl start keycloak.service

sudo systemctl status keycloak.service

sudo systemctl enable keycloak.service

  • 改めてブラウザで http://mf1.esxi.home.lan:9801/auth/admin

    https://www.keycloak.org/docs/latest/server_admin/index.html 3.1 あたりから

    • Master Realm ※ガイドにはマスターレルムではユーザー管理を行わない方がいい、とある。

      • Realm Settings

        • Name ※変更不可

          master

        • Display name

          Keycloak

        • HTML Display name

          <div class="kc-logo-text"><span>Keycloak</span></div>

        • Enabled

          [ON]

        • User-Managed Access

          [OFF]

        • Endpoints

          OpenID ~~

          SAML 2.0 ~~

    • 左上の「Master」のところで「Add Realm」

      • Import ... [Select file]とあるので、エクスポートしたファイルを読み込めそう。

      • Name

        addrle-users

      • Enabled

        [ON]

      →[Create]

    • addrle-users Realm

      • Configure

        • Realm Settings

          • General

          • Name

            addrle-users

          • Display name

            addrle-users

          • HTML Display name

          • Enabled

            [ON]

          • User-Managed Access

            [OFF] ※暫定

          • Endpoints

            OpenID ~~

            SAML 2.0 ~~

          • Login

          • User registration

            [OFF]→[ON]

            • Email as username

              [OFF]→[ON]

          • Edit username

            [OFF]

          • Forgot password

            [OFF]→[ON]

          • Remember Me

            [OFF]→[ON]

          • Verify email

            [OFF]

          • Login with email

            [ON]

          • Require SSL

            [external requests] ※暫定

          →[Save]

          • Keys ※今はとりあえずスルー

          • Email

          • Host

            localhost

          • Port

            25

          • From Display Name

            addrle ID management

          • From

            info@esxi.home.lan

          • Reply To Display Name

          • Reply To

          • Envelope From

          • Enable SSL

            [OFF]

          • Enable StartTLS

            [OFF]

          • Enable Authentication

            [OFF]

          →[Save]

          • Themes

          • Login Theme

            keycloak

          • Account Theme

            keycloak

          • Admin Console Theme

            base

          • Email Theme

            keycloak

          • Internationalization Enabled

            [OFF]→[ON]

            • Supported Locales

              ※jaとenがあれば良いが、消す必要もないので初期値

            • Default Locale

              ja

          →[Save]

          • Cache ※キャッシュのクリアーボタンしかない

          • Tokens

          • Default Signature Algorithm

            RS256

          ※あとは初期値で

          →[Save]

          • Client Registration

          • Initial Access Tokens

          →※保留

          • Security Defenses
        • Clients

        • Client Scopes

        • Roles

        • Identity Providers

        • User Federation

        • Authentication

      • Manage

        • Groups

        • Users

        • Sessions

        • Events

        • Import

        • Export

    ※一旦はここまで

    • Getting Start に倣っていく。3.3 New User

      • http://mf1.esxi.home.lan:9801/auth/admin/ → 「addrle-users」→「User」→「Add User」

        • Username

          adrl-u01

        • Email

          adrl-u01@esxi.home.lan

        • First Name

        • Last Name

        • User Enabled

          [ON]

        • Email Verified

          [OFF]

        • Required User Actions

        • Locale

        →[Save]

      • Credentials タブ

        • New Password

          [PASSWORD]

        • Password Confirmation ※Retype

        • Temporary

          [ON]→[Off]

      →[Reset Password]

    • 3.4 User Account Service

根本的にLinuxのシステムユーザーを管理するプロダクトではなさそう。(メールアドレスありきの登録方法)

要プロダクト再検討

  • keycloak再検討
    • 「User Federation」でLDAP連携ができる → とはいえ、ユーザー登録にはメールアドレスが必要なことを考えると、不採用。

2019-09-23 ここまで


メール関連設定

@MF1 postfix設定

  • main.cf 設定

    • 現状確認

      sudo postconf -n

      alias_database = hash:/etc/aliases
      alias_maps = hash:/etc/aliases
      command_directory = /usr/sbin
      config_directory = /etc/postfix
      daemon_directory = /usr/libexec/postfix
      data_directory = /var/lib/postfix
      debug_peer_level = 2
      debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
      html_directory = no
      inet_interfaces = localhost
      inet_protocols = all
      mail_owner = postfix
      mailq_path = /usr/bin/mailq.postfix
      manpage_directory = /usr/share/man
      mydestination = $myhostname, localhost.$mydomain, localhost
      newaliases_path = /usr/bin/newaliases.postfix
      queue_directory = /var/spool/postfix
      readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
      sample_directory = /usr/share/doc/postfix-2.10.1/samples
      sendmail_path = /usr/sbin/sendmail.postfix
      setgid_group = postdrop
      unknown_local_recipient_reject_code = 550
    • main.cf編集 sudo vi /etc/postfix/main.cf

      home_mailbox = Maildir/
      recipient_delimiter = +
      mail_name = addrle
      maximal_queue_lifetime = 2d
      myhostname = mf1.esxi.home.lan
      mydomain = esxi.home.lan
      mydestination = $mydomain, $myhostname, localhost
      myorigin = $mydomain
      mailbox_size_limit = 262144000
      message_size_limit = 47185920
      smtpd_recipient_limit = 13
      inet_interfaces = $myhostname, localhost
    • リロードして確認

      sudo systemctl reload postfix

      sudo systemctl status postfix

      warning: bounce_queue_lifetime is larger than maximal_queue_lifetime - adjusting bounce_queue_lifetime

    • もう一回編集

      sudo vi /etc/postfix/main.cf

      bounce_queue_lifetime = 2d
    • リロードして確認

      sudo systemctl reload postfix

      sudo systemctl status postfix

  • 一応メールを送ってみる to mailuser1

    mail mailuser1

    -bash: mail: command not found

    後で。

@MF1 dovecot設定

  • dovecotインストール

    sudo yum install dovecot

  • dovecot.conf編集

    sudo vi /etc/dovecot/dovecot.conf

    protocols = imap
    listen = *
    login_trusted_networks = 192.168.11.0/24 127.0.0.0/8
  • 起動して確認

    sudo systemctl start dovecot

    sudo systemctl status dovecot

  • 自動起動有効化

    sudo systemctl enable dovecot

@PC IMAP接続可能なメーラーで確認

  • Edmaxで確認

    ログインエラー。サーバーログを見よと。

    • meillog

    Sep 25 01:36:14 mf1 dovecot: imap(mailuser1): Error: user mailuser1: Initialization failed: Namespace '': Mail storage autodetection failed with home=/home/USERS/mailuser1

    Sep 25 01:36:14 mf1 dovecot: imap(mailuser1): Error: Invalid user settings. Refer to server log for more information.

  • dovecotの設定追加

    sudo vi /etc/dovecot/conf.d/10-mail.conf

    mail_location = maildir:~/Maildir
  • リスタートして確認

    sudo systemctl restart dovecot.service

    sudo systemctl status dovecot


2019-09-24 ここまで


ID管理系設定

@MF1 OpenLDAP設定

  • OpenLDAPインストール

    sudo yum -y install openldap-servers.x86_64 openldap-clients.x86_64

    • サービス起動・有効化

      sudo systemctl start slapd

      sudo systemctl status slapd

      sudo systemctl enable slapd

  • config確認

    参考:https://qiita.com/gigatune/items/ec6427e99df21ad2d2b4

    sudo ldapsearch -L -Y EXTERNAL -H ldapi:/// -b cn=config dn

    sudo ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b 'olcDatabase={2}hdb,cn=config'

    • schema確認

      sudo ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b cn=schema,cn=config dn

      dn: cn={0}core,cn=schema,cn=config

      コアスキーマしかない。。。

  • 初期設定

    • 初期設定用LDIF

      sudo vi /addrle/slapd010_setup.ldif

    dn: olcDatabase={0}config,cn=config
    changetype: modify
    add: olcRootPW
    olcRootPW: {SSHA}L+j4i1HEA2OFrTeWVhrKxuQSMZaAGTuO
    
    dn: olcDatabase={2}hdb,cn=config
    changetype: modify
    replace: olcSuffix
    olcSuffix: dc=addrle,dc=info
    
    dn: olcDatabase={2}hdb,cn=config
    changetype: modify
    replace: olcRootDN
    olcRootDN: cn=ldapmaster,dc=addrle,dc=info
    
    dn: olcDatabase={2}hdb,cn=config
    changetype: modify
    replace: olcRootPW
    olcRootPW: {SSHA}L+j4i1HEA2OFrTeWVhrKxuQSMZaAGTuO
    • 初期設定用LDIF反映

      sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /addrle/slapd010_setup.ldif

    • スキーマ追加

      sudo ldapadd -H ldapi:/// -Y EXTERNAL -f /etc/openldap/schema/cosine.ldif

      sudo ldapadd -H ldapi:/// -Y EXTERNAL -f /etc/openldap/schema/nis.ldif

      sudo ldapadd -H ldapi:/// -Y EXTERNAL -f /etc/openldap/schema/inetorgperson.ldif

      sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=schema,cn=config dn

    • 初期登録用LDIF

      sudo vi /addrle/slapd020_mailuser2.ldif

    dn: dc=addrle,dc=info
    objectClass: dcObject
    objectClass: organization
    dc: addrle
    o: ALTERWORKS
    
    dn: ou=USERS,dc=addrle,dc=info
    objectClass: organizationalUnit
    ou: USERS
    
    dn: uid=ldapuser,ou=USERS,dc=addrle,dc=info
    objectClass: account
    objectClass: posixAccount
    uid: mailuser2
    cn: mailuser2
    userPassword: {SSHA}AYbiWUWj5f4rYOAkrBVEKG2ZGKoujcu+
    loginShell: /bin/bash
    uidNumber: 1003
    gidNumber: 1003
    homeDirectory: /home/USERS/mailuser2
    • 初期登録用LDIF反映

    ldapadd -H ldapi:/// -D "cn=ldapmaster,dc=addrle,dc=info" -W -f /addrle/slapd020_mailuser2.ldif

    Enter Password

  • 登録内容確認

    sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b "dc=addrle,dc=info"

    mailuser2のdn間違えた

    • 再登録用LDIF

      sudo vi /addrle/slapd021_mailuser2.ldif

      dn: uid=ldapuser,ou=USERS,dc=addrle,dc=info
      changetype: delete
      
      dn: uid=mailuser2,ou=USERS,dc=addrle,dc=info
      objectClass: account
      objectClass: posixAccount
      uid: mailuser2
      cn: mailuser2
      userPassword: {SSHA}AYbiWUWj5f4rYOAkrBVEKG2ZGKoujcu+
      loginShell: /bin/bash
      uidNumber: 1003
      gidNumber: 1003
      homeDirectory: /home/USERS/mailuser2
    • 再登録

      ldapadd -H ldapi:/// -D "cn=ldapmaster,dc=addrle,dc=info" -W -f /addrle/slapd021_mailuser2.ldif

OS認証設定

  • authconfig-tui

    sudo authconfig-tui

    User Information

    [* ] Use LDAP

    Authentication

    [* ] Use LDAP Authentication

    [Next]

    ERROR: /usr/lib64/libnss_ldap.so.2 が無い

  • 不足パッケージインストール

    sudo yum -y install nss-pam-ldapd

  • authconfig

    sudo id mailuser2

    id: mailuser2: no such user

    sudo authconfig --test --enableldap --enableldapauth --ldapserver=127.0.0.1 --ldapbasedn="ou=USERS,dc=addrle,dc=info"
    sudo authconfig --update --enableldap --enableldapauth --ldapserver=127.0.0.1 --ldapbasedn="ou=USERS,dc=addrle,dc=info"

    sudo id mailuser2

    uid=1003(mailuser2) gid=1003 groups=1003

    ユーザーIDはできているが、当然$HOMEのディレクトリは存在しない

ここまでやってアレだけど、ipa-serverの方が良さそう

参考:https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system-level_authentication_guide/authconfig-install

参考:https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html-single/linux_domain_identity_authentication_and_policy_guide/index#setting-up-clients

ちょと寄り道cron設定 @MS

  • sysrepo.bash
  #!/bin/bash

  ####Set mail HEADER
  EXECDATE=$(date +%Y%m%dT%H%M)
  echo "From: mailuser1@esxi.home.lan" > /adrl/_sysrepo/quotarepo-${EXECDATE}.log
  echo "To: mailuser1@esxi.home.lan" >> /adrl/_sysrepo/quotarepo-${EXECDATE}.log
  echo "Subject: DiskUsageReport ${EXECDATE}" >> /adrl/_sysrepo/quotarepo-${EXECDATE}.log
  echo "" >> /adrl/_sysrepo/quotarepo-${EXECDATE}.log

  ####output
  df -h /adrl/USERS >> /adrl/_sysrepo/quotarepo-${EXECDATE}.log
  echo "" >> /adrl/_sysrepo/quotarepo-${EXECDATE}.log
  xfs_quota -x -c 'report -h' /adrl/USERS >> /adrl/_sysrepo/quotarepo-${EXECDATE}.log

  ####Sendmail
  sendmail -i -f mailuser1@esxi.home.lan mailuser1@esxi.home.lan < /adrl/_sysrepo/quotarepo-${EXECDATE}.log

  ####CleanUP
  find /adrl/_sysrepo -atime +3 > /adrl/_sysrepo/removefiles-${EXECDATE}.log
  find /adrl/_sysrepo -atime +3 -exec rm {} \;
  ####EndofScript
  • /etc/cron.d/sysrepo

    sudo vi /etc/cron.d/sysrepo

    #Run adrl USERS report
    SHELL=/bin/bash
    PATH=/usr/bin:/bin:/usr/sbin
    0 4,12,20 * * * root /adrl/_bin/sysrepo.bash

MSはローカル配送ではないのでDNSにMXレコードを登録しておく


2019-09-27 ここまで