複数のメンバー、複数のグループで共有可能なフォルダを作成する
*member serverの共有フォルダに、windows操作でコントロール可能なサブフォルダを用意してたがACLsが正しく設定できなかった...

ここではsamba側の smb.conf や 共有対象フォルダに直接ACLs設定を施す方法を示す。

参照先 https://wiki.samba.org/index.php/Shares_with_POSIX_ACLs
2015y11m26d_223132255.png
NFSはmember serverでsmb.confや/shareのACLsを操作して共有フォルダを提供する。

member serverを作る

まずはNFSをmember serverに仕立てる。
/etc/hostsと/etc/resolv.confを調整して、

[root@nfs ~]# vi /etc/hosts
127.0.0.1     localhost.localdomain localhost
192.168.0.41  nfs.sybyl.local       nfs
[root@nfs ~]#
[root@nfs ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search sybyl.local
nameserver 192.168.0.3
[root@nfs ~]#

次に、sambaをインストールします。member serverとして参加させる方法は sssd による方法と winbind による方法をここでは提示しているが、簡単なwinbinidで参加させてみます。

[root@nfs ~]# yum install samba samba-winbind
[root@nfs ~]# cat << _EOT_ > /etc/samba/smb.conf
[global]
  workgroup = SYBYL
  security = ADS
  realm = SYBYL.LOCAL
  idmap config SYBYL:backend = ad
  idmap config SYBYL:schema_mode = rfc2307
  idmap config SYBYL:range = 1000-30000
  idmap config *:range = 30001-30010
  idmap config *:backend = tdb
  winbind nss info = rfc2307
  winbind use default domain = true
_EOT_
[root@nfs ~]#
[root@nfs ~]# net ads join osName=CentOS osVer=7.2 -Uadministrator
Enter administrator's password:
Using short domain name -- SYBYL
Joined 'NFS' to dns domain 'sybyl.local'
[root@nfs ~]#

これで参加されたが、ユーザ情報を引くにはwinbindを稼働させる必要がある。

[root@nfs ~]# authconfig --enablewinbind --enablewinbindauth --update

これでwinbindが起動します。

*注意 authconfig-tui を使ってwinbindを設定をすると /etc/samba/smb.conf の内容が書き代わりますので要注意
っで、ユーザ情報が引けた

[root@nfs ~]# getent passwd illya
illya:*:1002:2000:Illyasviel von Einzbern:/home/illya:/bin/bash
[root@nfs ~]#
[root@nfs ~]# getent group fate
fate:*:2000:
[root@nfs ~]#

共有フォルダを作る

まず簡単に グループ fate に所属するユーザだけが利用できる共有フォルダを作る

[root@nfs ~]# mkdir -p /share/fate
[root@nfs ~]# chmod 770 /share/fate
[root@nfs ~]# chgrp fate /share/fate

そして、/etc/samba/smb.confに下記を加えて

[fate]
  path=/share/fate
  read only = no
  valid users = +SYBYL\fate

smbを起動させます。

[root@nfs ~]# systemctl start smb
[root@nfs ~]# systemctl enable smb

書き込むユーザは別々だけど、同一のユーザ(nobody)で保存させるには

まず共有フォルダを用意して、そのフォルダの所有権を代える。ここではnobodyのgroupを設定

[root@nfs ~]# mkdir -p /share/em
[root@nfs ~]# chmod 770 /share/em
[root@nfs ~]# chgrp nobody /share/em

その後、smb.confを調整して

[em]
  path=/share/em
  read only = no
  force user = nobody
  force group= nobody

既に smb が稼働しているのなら

[root@nfs ~]# smbcontrol all reload-config

と設定ファイルを再読み込みする。
これでドメインユーザなら誰でも \\nfs\em にアクセスできて、そこに置いたファイルは nobody:nobody の所有物になる。

ドメインに登録されていないユーザでも書き込める共有フォルダを用意する

パスワードなしで共有可能なフォルダ。
具体的には

  • ドメインに参加していないマシンから、ドメインに登録していないユーザでも利用できる共有フォルダ
  • ドメインに参加しているマシンで、ローカルアカウント(ドメインユーザ名以外)でも利用できる共有フォルダ

を作る。先ずフォルダを用意して、誰でも書き込み可能とする
*後述の特定のユーザ所有物(nobody)にしたい場合、chown nobody /share/imageとする

[root@nfs ~]# mkdir /share/image
[root@nfs ~]# chmod 777 /share/image

smb.confの[global]欄にmap to guest = Bad Passwordを追記する

[global]
(略)
guest account = nobody
map to guest  = Bad User
[image]
  path=/share/image
  read only = no
  guest ok = yes

*共有フォルダに置かれたフォルダ、ファイルの所有者は認証を経ていればそのユーザの所有物になる
認証を経由しないならnobodyの所有となる
特定のユーザの所有物に固定したいなら、force user、force groupを適用する
要注意 map to guestActiveDirectoryドメインコントローラでは機能しない。メンバサーバのみ有効
参照:https://wiki.samba.org/index.php/FAQ#How_Do_I_Enable_Guest_Access_to_a_Share_on_a_Samba_AD_DC.3F
既に smb が稼働しているのなら

[root@nfs ~]# smbcontrol all reload-config

と設定ファイルを再読み込みする。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2015-12-23 (水) 15:19:13 (603d)