簡単に言うと:read only = no
Sambaが共有への書き込みアクセスを許可しないようにすること(ファイル所有権/smb.confを除く)はありますか?共有名は権限にどのような影響を与えますか?
したがって、Ubuntu Server 16.04 LTS(Sambaバージョンは4.3.9 + dfsg-0ubuntu0.16.04.2)があり、USBデバイスは/ mnt / storageにマウントされています。出力は次mount
のとおりです。
/dev/sdb1 on /mnt/storage type ext4 (rw,relatime,errors=remount-ro,data=ordered)
ディレクトリ内のすべてのファイルは/mnt/storage
ユーザーが所有および書き込みできますhtpc
。
htpc@htpc:~$ ls -l /mnt/
insgesamt 16
drwxrwxr-x 13 htpc htpc 4096 Sep 8 23:26 storage
htpc@htpc:~$ ls -l /mnt/storage/
insgesamt 108
drwxr-xr-x 21 htpc htpc 4096 Mär 16 20:55 somedirectory
-rw-r--r-- 1 htpc htpc 3870 Sep 11 09:02 somefile.txt
drwxr-xr-x 24 htpc htpc 4096 Apr 10 00:25 ...
私のsmb.conf共有は次のとおりです(他の設定はすべてデフォルトのままです)。
[Media]
path = /mnt/storage
comment = HTPC Media server
valid users = htpc
read only = no
browseable = yes
Sambaユーザーを作成しましたsudo smbpasswd -a htpc
。
Windows 10を使用して共有にアクセスできますが、書き込み権限がありません(ファイルの作成、削除、および変更は許可されていません)。奇妙なことは他のディレクトリを共有する場合、この問題は発生しません。/opt/testshare
(たとえば、上記の方法で一般的なディレクトリを作成して共有します。)
編集する
本当に変です。 問題はUSBデバイスではなく、共有名「Media」にあります。
何らかの理由で共有は読み取り専用です。名前を「メディア」と指定した場合。私が見つけたこのスレッドそしてこのスレッド同様の質問がありましたが、共有とディレクトリは同じ名前を持つことができないという結論を下しました。最初はクライアントの問題だと思いました(Windowsは以前のインストールの古いuidを覚えています)、サーバーへの接続に以前に使用したことがない携帯電話(ESファイルエクスプローラ)にも同じ問題があります。接続を使用してディレクトリを作成しようとすると、smbclient
次のエラーが発生します。
smb: \> mkdir test
NT_STATUS_MEDIA_WRITE_PROTECTED making remote directory \test
ログレベルを10に上げ、次のことを見つけました。
[2016/09/17 09:15:35.902089, 10, pid=24086, effective(0, 0), real(0, 0), class=passdb] ../source3/passdb/pdb_get_set.c:495(pdb_set_user_sid)
pdb_set_user_sid: setting user sid S-1-5-21-30211493-2420603996-3020390900-1003
[2016/09/17 09:15:35.902143, 10, pid=24086, effective(0, 0), real(0, 0), class=passdb] ../source3/passdb/pdb_compat.c:73(pdb_set_user_sid_from_rid)
pdb_set_user_sid_from_rid:
setting user sid S-1-5-21-30211493-2420603996-3020390900-1003 from rid 1003
[2016/09/17 09:15:35.902216, 10, pid=24086, effective(0, 0), real(0, 0), class=passdb] ../source3/passdb/pdb_get_set.c:557(pdb_set_group_sid)
pdb_set_group_sid: setting group sid S-1-5-21-30211493-2420603996-3020390900-513
[2016/09/17 09:15:35.902291, 4, pid=24086, effective(0, 0), real(0, 0)] ../source3/smbd/sec_ctx.c:439(pop_sec_ctx)
pop_sec_ctx (0, 0) - sec_ctx_stack_ndx = 0
[2016/09/17 09:15:35.902351, 10, pid=24086, effective(0, 0), real(0, 0)] ../source3/smbd/share_access.c:237(user_ok_token)
user_ok_token: share Media is ok for unix user htpc
[2016/09/17 09:15:35.902405, 10, pid=24086, effective(0, 0), real(0, 0)] ../source3/smbd/share_access.c:284(is_share_read_only_for_token)
is_share_read_only_for_user: share Media is read-write for unix user htpc
[2016/09/17 09:15:35.902508, 10, pid=24086, effective(0, 0), real(0, 0)] ../libcli/security/access_check.c:337(se_file_access_check)
se_file_access_check: MAX desired = 0x2000000 mapped to 0x80120089
[2016/09/17 09:15:35.902558, 5, pid=24086, effective(0, 0), real(0, 0)] ../source3/smbd/uid.c:163(check_user_share_access)
falling back to read-only access-evaluation due to security descriptor