Problema em permissão do Samba

Iniciado por g4p, 27 de Setembro de 2013, 10:03

tópico anterior - próximo tópico

g4p

Bom dia,

Estou rodando essa .conf simples no Samba aqui da empresa, porém, quando alguém cria um arquivo dentro do Storage1, por exemplo, não vai com permissão 777. Quando o arquivo tem que ser apagado, toda vez tenho que acessar o servidor e apagar pelo terminal..

Tem alguma coisa errada?

[global]
  workgroup = WORKGROUP
  netbios name = Storage
  server string = %h Server
  log file = /var/log/samba/log.%m
  log level = 1
  max log size = 100
  debug level = 2
  security = share
  domain master = false

[NewBackup]
  comment = HD de Backup Novo
  path = /srv/hd_storage_rede
  available = yes
  public = yes
  writeable = yes
  browsable = yes
  force create mode = 0777
  force directory mode = 0777

[OldBackup]
  comment = HD de Backup Antigo
  path = /srv/original_hd_storage_rede/
  available = yes
  public = yes
  writeable = yes
  browsable = yes
  force create mode = 0777
  force directory mode = 0777

[Storage1]
  comment = HD Interno 3TB - Trabalho ATUAL
  path = /srv/storage1
  available = yes
  public = yes
  writeable = yes
  browsable = yes
  force create mode = 0777
  force directory mode = 0777


NOOB Saibot

Digita no terminal chmod 777 -R /srv/storage1

zekkerj

Permissão 777 normalmente é má idéia. "security = share" também.

Se vc quer que o arquivo seja apagável, force o uso de um grupo em comum no share ("force group = xxxxx"). Assim basta dar permissão de escrita ao grupo no diretório /srv/storage1, não é necessário dar permissões públicas no diretório, nem qualquer permissão extra nos arquivos dentro dele.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

g4p

drwxrwxrwx  9 nobody users 4096 Sep 27 16:38 storage1

Está assim. O dono do diretório é nobody e o grupo é users.

force user = nobody
force group = users

Dessa forma daria certo?

g4p

Citação de: NOOB Saibot online 27 de Setembro de 2013, 15:51
Digita no terminal chmod 777 -R /srv/storage1

Estou sempre executando esse comando, porém preciso corrigir esse problema.

zekkerj

Sim, o "force user = nobody" resolveria. A menos que mais tarde vc precise diferenciar os usuários.

Mas imagino que neste momento basta pra vc que funcione, certo?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

g4p

Vou testar aqui hoje e te dou uma resposta.

Valeu, zekkerj!

zekkerj

Logs de acesso. Ative, acompanhe, traga aqui pra análise.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

g4p

O problema é que os arquivos de repente perde a permissão e vai para 665, digamos. Mesmo eu setando manualmente chmod -R 777 pasta..

zekkerj

Isso não é problema, 665 é "rw-rw-r-x". O grupo mantém a escrita, como esperamos.

Como os bits de execução dos arquivos do Samba são usados pra codificar permissões DOS como "archive", "system" e "hidden", você não deve se basear no valor deles pra nada do lado Unix (até pq você não vai executar no Linux nada que foi criado pra ser usado no Windows).

Se isso estiver sendo um problema mesmo pra você, e vc precisar que um usuário que não acessa com o mesmo usuário/grupo que os outros, pode mudar o "create mask" p/ algo como "666" [o default é 744, que corta escrita e execução do grupo e públicas].
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zekkerj

Em tempo, lembra que eu disse que "security = share" é má idéia? Eis aí pq. Isso simplesmente não funciona da forma como você espera.

Mude para "security = user" e terá mais controle sobre o funcionamento do samba.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

g4p

#11
Entendi! Eu já tava com essa idéia.

Colocando um security = user, eu tenho que setar no profile da pasta de compartilhamento quais usuário terão acesso, né?

Outra coisa, vou ter que mudar dono/grupo de todos arquivos/pasta também.

Correto?

zekkerj

Citareu tenho que setar no profile da pasta de compartilhamento quais usuário terão acesso, né?
Não necessariamente; se vc não diz quais podem acessar um compartilhamento, todos podem.

CitarOutra coisa, vou ter que mudar dono/grupo de todos arquivos/pasta também.
Também não. A partir do momento em que você faz "force user = fulano", todos os acessos no linux são feitos como se fossem feitos pelo usuário fulano, e não pelo usuário samba que está acessando o compartilhamento.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zekkerj

A única coisa que você tem que fazer é criar os usuários, no linux e no samba.

Para criá-los no Linux:

adduser fulano

Para criá-los no Samba:

smbpasswd -a fulano
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

g4p

Zekkerj,

Como faço pra mudar a senha de um usuário adicionado no samba?

sudo smbpasswd -a usuario está correto?