web-dev-qa-db-ja.com

Sambaの権限エラー

複数のフォルダーを持つSambaサーバーがありますが、ユーザーがフォルダーまたはファイルを作成しようとすると、グループのアクセス許可が「r」(読み取り)にのみ設定されます。何か問題がありますか?

私のSambaバージョンは4.3.11です-Ubuntu

これはsmb.confです

[COMPANY]
    browsable = yes
    path = /PATH/OTHERPATH
    guest ok = no
    guest only = no
    create mask = 0770
    force create mode = 0770
    directory mask = 0770
    force directory mode = 0770
    write list = @GROUP1, @GROUP2
    read list =
    valid users = @GROUP1, @GROUP2
    read only = no

これは、ユーザーが作成するファイルとフォルダーにsambaが付与するアクセス許可です。

-rw-r--r--  1   user    GROUP1      0 jul 12 17:43 file
drwxr-xr-x  2   user    GROUP1   4096 jul 12 17:43 folder/

前もって感謝します

1
Mateo Guty

質問の下のコメントで言ったように、Sambaを介して権限を適切に設定するには、システムのumaskを0007に設定する必要があります。

これがSambaをセットアップするための「適切な方法」であるかどうかはわかりません。私が気付いたのは、Samba confファイルの単一の共有に与えていたアクセス許可が、Samba共有にファイルを作成したときに作成されたアクセス許可と同じではなかったことです。基本的に、システムのumaskから、sambaはパーミッションビットを削除し、実際には他のパーミッションでファイルを作成していました。

私が(ずっと前に)したことは、システムのumaskを微調整することでした。

/ etc/profile追加しました

umask 0007

私のsambaconfファイルは次のようなものです:

#
# Samba config file
#
# To use with umask 0007
[global]
        server string = %h server (Samba, Ubuntu)
        map to guest = Bad User
        obey pam restrictions = Yes
        pam password change = Yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        unix password sync = Yes
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 1000
        deadtime = 45
        socket options = TCP_NODELAY IPTOS_THROUGHPUT
        dns proxy = No
        panic action = /usr/share/samba/panic-action %d
        idmap config * : range = 
        idmap config * : backend = tdb
        map acl inherit = Yes
        csc policy = documents
#        interfaces = 10.8.0.0/24 tun0 # do you want to serve your Samba over a dedicated network?
#        hosts allow = 10.8.0.0/24 # these rows are what I'd use in the OpenVPN

[User]
  path = /home/samba/user
  valid users = user
  force group = user
  read only = No
  directory mask = 0770
  force directory mode = 0770
  create mask = 0660
  force create mode = 0660
  write cache size = 2621440
  veto oplock files = /*.tmp/
# in this case, only the user User can r/w his own share.

# What if we have a group with more users?
[Group]
  path = /home/samba/group
  valid users = @group
  force group = group
  read only = No
  directory mask = 0770
  force directory mode = 0770
  create mask = 0660
  force create mode = 0660
  write cache size = 2621440
  veto oplock files = /*.tmp/

共有にドキュメントファイルがある場合は、次の手順を実行しますcsc policy = documentsこれをGLOBAL構成で使用しました。

共有フォルダに実行可能ファイルが含まれている場合があります(ほとんどの場合、ポータブルアプリケーションなどのWindowsシステム)。その場合、共有構成でcsc policy = programsを使用できます。

0
Nihvel