KaiOS搭載のJioPhoneの型番がよくわかんない件

Firefox OSの派生とも言えるKaiOSを搭載しているというJioPhone

調べて見ると、youtubeにキーロックされたものをリカバリーモードで起動してファクトリーリセットする、というやつが大量に出てくるんだけど、型番がたくさんあって謎過ぎる・・・

JioPhone F30C

JioPhone F81E

JioPhone LF-2403N

JioPhone F61f

JioPhone F90M

JioPhone F101K

Samba 4.7.xでActive Directoryを1から立てる

2019/06/14追記

Samba 4.10.xでActive Directoryを1から立てる」という記事を更新版の記事を作成しています。違いは必要となるパッケージが増えたことについてです。


CentOS7とSamba 4.7.5で環境を作成しなおしたので、記事更新

過去の記事はこちら
2014年2月版「Samba 4.xでActive Directoryを1から立てる
2016年7月版「Samba 4.4.xでActive Directoryを1から立てる


Linux上でSambaを使ってActive Directoryサーバを立てるメリット
Windows Serverを買わなくてもActive Directoryを作れる
 ライセンス費用の低減
Active Directoryユーザの作成などのユーザ管理をWindowsマシンからWindows標準ツールで行える
 ユーザ作成/変更、コンピュータアカウントの作成、DNS管理など、Active Directoryの管理を行う際に
 良く使う動作については、Linuxのコマンドではなく、WindowsのActive Directory管理ツールで行える
 具体的にはADに参加しているWindowsマシンにWindows機能のActive Directory管理ツールを追加インストールしたあと、
 ADの管理者ユーザでログオンすることでAD管理を行うことができる
設定が難しくない
 いまのsambaは、DNSサーバとLDAPサーバ機能が統合されており、AD名とAD上の役割と
 管理者パスワードを決めてしまえば、あとは良きに計らってくれるので
 設定の難易度が非常に低い

もちろん、デメリット、もあります
ActiveDirectoryの全機能が搭載されていない
 ドメイン/フォレストの機能レベルが「Windows Server 2008 R2」までとなっている。
 なお、フェールオーバクラスタについては作成できるようになっていました。
 →「samba 4.7.4で作ったActive Directory環境でWindowsServer2016フェールオーバークラスターを動作させた」というわけで動作することを確認しました

それでは、実際の手順について・・・
元ネタは公式ページの「Setting up Samba as an Active Directory Domain Controller」となります。

0. CentOS7の最小インストールを実施

1. /etc/hostsの修正
自ホスト名を/etc/hostsに追加
追加の際は、ショートのホスト名と、ドメイン付きのFQDNの両方を列挙すること。

[root@adserver ~]# cat /etc/hosts<br><br>
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4<br><br>
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6<br><br>
172.17.44.40    adserver adserver.adosakana.local<br><br>
[root@adserver ~]#

2. 好みに応じて使うツールをインストール
セッションが途中で切れても良い様に「screen」と、ファイルダウンロードするためにwget(curlでもいいのですが)をインストールします。

[root@adserver ~]# yum install wget screen<br><br>
<略><br><br>
[root@adserver ~]#

3. 必要なパッケージをインストール
Samba公式の「Operating system requirements/Dependencies – Libraries and programs」に記載されているパッケージをインストール

[root@adserver ~]# yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \<br><br>
       libsemanage-python libxslt perl perl-ExtUtils-MakeMaker \<br><br>
       perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python \<br><br>
       python-crypto gnutls-devel libattr-devel keyutils-libs-devel \<br><br>
       libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel \<br><br>
       pam-devel popt-devel python-devel readline-devel zlib-devel systemd-devel<br><br>
<略><br><br>
[root@adserver ~]#

4. sambaのtar.gzをダウンロード

[root@adserver ~]# wget https://download.samba.org/pub/samba/stable/samba-4.7.5.tar.gz<br><br>
--2016-xx-xx xx:xx:xx--  https://download.samba.org/pub/samba/stable/samba-4.7.5.tar.gz<br><br>
download.samba.org をDNSに問いあわせています... 144.76.82.156<br><br>
download.samba.org|144.76.82.156|:443 に接続しています... 接続しました。<br><br>
HTTP による接続要求を送信しました、応答を待っています... 200 OK<br><br>
長さ: 20715838 (20M) [application/gzip]<br><br>
`samba-4.7.5.tar.gz' に保存中</p><br>
<p>100%[======================================>] 16,862,398  3.71MB/s 時間 5.5s</p><br>
<p>2018-03-xx xx:xx:xx (2.93 MB/s) - `samba-4.7.5.tar.gz' へ保存完了 [16862398/16862398]</p><br>
<p>[root@adserver ~]#

5. configure実施

[root@adserver ~]# tar xfz samba-4.7.5.tar.gz<br><br>
[root@adserver ~]# cd samba-4.7.5<br><br>
[root@adserver samba-4.7.5]# ./configure<br><br>
Checking for program gcc or cc           : /usr/bin/gcc<br><br>
Checking for program cpp                 : /usr/bin/cpp<br><br>
<略><br><br>
Checking if toolchain accepts -fstack-protector                                                 : yes<br><br>
'configure' finished successfully (2m43.587s)<br><br>
[root@adserver samba-4.7.5]#

6. make & make install

[root@adserver samba-4.7.5]# make<br><br>
WAF_MAKE=1 python ./buildtools/bin/waf build<br><br>
Waf: Entering directory `/root/samba-4.7.5/bin'<br><br>
<略><br><br>
Note: Writing nmblookup4.1<br><br>
Waf: Leaving directory `/root/samba-4.7.5/bin'<br><br>
'build' finished successfully (22m56.876s)<br><br>
[root@adserver samba-4.7.5]# make install<br><br>
WAF_MAKE=1 python ./buildtools/bin/waf install<br><br>
Waf: Entering directory `/root/samba-4.7.5/bin'<br><br>
<略><br><br>
* installing bin/default/pidl/Parse::Pidl::Wireshark::NDR.3pm as /usr/local/samba/share/man/man3/Parse::Pidl::Wireshark::NDR.3pm<br><br>
Waf: Leaving directory `/root/samba-4.7.5/bin'<br><br>
'install' finished successfully (6m48.094s)<br><br>
[root@adserver samba-4.7.5]#

7. インストール完了確認

sambaのバージョン確認

[root@adserver ~]# /usr/local/samba/sbin/samba -V<br><br>
Version 4.7.5<br><br>
[root@adserver ~]#

8. Active Directoryのセットアップ
ドメイン「adosakana.local」を作成します。
また、sambaの機能を使ってAD DNSを構築するので「SAMBA_INTERNAL」を選択します。

なお、「–use-rfc2307」はADにNIS連携機能を追加するオプションです。AD上にUnix用のUID/GID/shell情報なども格納できるようにします。Samba環境では有効にしておくべきものです。

[root@adserver ~]# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive<br><br>
Realm [ADOSAKANA.LOCAL]:<br><br>
 Domain [ADOSAKANA]:<br><br>
 Server Role (dc, member, standalone) [dc]:<br><br>
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:<br><br>
 DNS forwarder IP address (write 'none' to disable forwarding) [172.30.50.100]:<br><br>
Administrator password:<br><br>
Retype password:<br><br>
Looking up IPv4 addresses<br><br>
Looking up IPv6 addresses<br><br>
No IPv6 address will be assigned<br><br>
Setting up secrets.ldb<br><br>
Setting up the registry<br><br>
Setting up the privileges database<br><br>
Setting up idmap db<br><br>
Setting up SAM db<br><br>
Setting up sam.ldb partitions and settings<br><br>
Setting up sam.ldb rootDSE<br><br>
Pre-loading the Samba 4 and AD schema<br><br>
Adding DomainDN: DC=adosakana,DC=local<br><br>
Adding configuration container<br><br>
Setting up sam.ldb schema<br><br>
Setting up sam.ldb configuration data<br><br>
Setting up display specifiers<br><br>
Modifying display specifiers<br><br>
Adding users container<br><br>
Modifying users container<br><br>
Adding computers container<br><br>
Modifying computers container<br><br>
Setting up sam.ldb data<br><br>
Setting up well known security principals<br><br>
Setting up sam.ldb users and groups<br><br>
Setting up self join<br><br>
Adding DNS accounts<br><br>
Creating CN=MicrosoftDNS,CN=System,DC=adosakana,DC=local<br><br>
Creating DomainDnsZones and ForestDnsZones partitions<br><br>
Populating DomainDnsZones and ForestDnsZones partitions<br><br>
Setting up sam.ldb rootDSE marking as synchronized<br><br>
Fixing provision GUIDs<br><br>
A Kerberos configuration suitable for Samba AD has been generated at /usr/local/samba/private/krb5.conf<br><br>
Setting up fake yp server settings<br><br>
Once the above files are installed, your Samba AD server will be ready to use<br><br>
Server Role:           active directory domain controller<br><br>
Hostname:              adserver<br><br>
NetBIOS Domain:        ADOSAKANA<br><br>
DNS Domain:            adosakana.local<br><br>
DOMAIN SID:            S-1-5-21-98280047-2622333268-1688910966</p><br>
<p>[root@adserver ~]#

なお、password_hashでエラーとなるとおもいます。
現状の /etc/krb5.conf の内容が問題で発生しています。
この後の手順で正しいものに置き換えるので、この段階では単純に「mv /etc/krb5.conf /etc/krb5.conf.org」などの手段で別の名前として使わなくすれば大丈夫です。

Setting up sam.ldb users and groups<br><br>
ERROR(ldb): uncaught exception - operations error at ../source4/dsdb/samdb/ldb_modules/password_hash.c:3132<br><br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/netcmd/__init__.py", line 176, in _run<br><br>
    return self.run(*args, **kwargs)<br><br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/netcmd/domain.py", line 474, in run<br><br>
    nosync=ldap_backend_nosync, ldap_dryrun_mode=ldap_dryrun_mode)<br><br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", line 2175, in provision<br><br>
    skip_sysvolacl=skip_sysvolacl)<br><br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", line 1787, in provision_fill<br><br>
    next_rid=next_rid, dc_rid=dc_rid)<br><br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", line 1447, in fill_samdb<br><br>
    "KRBTGTPASS_B64": b64encode(krbtgtpass.encode('utf-16-le'))<br><br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/common.py", line 55, in setup_add_ldif<br><br>
    ldb.add_ldif(data, controls)<br><br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/__init__.py", line 229, in add_ldif<br><br>
    self.add(msg, controls)

9. sambaを起動

[root@adserver ~]# ps -ef|grep samba<br><br>
root     11129 23028  0 16:01 pts/0    00:00:00 grep --color=auto samba<br><br>
[root@adserver ~]# /usr/local/samba/sbin/samba<br><br>
[root@adserver ~]# ps -ef|grep samba<br><br>
root     11131     1 14 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11132 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11133 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11134 11132  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11135 11134 19 16:01 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground<br><br>
root     11136 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11137 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11138 11131 21 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11139 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11140 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11141 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11142 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11143 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11144 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11145 11142  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11146 11131  2 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11147 11145 18 16:01 ?        00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground<br><br>
root     11148 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11151 11146  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11152 11151 17 16:01 ?        00:00:00 python /usr/local/samba/sbin/samba_dnsupdate<br><br>
root     11153 11146  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba<br><br>
root     11154 11153 17 16:01 ?        00:00:00 python /usr/local/samba/sbin/samba_spnupdate<br><br>
root     11157 11135  0 16:01 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground<br><br>
root     11158 11135  0 16:01 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground<br><br>
root     11160 23028  0 16:01 pts/0    00:00:00 grep --color=auto samba<br><br>
root     11161 11147  0 16:01 ?        00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground<br><br>
[root@adserver ~]#

10.動作確認
CentOS内部からSMB接続を行うテストを実施。

[root@adserver ~]# /usr/local/samba/bin/smbclient --version<br><br>
Version 4.7.5<br><br>
[root@adserver ~]# /usr/local/samba/bin/smbclient -L localhost -U%</p><br>
<p>        Sharename       Type      Comment<br><br>
        ---------       ----      -------<br><br>
        netlogon        Disk<br><br>
        sysvol          Disk<br><br>
        IPC$            IPC       IPC Service (Samba 4.7.5)<br><br>
Reconnecting with SMB1 for workgroup listing.</p><br>
<p>        Server               Comment<br><br>
        ---------            -------</p><br>
<p>        Workgroup            Master<br><br>
        ---------            -------<br><br>
[root@adserver ~]#

以前は「Domain=[ADOSAKANA.LOCAL] OS=[Unix] Server=[Samba x.y.z]」という出力もあったのですが、Samba 4.7.5では無くなったようです。

netlogon共有にAdministrator権限でアクセスできるか確認。

[root@adserver ~]# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c 'ls'<br><br>
Enter Administrator's password:<br><br>
  .                                   D        0  Fri Mar  2 15:53:48 2018<br><br>
  ..                                  D        0  Fri Mar  2 15:58:16 2018</p><br>
<p>                14034944 blocks of size 1024. 11789628 blocks available<br><br>
[root@adserver ~]#

11.AD DNSの動作テスト
AD DNSが想定通りに動作しているかテストします。

まず、どんなzoneが登録されているのか確認

[root@adserver ~]# /usr/local/samba/bin/samba-tool dns zonelist 127.0.0.1 -U Administrator<br><br>
Password for [ADOSAKANA\Administrator]:<br><br>
  2 zone(s) found</p><br>
<p>  pszZoneName                 : adosakana.local<br><br>
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE<br><br>
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY<br><br>
  Version                     : 50<br><br>
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED<br><br>
  pszDpFqdn                   : DomainDnsZones.adosakana.local</p><br>
<p>  pszZoneName                 : _msdcs.adosakana.local<br><br>
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE<br><br>
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY<br><br>
  Version                     : 50<br><br>
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_FOREST_DEFAULT DNS_DP_ENLISTED<br><br>
  pszDpFqdn                   : ForestDnsZones.adosakana.local<br><br>
[root@adserver ~]#

Active Directoryで使用するDNSのSRVレコードが登録されているかをhostコマンドを使って確認。

[root@adserver ~]# host -t SRV _ldap._tcp.adosakana.local 127.0.0.1<br><br>
Using domain server:<br><br>
Name: 127.0.0.1<br><br>
Address: 127.0.0.1#53<br><br>
Aliases:</p><br>
<p>_ldap._tcp.adosakana.local has SRV record 0 100 389 adserver.adosakana.local.<br><br>
[root@adserver ~]# host -t SRV _kerberos._udp.adosakana.local 127.0.0.1<br><br>
Using domain server:<br><br>
Name: 127.0.0.1<br><br>
Address: 127.0.0.1#53<br><br>
Aliases:</p><br>
<p>_kerberos._udp.adosakana.local has SRV record 0 100 88 adserver.adosakana.local.<br><br>
[root@adserver ~]#

ADサーバのホスト名が登録されているか確認

[root@adserver ~]# host -t A adserver.adosakana.local 127.0.0.1<br><br>
Using domain server:<br><br>
Name: 127.0.0.1<br><br>
Address: 127.0.0.1#53<br><br>
Aliases:</p><br>
<p>adserver.adosakana.local has address 172.17.44.40<br><br>
[root@adserver ~]#

12. DNSサーバの変更
ADサーバの/etc/resolv.confを、ADサーバ自身を使う様に書き換え

13. /etc/krb5.conf の変更
/usr/local/samba/private/krb5.conf に元となるものがあるので、それを使用する。

[root@adserver ~]# cat /etc/krb5.conf<br><br>
[logging]<br><br>
 default = FILE:/var/log/krb5libs.log<br><br>
 kdc = FILE:/var/log/krb5kdc.log<br><br>
 admin_server = FILE:/var/log/kadmind.log</p><br>
<p>[libdefaults]<br><br>
 default_realm = EXAMPLE.COM<br><br>
 dns_lookup_realm = false<br><br>
 dns_lookup_kdc = false<br><br>
 ticket_lifetime = 24h<br><br>
 renew_lifetime = 7d<br><br>
 forwardable = true</p><br>
<p>[realms]<br><br>
 EXAMPLE.COM = {<br><br>
  kdc = kerberos.example.com<br><br>
  admin_server = kerberos.example.com<br><br>
 }</p><br>
<p>[domain_realm]<br><br>
 .example.com = EXAMPLE.COM<br><br>
 example.com = EXAMPLE.COM<br><br>
[root@adserver ~]# cat /usr/local/samba/private/krb5.conf<br><br>
[libdefaults]<br><br>
        default_realm = ADOSAKANA.LOCAL<br><br>
        dns_lookup_realm = false<br><br>
        dns_lookup_kdc = true<br><br>
[root@adserver ~]# cp /usr/local/samba/private/krb5.conf /etc/krb5.conf<br><br>
cp: `/etc/krb5.conf' を上書きしてもよろしいですか(yes/no)? y<br><br>
[root@adserver ~]# cat /etc/krb5.conf<br><br>
[libdefaults]<br><br>
        default_realm = ADOSAKANA.LOCAL<br><br>
        dns_lookup_realm = false<br><br>
        dns_lookup_kdc = true<br><br>
[root@adserver ~]#

14. Kerberosの動作確認

kinitコマンドを実行して確認します。

[root@adserver ~]# kinit administrator@ADOSAKANA.LOCAL<br><br>
Password for administrator@ADOSAKANA.LOCAL:<br><br>
Warning: Your password will expire in 41 days on 2018年04月13日 15時58分15秒<br><br>
[root@adserver ~]#

正常に設定されていれば、上記の様にAdministratorユーザのパスワード有効期限が表示されます。

ドメイン名指定の大文字/小文字を間違えると下記の様なエラーとなります。

[root@adserver ~]# kinit administrator@adosakana.local<br><br>
Password for administrator@adosakana.local:<br><br>
kinit: KDC reply did not match expectations while getting initial credentials<br><br>
[root@adserver ~]#

また、DNSサーバ指定が誤っている場合は下記の様なエラーです。

[root@adserver ~]# kinit administrator@ADOSAKANA.LOCAL<br><br>
kinit: Cannot resolve servers for KDC in realm "ADOSAKANA.LOCAL" while getting initial credentials<br><br>
[root@adserver ~]#

「klist」コマンドを実行することでも確認出来ます。

[root@adserver ~]# klist<br><br>
Ticket cache: FILE:/tmp/krb5cc_0<br><br>
Default principal: administrator@ADOSAKANA.LOCAL</p><br>
<p>Valid starting       Expires              Service principal<br><br>
2018-03-02T16:06:21  2018-03-03T02:06:21  krbtgt/ADOSAKANA.LOCAL@ADOSAKANA.LOCAL<br><br>
        renew until 2018-03-03T16:06:18<br><br>
[root@adserver ~]#

15. フォレストとドメインの機能レベル確認
作成したActive Directoryのドメインの機能レベルとフォレストの機能レベルを確認します。

[root@adserver ~]# /usr/local/samba/bin/samba-tool domain level show<br><br>
Domain and forest function level for domain 'DC=adosakana,DC=local'</p><br>
<p>Forest function level: (Windows) 2008 R2<br><br>
Domain function level: (Windows) 2008 R2<br><br>
Lowest function level of a DC: (Windows) 2008 R2<br><br>
[root@adserver ~]#

Samba 4.7.5では、Windows Sevrer 2008R2と設定されているようです。

16. firewalldの設定

CentOS7ではfirewalldによりポートが制限されています。
現状を「firewall-cmd –list-all」で確認。

# firewall-cmd --list-all<br><br>
public (active)<br><br>
  target: default<br><br>
  icmp-block-inversion: no<br><br>
  interfaces: ens160<br><br>
  sources:<br><br>
  services: ssh dhcpv6-client<br><br>
  ports:<br><br>
  protocols:<br><br>
  masquerade: no<br><br>
  forward-ports:<br><br>
  source-ports:<br><br>
  icmp-blocks:<br><br>
  rich rules:<br><br>
# 

開けるべきポートのテンプレートがあらかじめ用意されているので「firewall-cmd –get-services」を実行して確認します。

# firewall-cmd --get-services<br><br>
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server<br><br>
#

SambaをADとして使う場合のポートを「Samba AD DC Port Usage」で確認します。

CentOS7のfirewalldで定義されているものと待避させてみると・・・

サービス ポート プロトコル firewalld定義
DNS 53 tcp/udp dns
Kerberos 88 tcp/udp kerberos,freeipa-ldap,freeipa-ldaps
End Point Mapper (DCE/RPC Locator Service) 135 tcp freeipa-trust
NetBIOS Name Service 137 udp samba,samba-client
NetBIOS Datagram 138 udp samba,samba-client,freeipa-trust
NetBIOS Session 139 tcp samba,freeipa-trust
LDAP 389 tcp/udp freeipa-trust(ldap,freeipa-ldapはtcpのみ)
SMB over TCP 445 tcp samba,freeipa-trust(freeipa-trustはudpも含む)
Kerberos kpasswd 464 tcp/udp kpasswd,freeipa-ldap,freeipa-ldaps
LDAPS 636 tcp ldaps,freeipa-ldaps
Dynamic RPC Ports(4.7以前) 1024-1300 tcp freeipa-trust
Dynamic RPC Ports(samba 4.7以降) 49152-65535 tcp ?
Global Catalog 3268 tcp freeipa-trust
Global Catalog SSL 3269 tcp なし

・firewalldの定義「samba」「dns」「freeipa-ldaps」「freeipa-trust」を使用
・「Dynamic RPC Ports(samba 4.7以降):49152-65535」を追加するか、smb.confで「rpc server port」を定義するか。
・「Global Catalog SSL:3269」を追加

# firewall-cmd --permanent --zone=public --add-service=samba<br><br>
success<br><br>
# firewall-cmd --permanent --zone=public --add-service=dns<br><br>
success<br><br>
# firewall-cmd --permanent --zone=public --add-service=freeipa-ldaps<br><br>
success<br><br>
# firewall-cmd --permanent --zone=public --add-service=freeipa-trust<br><br>
success<br><br>
# firewall-cmd --reload<br><br>
success<br><br>
# firewall-cmd --list-all<br><br>
public (active)<br><br>
  target: default<br><br>
  icmp-block-inversion: no<br><br>
  interfaces: ens160<br><br>
  sources:<br><br>
  services: ssh dhcpv6-client samba dns freeipa-ldaps freeipa-trust<br><br>
  ports:<br><br>
  protocols:<br><br>
  masquerade: no<br><br>
  forward-ports:<br><br>
  source-ports:<br><br>
  icmp-blocks:<br><br>
  rich rules:</p><br>
<p>#

# firewall-cmd --permanent --zone=public --add-port=49152-65535/tcp<br><br>
success<br><br>
# firewall-cmd --permanent --zone=public --add-port=3269/tcp<br><br>
success<br><br>
# firewall-cmd --reload<br><br>
success<br><br>
# firewall-cmd --list-all<br><br>
public (active)<br><br>
  target: default<br><br>
  icmp-block-inversion: no<br><br>
  interfaces: ens160<br><br>
  sources:<br><br>
  services: ssh dhcpv6-client samba dns freeipa-ldaps freeipa-trust<br><br>
  ports: 49152-65535/tcp 3269/tcp<br><br>
  protocols:<br><br>
  masquerade: no<br><br>
  forward-ports:<br><br>
  source-ports:<br><br>
  icmp-blocks:<br><br>
  rich rules:<br><br>
#

17. systemdへの登録
systemdへの登録については「Managing the Samba AD DC Service Using Systemd」を参照のこと
CentOS6の場合は「Managing the Samba AD DC Service Using an Init Script

以上で設定は終了です。

Firefox OSから派生したKaiOS

Firefox OSから派生した「KaiOS」というのがMWC2018でいろいろ発表しているらしい。
NOKIAのスライド端末「Nokia 8110 4G」でも使われているとのこと。

このKaiOS、Intel向けに14MBの軽量Linuxディストリビューション「KaiOS」という既存のプロダクトと名前かぶりで、Firefox OS派生のKaiOSの方はソース公開してないせいで、ソース寄こせ要求で迷惑を被っているようで、サイトに注意書きがあったり・・・

さて、モバイルのKaiOSのサイトを見ていたら「JioPhone」というストレート型携帯をすでにインドでリリースしているらしい
KaiOS Transforms the Indian Market through Launch of JioPhone」(2018/01/10)

Firefox OS向けにSpreadtrumも開発してて、いくつか開発機が開発ツリーに登録されてたけど・・・と思って、記事を漁ってみたら、JioPhoneで使っているSoCはSpreadtrumのSC9820Aだった模様。
KaiOS Partners with Spreadtrum to Integrate with Newest Chipsets and Offer Advanced Functionality on Lite Phones」(2018/02/26)

2017年春に発売されたLava Connect M1とは別物である模様(インド向けガラホLava Connect M1登場。Spreadtrum SoCでVoLTE対応)

マニュアルを読むと、Jio Appsというアプリストアがあり、ソフトウェアが追加できるようだ。
まだ、Jio Payという支払いソフトウェア用のボタンが用意されているようだ。
バンド対応がイマイチなので、日本で買うにはちょっときつい感じです。


2019/01/16追記

最近の状況を確認してみたら、2018年8月6日に「Can I access the source code?」という形で「https://github.com/kaiostech」におけるソース公開を始めていた。

ただ、置いてあるもののベースがえらく古いように見えるんですが・・・

既存のSamba 4.5以前を4.7へアップデートする場合の注意点

あまり考えずに既存のSamba 4.4.x環境を最新のSamba 4.7.xにアップデートをした。
ようは、configure;make;make install。

が・・・「Updating Samba」を見ると、Samba 4.5.0で「replPropertyMetaData」の取り扱いが変わったので修正しなければならない、という記載が・・・

修正が必要かどうかは「samba-tool dbcheck –cross-ncs」で確認出来る、とのこと

問題なければ、下記の出力・・・

# samba-tool dbcheck --cross-ncs
Checking 3602 objects
Checked 3602 objects (0 errors)
#

問題がある場合は下記の様な形でエラーが報告されます。
ちなみに、エラーのテキスト出力が6.5MBありました・・・

# samba-tool dbcheck --cross-ncs --fix --yes
Checking 3602 objects
CN=MHS-OR-Address,CN=Schema,CN=Configuration,DC=adosakana,DC=local: 0x0009030e
CN=MHS-OR-Address,CN=Schema,CN=Configuration,DC=adosakana,DC=local: 0x00090177
<略>
Checked 3602 objects (3467 errors)
#

「samba-tool dbcheck –cross-ncs –fix –yes」を実行することで修正されました。

また、4.0以前のバージョンからアップデートした場合にSYSVOLの修復を行うために「samba-tool ntacl sysvolreset」を実行するという記述があったので、試しにSYSVOLのチェック「samba-tool ntacl sysvolcheck」を実行してみると、下記のエラーが発生。

# samba-tool ntacl sysvolcheck

ERROR(<class 'samba.provision.ProvisioningError'>): uncaught exception - ProvisioningError: DB ACL on GPO directory /usr/local/samba/var/locks/sysvol/adosakana.local/Policies/{20AA5877-2399-4CBC-8BA4-7F23D8810774} O:DAG:DAD:PAI(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;EA)(A;OICIIO;0x001f01ff;;;CO)(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;SY)(A;OICI;0x001200a9;;;AU)(A;OICI;0x001200a9;;;ED) does not match expected value O:DAG:DAD:P(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;EA)(A;OICIIO;0x001f01ff;;;CO)(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;SY)(A;OICI;0x001200a9;;;AU)(A;OICI;0x001200a9;;;ED) from GPO object
  File "/usr/local/samba/lib64/python2.6/site-packages/samba/netcmd/__init__.py", line 176, in _run
    return self.run(*args, **kwargs)
  File "/usr/local/samba/lib64/python2.6/site-packages/samba/netcmd/ntacl.py", line 270, in run
    lp)
  File "/usr/local/samba/lib64/python2.6/site-packages/samba/provision/__init__.py", line 1723, in checksysvolacl
    direct_db_access)
  File "/usr/local/samba/lib64/python2.6/site-packages/samba/provision/__init__.py", line 1674, in check_gpos_acl
    domainsid, direct_db_access)
  File "/usr/local/samba/lib64/python2.6/site-packages/samba/provision/__init__.py", line 1621, in check_dir_acl
    raise ProvisioningError('%s ACL on GPO directory %s %s does not match expected value %s from GPO object' % (acl_type(direct_db_access), path, fsacl_sddl, acl))
#

「samba-tool ntacl sysvolreset」を実行して修正。

# samba-tool ntacl sysvolreset
# samba-tool ntacl sysvolcheck
#

単3電池駆動の携帯電話SpareOneは会社ごと死亡

非常時に使える単三乾電池で駆動する携帯電話Spare One
最近話題を聞かないけど、どうしたのかなぁ、と調べて見た

2013/06/06: 単3電池駆動のシンプルフォンSpare Oneに新モデルSpare One plus登場
2014/06/06: 単3乾電池で動作する携帯SpareOneがComputex Debut!の謎
2016/07/26: 単3電池駆動の携帯電話SpareOneの3Gモデルが登場していた

サイトにアクセスしてみると・・・

ドメイン消滅済み。

調べて見ると、アメリカでSpare Oneを販売していたこともあるAT&Tからお知らせがでているのを発見。
SpareOne service no longer available
AT&TのプリペイドSIMで販売したSpareOne Emergency Phone向けのサービスは2017年10月15日で終了します。という告知。

いまだにAmazon.comで売ってるSellerがいる、というのもアレだけど、レビューを読むとAT&Tの告知は2017年8月31日ぐらいにでて、9月7日頃にはSpareOneのWebもサポートも連絡が取れなくなった模様。

まぁ、緊急時の警報通報サービスシステムが使えなくなっている、というだけなので、電話として使うことはできるようなんですが、GSM自体も先が無いですし、見込まれた終焉って感じがしなくもないですね・・・