web-dev-qa-db-ja.com

Samba共有は、WindowsとLinuxの両方から読み取り専用です

Gentoo Linuxで実行されているSambaを構成して、外部NTFSドライブを他の2台のマシンと共有しようとしています。1台はGentooも実行しており、もう1台はWindows 7を実行しています。以前はこのドライブはSamba対応ルーター(Zyxel Keenetic Giga II)に接続されていました。 )そして、Webインターフェイスで指定されたログイン/パスのペアを使用して接続できました。読み取りと書き込みの両方のアクセス権がありました。

現在、Sambaを構成して、有効なログイン/パスのペアを指定したユーザーがフルアクセスできるようにしています。ログイン/パスは一意です(このユーザー名は他では使用しません)。

LinuxとWindowsの両方のマシンを接続できましたが、読み取り専用モードのみでした。 lsからのアクセス許可で書き込みが可能であることが示されている場合でも、すべての書き込み試行でPermission deniedが表示されます。

ネットワーク構造は次のとおりです。

  • sambaserv: Sambaサーバーのホスト名
    • sambauser/sambapass:Sambaログイン資格情報
    • myuserserv:ユーザーログイン
  • linuxclient:Linuxクライアントのホスト名
    • myuserclient:私のユーザーログイン
  • winclient: Win7クライアントのホスト名


これが私がしたことです:

sambaserv: ls -l /mnt

...
drwxrwxr-x 1 myuserserv myuserserv 4096  2 June  01:08 storage

sambaserv: /etc/fstab

/dev/sdc1    /mnt/storage    ntfs-3g    defaults,uid=1000,gid=1000,umask=0002,noatime 0 0

ここで、1000myuserservのIDです。このドライブをSamba共有以外の目的で使用したいので、代わりにsambauserを指定しませんでした。


sambaserv:次のコマンドを発行してsambauserを作成しました。

useradd sambauser
passwd sambauser
pdbedit -a -u sambauser

sambaserv: testparm

$ Sudo testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[storage]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        server string = sambaserv
        log file = /var/log/samba/log.%m
        max log size = 50
        dns proxy = No
        idmap config * : backend = tdb
        hosts allow = 192.168.1., 127.

[storage]
        comment = Storage
        path = /mnt/storage
        valid users = sambauser
        read only = No
        create mask = 0775
        directory mask = 0775

ドライブがNTFSであることを考えると、ファイルのアクセス許可がどのように処理されるかはわかりませんが、そうでない場合は問題ありません。


linuxclient: ls -l /mnt

...
drwxrwxr-x 1 myuserclient myuserclient  0  2 juin  01:08 storage

linuxclient: /etc/fstab

//sambaserv/storage    /mnt/storage    cifs    credentials=/home/myuserclient/.smbcredentials,iocharset=utf8,sec=ntlm 0 0

winclient:sambauser/sambapassの下のConnect network driveMy Computerペアを入力しました。


LinuxおよびWindowsで書き込みアクセス権を取得するにはどうすればよいですか?

3
Pastafarianist

私はaソリューション(theソリューションではない)を指摘されました。 sambausermyusersrvのグループにsambaservを追加すると、問題はなくなります。ただし、これは適切なソリューションではありません。ユーザーグループをいじる必要があるため、別の環境ではできなかった可能性があります。

0
Pastafarianist

Fileshareのアクセス許可は相互に関連していないため、個別に設定してください。共有への書き込みアクセスを許可するには、smb.confに次のような行が必要です。

write list = sambauser

詳細については、 smb.conf のマニュアルページを参照してください。

0
user86969