ファイルに777権限がない場合、「強制ユーザー」を含むSamba共有はまだ書き込めません。

ファイルに777権限がない場合、「強制ユーザー」を含むSamba共有はまだ書き込めません。

Debian 10とSamba 4.9.5を実行するヘッドレスサーバーがあります。すべてのユーザーが完全な読み取り/書き込みアクセス権を持つフォルダを共有したいと思います。私の完全なsmb.confファイルは次のとおりです。

[global]
workgroup = WORKGROUP
netbios name = MyServerName
security = user
map to guest = bad user
guest account = myuser
dns proxy = no
log level = 4

[Stuff]
path = /home/myuser/share
force user = myuser
force group = myuser
browseable = yes
guest ok = yes
write list = myuser
read only = no

myuserすべてのファイルとへの読み取り/書き込みアクセス権があります/home/myuser/share。ただし、一部のファイルには、そのグループに対する書き込みアクセス権やその他の権限がありません。つまり、その権限は755、644などです。

何らかの理由force usermyuser

私もこれがmap to guestうまく動作しないようだったことに気づきました。間違ったユーザー名にリンクすると、そのユーザー名をアカウントにマップし、myuserアクセスを許可するのではなく拒否されますStuff

誰かがこれがうまくいかない理由を見つけるのに役立ちますか?

似たような質問を検索してみるとこんな内容がありました。777 権限なしで Windows で書き込み可能な Samba 共有を作成する方法しかし、許容される解決策はを使用することですforce user。これは私がやっていることですが、何らかの理由でまだ機能しません。

ベストアンサー1

私はあなたと同じ問題に直面したと思います。何らかの理由でforce userグループ書き込み権限が必要なようです。ただし、グローバル書き込み権限は必要ないようです。回避策として、777権限の代わりに660/770権限を削除できるはずです。これはセキュリティを低下させません。ファイルを書き込み可能にする必要があるため、ファイルを外部のSambaに移動するのは面倒です。

これをsmb.confの下に置きます[Stuff]

force user = myuser
create mask = 0660
directory mask = 0770

次に、共有フォルダから実行します。

sudo chown -R myuser:myuser /home/myuser/share
sudo chmod -R 0660 /home/myuser/share
sudo chmod -R ug+X /home/myuser/share

その後、smbdを再起動します。上記のコマンドは、現在存在するファイルとSambaを介して新しく作成されたファイルのすべてのファイルを660に設定し、すべてのディレクトリを770に設定します。force groupデフォルトでは、デフォルトグループと一致する必要はありませんforce user。また、ここでは世界の権限を完全に拒否しています。世界中で読むことができるようにするには、0664、0775、およびugw + Xを使用できます。

残念ながら、グループ書き込み権限がないと機能しません。これはサンバのバグだと思います。最近サンババーグ #14617削除でファイルをブロックしますforce user。これは別の関連バグかもしれませんが、報告するのに十分な知識がありません。 0644/0755で動作させる方法をご存知でしたら教えてください!

おすすめ記事