作成したディレクトリに適切なアクセス許可を設定するためにsambaを取得できない


17

sambaを使用していくつかのフォルダーを共有するUbuntuサーバーがあります。クライアントが新しいフォルダーまたはファイルを作成するとき、アクセス許可はsmb.confの設定に従って設定されません。

特定の共有の現在の設定:

[share]
    path = /mnt/share
    browsable = yes
    guest ok = no
    writable = yes
    read only = no
    create mask = 0774
    directory mask = 0774
    write list = netuser

Sambaクライアント(Windows 7ボックス)が「netuser」アカウントを使用してファイルまたはディレクトリを作成する場合、アクセス許可は

drwxr-sr-- 2 netuser sambashare      4096 2012-01-22 21:14 New folder
-rwxrw-r-- 1 netuser sambashare         0 2012-01-22 21:07 New Text Document.txt

親ディレクトリにはグループIDフラグが設定されているため、sambashareグループ所有者になります。アイデアは、sambaユーザーとサーバーユーザーの両方がsambashareグループに属しているため、ファイルとディレクトリを編集、削除、および作成できるようにすることです。ただし、作成されたフォルダーにはグループセットの書き込みフラグがないため、サーバーユーザーは、sudoなしでそれらのフォルダーに新しいファイルまたはフォルダーを作成できません。

ディレクトリマスクの追加と削除、ディレクトリモードの強制、ディレクトリセキュリティモード、ディレクトリセキュリティの強制モードをテストしましたが、動作はまだ残っています。新しく作成されたファイルとフォルダーは、意図された774のアクセス許可ではなく、それぞれ764と754を取得します。

私は何が欠けていますか?sambaが正しい許可を設定しないのはなぜですか?

回答:


19

次のパラメーターを使用する必要があると思います。

# I changes the permissions to rw-rw-r--
# You should be able to change them to 775 if you need the files to
# be executable
create mask = 664
force create mode = 664
security mask = 664
force security mode = 664

# I set the SGID flag here as I thought this is what you wanted
# You could change to 0775
directory mask = 2775
force directory mode = 2775
directory security mask = 2775
force directory security mode = 2775

これらの設定がどのように機能するかについての良い説明を探していましたが、smb.confの男よりも良いものを見つけることができませんでした

これらのオプションを使用するには、少し下にスクロールする必要があります。

基本的に、一言で言えば、Windowsの許可はunix(linux)と同じではなく、sambaが許可をマップする方法は少し奇妙です。


1
はい、それは私が見たsamba.org/samba/docs/man/manpages-3/smb.conf.5.htmlとほぼ同じマンページのようです。問題は、どの8進数でも問題ないように見えることです設定した値、作成されたファイルまたはフォルダーに設定された同じアクセス許可を取得します。
ザズ

私が与えたすべてのオプションを設定しましたか?もしそうなら、最初の投稿を更新してください。その時点でバグ報告を提出することをお勧めします。
パンサー

1
すでに述べましたが。詳細な検査とテストでは、ディレクトリマスクに2を追加すると問題は解決しました。どうもありがとう。:D
ザズ

素晴らしい、これを受け入れられた答えとしてマークしてくれてありがとう、それは同様の問題を持つ他の人を助けます。
パンサー

Sambaの構成は非常に複雑で、理解するのは非常に困難です。たとえば、force createとjust create ...の論理的な違いは何の意味もありません。あなたのヒントは命の恩人です-ありがとうございます!
マティアスHryniszak 16

8

多くの試行錯誤の後、これはSGIDとUNIXグループを使用してsamba dirを共有する正しいコードです。ユーザーが匿名で接続するとr / oが取得され、ログインして割り当てられたグループのメンバーである場合はr / wが取得されます。

「admin」という名前のグループを、書き込み特権を持つユーザーのプライマリグループとして設定しました。他のすべてのユーザーは読み取り専用権限を取得します。

私はユーザーに誰も強制しないので、同じファイルで作業している異なる人々が互いに干渉することはありません。

共有ディレクトリにchmod 2755を設定したため、同じグループ「admin」で作成されたディレクトリを継承します

$ chmod -R 2755 /home/shares/test

すべてが正常かどうかを確認します。

$ stat /home/shares/test
Access: (2755/drwxr-sr-x)  Uid: (65534/  nobody)   Gid: ( 1001/   admin)

/etc/samba/smb.confの関連部分:

[test]
        comment = test
        path = /home/shares/test
        force user = nobody
        read only = No
        create mask = 0664
        force create mode = 0664
        directory mask = 02775
        force directory mode = 02775

この投稿は私を正しい方向に導きましたが、testparmは4つの誤ったディレクティブを明らかにしたので、ここで修正された構成を共有しています。Sambaでは、指定するディレクティブが少ないほど機能します。


6

私は同じ問題を抱えていたが、マスクディレクティブのようなすべてのものはなかった私のために(Sambaの4.3.11)を動作します。

 create mask = 0664
 force create mode = 0664
 directory mask = 02775
 force directory mode = 02775

機能した唯一のオプションは、[global]またはshareセクションの下にありました。

 inherit permissions = yes

必要に応じてすべてのフォルダーとファイルのアクセス許可を変更するだけで、将来のフォルダーとファイルは同じアクセス許可を継承します。


Sambaバージョン4.7.6-Ubuntuを使用しています。そして、これも私のために働いています。
アンディS.

4.8.11on freebsdも真の答え:)
ジッター

3

他のUnix / Linux / OSX / MacOSデバイスから接続する場合、非常に似た問題があります。指定しない限り、すべての設定は無視されます

[global]

unix extensions = no

そしてのsmb://<serverhost>代わりに接続しますcifs://<serverhost>


0
 Here add this code to the sudo nano smb.conf
 and restart sudo service smbd restart  and access from another local PC/computer using connect with smb://<serverhost>  to create or edit files/folder   html is folder name 

 [html]
   comment = admin access
   path = /var/www/html
   browsable = yes
   guest ok = no
   writable = yes
   valid users = @admin
   create mask = 664
   force create mode = 664
   security mask = 664
   force security mode = 664
   directory mask = 2775
   force directory mode = 2775
   directory security mask = 2775
   force directory security mode = 2775
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.