Erro de permissões no Samba

1

Eu tenho um servidor Samba com várias pastas, mas quando o usuário tenta criar uma pasta ou um arquivo, as permissões do grupo são definidas apenas como "r" (leitura), estou fazendo algo errado?

Minha versão do Samba é 4.3.11-Ubuntu

Este é o 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

Estas são as permissões que o samba dá aos arquivos e pastas que meus usuários criam

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

Obrigado antecipadamente

    
por Mateo Guty 13.07.2018 / 00:48

1 resposta

0

Como eu estava dizendo nos comentários abaixo da sua pergunta, para definir corretamente as permissões através do Samba você teria que configurar o sistema umask para 0007.

Não tenho certeza se esse é o "jeito certo" de configurar o Samba. O que eu notei é que as permissões que eu estava dando aos compartilhamentos únicos no arquivo conf do Samba não eram as mesmas que aquelas criadas ao criar um arquivo no compartilhamento de samba. Basicamente, do sistema umask, o samba estava removendo os bits de permissões e de fato estava criando arquivos sob outras permissões.

O que eu fiz (há muito tempo atrás) foi ajustar o sistema umask.

Em / etc / profile Eu adicionei

umask 0007

meu arquivo samba conf é algo assim:

#
# 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/

Se os compartilhamentos tiverem um arquivo de documento, vá para csc policy = documents Eu usei isso na configuração GLOBAL.

Pode haver o caso em que uma pasta compartilhada contém um arquivo executável (principalmente em sistemas Windows, como um aplicativo portátil). Nesse caso, você pode usar csc policy = programs na configuração de compartilhamento.

    
por 19.07.2018 / 10:53