web-dev-qa-db-ja.com

Samba共有を読み取ることはできますが、書き込むことはできません

特定のユーザーのみがアクセスできるSamba共有を設定しようとしています。そのユーザーに、共有内のすべてのファイルへの読み取り/書き込みアクセス権が必要です。

以下のsmb.confファイルを使用すると、「patrick」という1人のユーザーから共有にアクセスできますが、書き込みアクセス権を取得できません。Windows経由でマウントされた共有のファイルを変更または削除できません。ユーザーには、ディレクトリごとに以下の適切な権限が設定されています。

読み取り/書き込みアクセスを有効にするにはどうすればよいですか? not他のフォーラムの投稿の多くが示唆するように、ディレクトリ/ファイルのパーミッションを0777に変更したい。

ディレクトリ許可:

drwxr-xr-x   6 patrick patrick  4096 Jul  3  2015 ./
drwxr-xr-x   3 root    root     4096 Jul  1  2015 ../
drwxrwxr-x+ 15 patrick patrick 65536 Jan 22 00:01 music/

Smb.confファイル:

[global]
   workgroup = WORKGROUP
        server string = %h server (Samba, Ubuntu)

#   wins support = no
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = never

   usershare allow guests = no

[Music]
   comment = Music on Ceres
   path = /mnt/largemarge/music
   valid users = patrick
   browseable = yes
   guest ok = no
   read only = no
   create mask = 0775
   directory mask = 0755
   force user = patrick
2
the_meter413

何時間も検索した後、共有名と共有ディレクトリが同じでないことを発見しました(大文字と小文字も区別されません)。 serverfault のこの投稿を参照してください。

そのため、smb.confの共有名を次のように変更した場合:

[Music]

[Tunes]

共有の読み取りと書き込みの両方が可能です。 smb.confに他の変更を加える必要はなく、0777をchmodする必要もありません。

2
the_meter413

家で:

# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
;   read only = yes

あなたはあなたの共有に"read only = no"を試しましたか?または"writeable = yes"

また、共有名とディレクトリ名を同じにすることはできません。そうしないと、アクセス許可にもかかわらず共有が表示され、読み取り専用になります。共有名がディレクトリ(またはディスク)名とは異なるように変更されると、共有名とユーザーが適切な権限を持っていると想定して書き込み可能になります。

これは、以前に同じ共有名を使用してNTFSで共有されていたUbuntuにマウントされたNTFSディスクおよびフォルダーでこれを見つけました。 WinおよびLinuxの共有ツールはどちらも、作成時にデフォルトで共有名のディレクトリまたはディスク名に設定されるため、競合はデフォルトで組み込まれています。 Linux共有名に文字を追加するだけで、書き込み可能になりました。

これは、ディスクまたはディレクトリがNTFSではないか、NTFSであるが共有されたことがない場合に当てはまる場合と当てはまらない場合があります。 Ubuntuでマウントされたときに以前に使用されたNTFS共有名は予約されているようで、Linuxは共有を読み取り専用にすることで競合を処理します。

\ My Musicという名前のNTFSディレクトリ共有は、Ubuntuで\ My Muzakという名前に変更するだけで、ディレクトリを書き込み可能にできます。

0
Wayne Kirkwood