Preservar permissões em arquivos compartilhados do samba ao sobrescrever

4

Eu tenho um diretório compartilhado na minha VM Ubuntu. Este é meu smb.conf:

...
[share]
comment = Ubuntu File Server Share
path = /home/foo/share
browsable = yes
guest ok = yes
read only = no
create mask = 0644

Quase tudo funciona bem, ou seja, quando um novo arquivo é criado, ele é mascarado 0644 . Mas também sempre que abro (no Windows) e salvo um arquivo existente, as permissões desse arquivo também são definidas como 0644 . Isso é muito irritante ao editar scripts, que antes eram mascarados 0755 ou 777 .

Existe uma maneira de fazer o Samba manter máscaras de permissão existente quando os arquivos são sobrescritos?
[edit] ... ao criar novos arquivos com permissões 0644

    
por user123444555621 23.05.2012 / 12:50

4 respostas

7

adicione:

map archive = no

para o [Share]. O padrão (yes) irá definir o bit de execução em praticamente tudo que você salvar. Quando definido como não, você pode deixar sua máscara criada definida para 755 ou qualquer outra coisa.

Acho isso essencial se você editar muitos arquivos de sistema como / etc / mail / aliases, que não serão compilados com o bit de execução.

; o) Cor

    
por 10.06.2013 / 00:08
2

Para impedir que o Samba redefina as permissões de um arquivo quando um arquivo é salvo através do Samba, defina o seguinte parâmetro em smb.conf:

nt acl support = no

Isso impede que o Samba tente mapear as permissões do UNIX para a lista de controle de acesso do Windows.

    
por 02.02.2014 / 09:35
1

Acho que se você definir sua conta de convidado do samba como uma conta que normalmente gravaria arquivos com 775 permissões, você deve estar pronto.

[global]
guest account = [unix user]

Ou você pode criar um usuário samba igual ao seu usuário no Ubuntu que tem 755 permissões (cada usuário do samba precisa corresponder a um usuário UNIX) e depois acessar o compartilhamento samba fazendo login como esse usuário.

user@ubuntu$ ~ sudo smbpasswd -a [username]
    
por 22.05.2013 / 04:24
0

Eu uso o samba para compartilhar entre o Windows e o Kubuntu, exceto no meu sistema Linux é o host, não a VM. Para minha configuração, eu fiz os nomes de usuários em ambos os sistemas iguais, então configure valid users em smb.conf para o meu nome de usuário. Não tenho uma configuração create mask e as permissões funcionam bem.

[shared]
comment = My Shared Partition
path = /mnt/shared/
browseable = yes
available = yes
read only = no
guest ok = no
valid users = my_user_name
    
por 23.05.2012 / 13:58

Tags