2013年2月26日火曜日

Samba で「特定のグループやユーザからだけ見える共有を作成」したときのアクセス権の問題

長年の問題が解決したので一言。

職場の Linux で Samba2.2.8 を使っていた時に、Linux のグループが root になっているユーザにだけ、特定の Samba の共有が見えるようにするため、特定のグループやユーザからだけ見える共有を作成する を見て設定した。

Samba3.0.33 ではこの設定のままでも使えていたが、Samba3.5.2 では、この共有に Windows からアクセスしようとすると「[共有名] に対するアクセス許可がありません」 と表示されるという現象になり困っていた。

この現象は、Linux のディレクトリのパーミションが drwxrwx--- だと発生して drwxrwxrwx だと発生しない。でも後者にすると Linux 上で root グループ以外のユーザにも読み書きされてしまうので意味がない、という状態ではまっていた(また Windows7 では発生するが WindowsXP では発生しなかった)。

が、今日たまたま Samba [実践] 入門という本を眺めていたら、偶然開いたページに原因が書いてあった。

原因は smb.conf の [global] セクションに "profile acls = Yes" と書いてあったこと。これは Samba サーバを WindowsXP SP1  以降の ドメインコントローラにして、移動プロファイルを使うために必要な設定だが、[global] ではなく 、移動プロファイルが保存される共有に書くべきものだったようだ。この1行を [homes] セクションに移したら現象は解消した。
「Samba [実践] 入門 (P213)」:  「profile acls = Yes」を有効に設定したファイル共有では、Windows から ACL を参照した際に、この ACL チェックで問題が発生しないような形にアクセス許可が強制的に変更されて返却されます。このため、このファイル共有は移動ユーザープ口ファイルの格納専用として用いることを強くお勧めします。
とのこと。

この本、他にも知らないことがいろいろ書いてあるっぽい。ちゃんと読もう。

2 件のコメント:

  1. さらにちょっと検索してみると、著者の方のページ(?)に winbindd が動作していれば、"profile acls = Yes" の記述は不要という記事が。http://damedame.monyo.com/?date=20060919

    返信削除
  2. 別件で、Samba でシンボリックリンク先に移動しようとすると「アクセス許可がありません。ネットワーク管理者にアクセス許可を要求してください。」と表示される現象が発生。[global] セクションに([homes] セクションでは不可だった)
    wide links = yes
    unix extensions = no
    と書いて Samba を再起動したら解決した。

    返信削除