Smb.confで次の共有を定義しました
[development_server]
comment = Development directories
path = /sites
writeable = yes
valid users = @dev
guest ok = no
directory mask = 0775
create mask = 0775
問題は、ウィンドウ内でファイルを作成するたびに、そのファイルのアクセス許可が755ではなく764に設定されることです。ただし、ディレクトリは775で正しく設定されます。混乱しています。以下を設定してみました:
[global]
unix extensions = yes
しかし、これも役に立ちませんでした。
問題は、私の構成内のセキュリティモード設定(またはその欠如)であることが判明しました。次のsmb.conf構成が機能し、セキュリティグループ「dev」内のすべてのユーザーが共有内で作成するすべてのファイルに対して775を使用できるようになりました。
[development_server]
comment = Development directories
path = /sites
writeable = yes
valid users = @dev
guest ok = no
create mask = 0775
force create mode = 0775
security mask = 0775
force security mode = 0775
directory mask = 0775
force directory mode = 0775
directory security mask = 0775
force directory security mode = 0775
askubunt を掘り下げているときにこの解決策を見つけました
小切手 obey PAM restrictions
パラメータ。有効にすると、Sambaは特定のユーザーに対してumask制限付きのファイルを作成します。
_create mask
_は、許可ビットが設定されないようにするためにのみ使用できます。これは、マスクがクライアントが設定しようとしたビットでビット単位でAND
されているためです。マスクが7に設定されているが、クライアントが何か少ないことを試みる場合。 6、実行ビットの_0 AND 1
_は_0
_であるため、クライアントは「勝ち」ます。
_force create mask
_は逆に機能し、クライアントが設定しようとするマスクをビット単位でOR
するため、ここで_7
_を設定すると、すべてのビットが_x OR 1
_、これは常に_1
_です。
クライアントが何を設定しようとしているかに関係なく、値_0775
_を強制するには、次の2つを組み合わせる必要があります。
_create mask = 0770 (0000 would also work)
force create mask = 0775
_
ドキュメント を参照してください。
この問題のテストに関する警告の言葉:
同じ問題を経験した後、少なくとも私の場合は条件付きであることがわかりました。
コンテキストメニューnew-file( 'New Text File.txt')を使用してsamba共有にファイルを作成すると、しませんそのファイルにグループ書き込みビットを設定します(0750)
コンテキストメニューの新しいファイルを使用して新しいファイルを作成し、Enterキーを押す前にその名前を変更すると、そのファイルにグループ書き込みビットが設定されます! (0770)
私の解決策は@niziakが警告されたものでした。 PAM制限に従ってください(デフォルトはno)を使用しないでください。