web-dev-qa-db-ja.com

誰もが書き込みアクセスできるsamba共有を作成する

私の家にsambaを実行しているUbuntuサーバーがあります。誰もが読み取りと書き込みのアクセス権を持つsamba共有をセットアップしようとしています。

私はすべてのユーザーを「sambashare」のunixグループに所属させており、ディレクトリ/ data/sharedを「sambashare」グループのすべてのメンバーに読み取りおよび書き込みアクセスを提供したいと考えています。

理想的には、ユーザーがsambaを使用してそこにファイルを作成する場合、そのファイルはパーミッション0644を持ち、所有者はsername:sambashareである必要があります。

これを機能させるためにsmb.confファイルに何を入れるか、または/ data/sharedフォルダーにどのようなUNIXアクセス許可を与えるかを理解できません。

11
Piku

Smb.confの共有ディレクトリセクションに、以下を配置します。

create mask = 0644
directory mask = 2777

最初はg+sすべてのディレクトリに対する権限。sambashareグループに割り当てます。 sビットは、作成されたファイルのグループをディレクトリグループと同じに保ちます(2777は新しいディレクトリのsビットを処理します)。

7
laurent

グループSAMBASHAREの全員が共有にアクセスできるようにするには、[global]ディレクティブに次を追加します。

create mode = 664
workgroup = SAMBASHARE
security = SHARE
usershare allow guests = yes

/data/sharedをエクスポートするには、ファイルの最後に以下を追加する必要があります。

[data]
comment = shared
path = /data/shared
guest ok = yes
read only = no
public = yes
writable = yes

これでうまくいくはずですが、いくつか moreinformation を収集することを強くお勧めします。

4
binfalse

この同じ問題を解決し、この問題を「解決」した多くの役に立たない投稿を確認した後、グループ書き込み可能にしたい特定の共有セクションの1行まで問題を追跡しました。

 force directory mode = 2770

「2」は必須であり、Sambaサーバーは、これがないと、新しく作成されたディレクトリをグループ書き込み可能にしません(つまり、0770では不十分です)。 Ubuntu 12.04.01のSambaデーモンを使用して、標準のWindowsクライアントでディレクトリを作成しています。

これがsmb.confのmanページに記載されていればいいですね。

わかりやすくするために、以下は機能しません( "unix extensions = off"でも-ディレクトリは許可0750で作成されます):

[MyShare]
   writeable = yes
   force group = somegroup
   ...
   directory mask = 0770
   directory security mask = 0770
   force directory mode = 0770
   force directory security mode = 0770
1
user192757