Fórum Ubuntu Linux - PT

Suporte Técnico => Servidores => Tópico iniciado por: g4p em 27 de Setembro de 2013, 10:03

Título: Problema em permissão do Samba
Enviado por: g4p em 27 de Setembro de 2013, 10:03
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?

Código: [Selecionar]
[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
Título: Re: Problema em permissão do Samba
Enviado por: NOOB Saibot em 27 de Setembro de 2013, 15:51
Digita no terminal chmod 777 -R /srv/storage1
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 28 de Setembro de 2013, 08:12
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.
Título: Re: Problema em permissão do Samba
Enviado por: g4p em 30 de Setembro de 2013, 16:15
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?
Título: Re: Problema em permissão do Samba
Enviado por: g4p em 30 de Setembro de 2013, 16:16
Digita no terminal chmod 777 -R /srv/storage1

Estou sempre executando esse comando, porém preciso corrigir esse problema.
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 30 de Setembro de 2013, 22:47
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?
Título: Re: Problema em permissão do Samba
Enviado por: g4p em 01 de Outubro de 2013, 07:41
Vou testar aqui hoje e te dou uma resposta.

Valeu, zekkerj!
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 14 de Outubro de 2013, 11:57
Logs de acesso. Ative, acompanhe, traga aqui pra análise.
Título: Re: Problema em permissão do Samba
Enviado por: g4p em 15 de Outubro de 2013, 08:51
O problema é que os arquivos de repente perde a permissão e vai para 665, digamos. Mesmo eu setando manualmente chmod -R 777 pasta..
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 15 de Outubro de 2013, 09:45
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].
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 15 de Outubro de 2013, 09:47
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.
Título: Re: Problema em permissão do Samba
Enviado por: g4p em 15 de Outubro de 2013, 10:24
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?
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 15 de Outubro de 2013, 11:22
Citar
eu 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.

Citar
Outra 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.
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 15 de Outubro de 2013, 11:23
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
Título: Re: Problema em permissão do Samba
Enviado por: g4p em 17 de Outubro de 2013, 15:18
Zekkerj,

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

sudo smbpasswd -a usuario está correto?
Título: Re: Problema em permissão do Samba
Enviado por: g4p em 17 de Outubro de 2013, 15:23
Eu adicionei um usuário no linux e coloquei ele no grupo users.

adduser usuario
usermod -G users usuario


Adicionei esse usuário no samba:

smbpasswd -a usuario

Essa madrugada vou alterar o smb.conf para o seguinte:

Citar
[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 = user
   domain master = false

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


Por fim:
chown -R totalle:users /srv/storage1
chmod -R 770 /srv/storage1


Será que dessa forma vai resolver o meu problema?
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 17 de Outubro de 2013, 16:03
"smbpasswd -a usuario" cria o usuário ("add user to samba").

pra trocar a senha do usuário, use apenas "smbpasswd usuario".

Ou, o próprio usuário pode trocar sua senha com o comando "smbpasswd" [sem passar o usuário, troca a própria senha].

Pode ser trocado a partir do próprio windows , mas acho que pra isso vc precisa configurar seu samba como PDC.
Título: Permissão no fstab dando erro
Enviado por: g4p em 21 de Outubro de 2013, 14:37
Citar

UUID=7EB8A22AB8A1E0BF /srv/hd_storage_rede/ ntfs uid=1000,gid=users
UUID=a8f2ec76-95ef-44a5-8c45-15297604a89d /srv/storage1/ xfs rw,users,auto,noatime,allocsize=512m,logbufs=8 0 0


Meus problemas de permissão, que citei em outros tópicos, talvez possa está aqui.

Alguém poderia me detalhar essas opções em negrito? no meu fstab?
Título: Re: Permissão no fstab dando erro
Enviado por: Lucimgr em 21 de Outubro de 2013, 16:45
https://wiki.archlinux.org/index.php/fstab

http://en.wikipedia.org/wiki/Fstab
Título: Re: Problema em permissão do Samba
Enviado por: irtigor em 21 de Outubro de 2013, 16:58
Se é sobre a mesma coisa, faz mas sentido ficar junto, até porque duplicar é contra as regras. Grato.
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 21 de Outubro de 2013, 17:47
Citar

UUID=7EB8A22AB8A1E0BF /srv/hd_storage_rede/ ntfs uid=1000,gid=users
UUID=a8f2ec76-95ef-44a5-8c45-15297604a89d /srv/storage1/ xfs rw,users,auto,noatime,allocsize=512m,logbufs=8 0 0

Meus problemas de permissão, que citei em outros tópicos, talvez possa está aqui.

Alguém poderia me detalhar essas opções em negrito? no meu fstab?
A primeira linha do fstab está incorreta; toda linha desse arquivo precisa terminar com dois números separados por espaços, para ser aceita.

as opções em destaque, eu não conheço todas de cabeça:

uid=xxxx - usado em sistemas de arquivos estrangeiros, que não gravam informação de propriedade dos arquivos que possa ser associada a um usuário Linux. O número indica qual o usuário que vai se tornar dono de todos os arquivos no sistema de arquivos. Se não usado, os arquivos pertencerão ao root.

gid=xxxx - idem ao uid, indica o grupo que é dono dos arquivos no sistema de arquivos estrangeirol.

rw - indica que o sistema de arquivos deve ser montado em modo de leitura/escrita. Não precisa ser indicado pois é default.

users - indica que um usuário diferente do que montou o sistema pode desmontá-lo.

auto - indica que o sistema de arquivos deve ser montado automaticamente no boot.

noatime - indica que o sistema não deve gravar a hora de acesso dos arquivos. Serve pra acelerar o acesso e, em alguns casos, aumentar a vida útil da mídia. Não deve ser usado em sistemas de arquivos estrangeiros, nem em massas de dados que possam precisar ser auditadas.
Título: Re: Problema em permissão do Samba
Enviado por: g4p em 21 de Outubro de 2013, 19:57
@Zekkerj,

Se eu mudar o uid e gid nessa linha do fstab, no momento que o sistema estiver sendo inicializado pode demorar? Por ele está dando, digamos, um chown -R uid:gid /srv/hd_storage_rede/ ?
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 21 de Outubro de 2013, 21:19
Não, ele não dá um "chown -R", ele assume que todo o sistema de arquivos pertence a esse fulano, pq é um sistema externo (ntfs ou vfat) que não tem essa informação como um sistema nativo teria (ext2/3/4, reiserfs, xfs). Então não há alteração no sistema, é só uma informação que o Linux vai usar na hora de conceder ou negar acesso.
Título: Re: Problema em permissão do Samba
Enviado por: g4p em 21 de Outubro de 2013, 22:56
Cara, obrigado pela paciência que estás tendo em me explicar/detalhar.

Me diz uma coisa. Eu criei um usuário no SO e no Samba, porém eu quero que ele se autentique apenas no Samba, não quero que se autentique no SSH/FTP, etc. APENAS no Samba. É possível? Como faria?

Pensei em /bin/false, mas ele não se autentica no shell, porém se autentica em outros serviços.

Valeu.
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 21 de Outubro de 2013, 23:06
Você pode dar uma senha para o usuário no Samba, ativando o usuário, e desativá-lo no Linux com o comando "chage".
Título: Re: Problema em permissão do Samba
Enviado por: g4p em 21 de Outubro de 2013, 23:44
Tava pesquisando aqui e vi que o passwd -l usuario tranca a conta.

Esse trancar é o mesmo que inativar a conta?

Outra coisa, se eu trancar esse usuário, ele é trancado no samba também?

A minha idéia é deixar o usuário apenas para se autenticar no samba, como eu disse..
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 22 de Outubro de 2013, 00:59
man passwd

Citar
(...)
-l, --lock
Lock the password of the named account. This option disables a password by changing it to a value which matches no possible encrypted value (it adds a ´!´ at the beginning of the password).

Note that this does not disable the account. The user may still be able to login using another authentication token (e.g. an SSH key). To disable the account, administrators should use usermod --expiredate 1 (this set the account's expire date to Jan 2, 1970).

Users with a locked password are not allowed to change their password.
(...)
Título: Re: Problema em permissão do Samba
Enviado por: zekkerj em 22 de Outubro de 2013, 01:00
Parar desativar um usuário no samba, vc usa "smbpasswd -d", que tem registro de usuário separado do sistema.