OpenIndianaをActive Directoryに加入させる
基本的にOracle Solaris 11のやり方で加入させることができますが、OpenIndianaに実装されていないコマンドもありますので一部の手順が異なります。
素のOpenIndianaをActive Driectory連携させてzfsのsmb shareでファイルサーバーにしようとしている記事がないのでまとめ。
設定ファイルの変更
OpenIndianaではsvccfgで設定できない項目があるので手動で設定ファイルを変更します。
設定変更後、システムを再起動させずに設定を反映させる方法がわからないので再起動します。
- /etc/resolv.conf
domain ad.example.com search ad.example.com nameserver 192.168.100.203 nameserver 192.168.100.205
- /etc/nsswitch.conf
#該当する行にadを追加 passwd: files ad group: files ad
実際に加入させる
トラブルが起こると面倒なので Active Directory 側で事前にコンピューターアカウントを作成しておきます。
# smbadm join -u Administrator ad.example.com After joining ad.example.com the smb service will be restarted automatically. Would you like to continue? [no]: y Enter domain password: xxxxx Joining 'vbox.oracle.com' ... this may take a minute ... Successfully joined domain 'ad.example.com'
パスワードを入力すると自動的にシステムの各種設定が行われ、加入手続きが完了します。
SMBに関するのコマンドメモ
sharectl set -p restrict_anonymous=true smb
ZFS ACL等のコマンドメモ
このあたりはSolaris 11のコマンドが一通り使えそうな感じです。
元ネタ
ちゃんとドメインのユーザーを取得できるか確認 ここでちゃんとUIDとGIDが出るならZFSのACLを設定できる
# id [email protected] uid=2147003601([email protected]) gid=2147003601(Domain [email protected])
Active Directoryに最初からある特別なグループは@BUILTINで引くことができる 例えば管理者権限を持つユーザーにアクセスを全部認めるような指定を行う際に使う。
# id Administrators@BUILTIN uid=2147483653(Administrators@BUILTIN) gid=2147483662(Administrators@BUILTIN)
ACL確認
vがacl確認スイッチ
$ ls -vl /zpool drwxr-xr-x 4 root root 4 4月 21 2021 volume 0:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/delete_child /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 2:group@:list_directory/read_data/read_xattr/execute/read_attributes
acl新規設定
この場合rootにフルアクセスを認めつつそれを子ディレクトリとファイルに継承するACLを新規作成する
# chmod -R A+user:root:full_set:file_inherit/dir_inherit:allow /zpool/volume
ドメインのユーザーを指定するならこうする
# chmod -R A+user:[email protected]:full_set:file_inherit/dir_inherit:allow /zpool/volume
誰でも読むことだけできる状態にするならこうする
chmod -R A+everyone@:read_set:file_inherit/dir_inherit:allow /zpool/volume
acl編集
ls -lvで確認した3番目のACLを編集する
chmod A3=user:[email protected]:read_set:file_inherit/dir_inherit:allow /zpool/volume
acl削除
ls -lvで確認した0番目のACLを削除する
# chmod A0- /zpool/volume
ZFS ACL セット
上記コマンドで設定する引数の意味
ACL セット名 | 含まれる ACL アクセス権 |
---|---|
full_set | すべてのアクセス権 |
modify_set | write_acl と write_owner を除くすべてのアクセス権 |
read_set | read_data、read_attributes、 read_xattr、および read_acl |
write_set | write_data、append_data、write_attributes 、および write_xattr |
ZFS ACL 継承フラグ
継承フラグ | 説明 |
---|---|
file_inherit | 親ディレクトリの ACL をそのディレクトリのファイルにのみ継承します。 |
dir_inherit | 親ディレクトリの ACL をそのディレクトリのサブディレクトリにのみ継承します。 |
inherit_only | 親ディレクトリから ACL を継承しますが、新しく作成したファイルまたはサブディレクトリにのみ適用され、そのディレクトリ自体には適用されません。このフラグを使用する場合は、何を継承するかを指定するために、file_inherit フラグまたは dir_inherit フラグ、あるいはその両方を指定する必要があります。 |