Bom dia, estou enfrentando um problema com o compartilhamento de pastas através do samba.
Basicamente o problema que estou enfrentando é que preciso compartilhar a pasta publico de forma que todos tenham acesso sem precisar de usuário e senha, mas não estou conseguindo.
Já tentei configurar o smb.conf de diversas formas e não consegui, quando eu usei o security = share todos tiveram acesso à pasta público, porém algumas pessoas deixaram de ter acesso a outras pastas como por exemplo a pasta diretoria e então tive de voltar o security para security = user.
Se alguém puder me auxiliar eu agradeço.
Obs: abaixo está a configuração do smb.conf
******************************************************************************************************
#
# Sample configuration file for the Samba suite for Debian GNU/Linux.
#
#
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options most of which
# are not shown in this example
#
# Some options that are often worth tuning have been included as
# commented-out examples in this file.
# - When such options are commented with ";", the proposed setting
# differs from the default Samba behaviour
# - When commented with "#", the proposed setting is the default
# behaviour of Samba but the option is considered important
# enough to be mentioned here
#
# NOTE: Whenever you modify this file you should run the command
# "testparm" to check that you have not made any basic syntactic
# errors.
# A well-established practice is to name the original file
# "smb.conf.master" and create the "real" config file with
# testparm -s smb.conf.master >smb.conf
# This minimizes the size of the really used smb.conf file
# which, according to the Samba Team, impacts performance
# However, use this with caution if your smb.conf file contains nested
# "include" statements. See Debian bug #483187 for a case
# where using a master file is not a good idea.
#
#======================= Global Settings =======================
[global]
#----------------- Identificação / Serviços Suportados -----------------
# O nome NetBIOS do servidor e o grupo de trabalho (domínio) a serem
# exibidos no Windows.
netbios name = %h
workgroup = ARCADIAN
server string = Controlador do dominio ARCADIAN
# Este é um servidor de autenticação (logon). Para fazer com que os
# clientes Windows XP se autentiquem no servidor, execute os seguintes
# passos:
#
# 1. Acesse, no Windows:
# Painel de controle -> Sistema -> Nome do computador
# 2. Clique no botão "Alterar..."
# 3. Na caixa de texto entitulada "Nome do computador", digite o
# nome que o computador terá na rede.
# 4. Na opção "Membro de", selecione "Domínio".
# 5. Digite o nome do domínio de rede, definido acima pelo
# parâmetro "workgroup".
# 6. Clique em "Ok".
# 7. Uma janela entitulada "Alterações de nome de computador"
# será exibida, solicitando o nome e a senha de um usuário
# com permissões para ingressar o computador no domínio.
# Informe o nome e a senha de um usuário especificado no
# parâmetro "admin users", abaixo.
#
# Cadastrar um computador no Samba corresponde a criar um usuário Unix,
# cujo nome é o nome da máquina sufixado pelo caractere "$"
# (por exemplo, "secretaria$"). Para que o Samba seja capaz de adicionar
# um novo usuário do sistema, deve-se configurar adequadamente o parâmetro
# "add machine script", abaixo. Caso contrário, o computador deverá ser
# cadastrado manualmente, através dos comandos
#
# adduser --system --no-create-home --disabled-login --force-badname <Computador>$
# smbpasswd -a -m <Computador>
#
# em que <Computador> é o nome do computador a ser cadastrado. Por exemplo:
#
# adduser --system --no-create-home --disabled-login --force-badname secretaria$
# smbpasswd -a -m secretaria
#
# De maneira similar, utilize os seguintes comandos para excluir um computador
# do Samba:
#
# smbpasswd -x -m <Computador>
# deluser <Computador>$
#
# Por exemplo:
#
# smbpasswd -x -m secretaria
# deluser secretaria$
#
domain master = yes
domain logons = yes
local master = yes
preferred master = yes
os level = 300
# Torna este computador um servidor WINS (Windows Internet Name Server).
wins support = yes
# Permite que os clientes Windows possam sincronizar a hora com este
# computador, através do comando
#
# net time \\<Servidor> /set /yes
#
# em que <Servidor> é o nome NetBIOS deste servidor, definido acima
# pelo parâmetro "netbios name".
time server = yes
# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
# via DNS nslookups. The built-in default for versions 1.9.17 is yes,
# this has been changed in version 1.9.18 to no.
dns proxy = yes
#----------------------------- Rede ------------------------------------
# Estas são as interfaces que tem acesso aos serviços do Samba: a rede
# local e a interface reflexiva.
interfaces = 192.168.1.3/255.0.0.0, 127.0.0.1
remote announce = 192.168.255.255
# Rejeita conexões provenientes de interfaces/redes desconhecidas
# (da Internet, por exemplo).
bind interfaces only = yes
#### Debugging/Accounting ####
# This tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/log.%m
# Cap the size of the individual log files (in KiB).
max log size = 1000
# If you want Samba to only log through syslog then set the following
# parameter to 'yes'.
# syslog only = no
# We want Samba to log a minimum amount of information to syslog. Everything
# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
# through syslog you should set the following parameter to something higher.
syslog = 0
# Do something sensible when Samba crashes: mail the admin a backtrace
panic action = /usr/share/samba/panic-action %d
#-------------------------- Autenticação ------------------------------
# Segurança a nível de usuário, ou seja, deve-se autenticar (efetuar o
# logon) antes de acessar qualquer compartilhamento ou serviço.
security = share
# Não permite que usuários não autenticados acessem os compartilhamentos.
public = yes
# Conta somente para leitura. Usuário visitante. Sem autenticacao.
guest account = nobody
# Por motivos de segurança do servidor, não permite que o super-usuário
# (root) possa se autenticar.
#invalid users = #root
# Utiliza senhas criptografadas
encrypt passwords = true
# Permite senhas vazias. Esta opção só é utilizada porque foi especificado
# que o usuário "convidado" não deverá possuir senha.
null passwords = yes
# Estas linhas são responsáveis por SINCRONIZAR as senhas dos usuários
# do Samba e do Unix. O parâmetro "passwd chat" informa ao Samba como
# interagir com o programa de alteração de senhas do Unix, o passwd.
# Para mudar a senha no Windows, basta digitar Ctrl+Alt+Delete, enquanto
# logado. No Linux, os usuários devem utilizar o comando "smbpasswd", ao
# invés do tradicional "passwd".
pam password change = yes
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n \
*Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
# Script em formato MS-DOS a ser executado pelo usuário, a cada vez que ele efetua
# o logon. Ele é bastante útil para mapear os compartilhamentos de rede em letras
# do Windows Explorer. Por exemplo, para mapear o compartilhamento "Publico" na
# letra Y: do Windows Explorer, utilize o seguinte comando MS-DOS:
#
# net use Y: %LOGONSERVER%\Publico /persistent:no
#
# Este script também pode ser utilizado para executar outras tarefas,
# tais como sincronizar o relógio do cliente com o do servidor
# (veja parâmetro "time server", definido acima).
#
# O arquivo que possui este script deve possuir a extensão ".bat" ou
# ".cmd" (somente Windows NT/2K/XP), dentro do diretório ("path") do
# compartilhamento especial "netlogon" (veja a entrada [netlogon], definida abaixo).
# Não utilize acentos, pois o MS-DOS (mesmo no Windows XP) aceita somente uma
# codificação de caracteres muito exótica.
logon script = %G.bat
# As máquinas que se conectam ao Samba precisam ser usuários cadastrados
# do Unix. Esta linha descreve qual é o comando do sistema que deve ser
# utilizado para criar um usuário com o nome da máquina conectada ao
# servidor.
add machine script = adduser --system --no-create-home --disabled-login --force-badname %u
# A seguinte opção é necessária para permitir o ingresso das máquinas
# Windows no domínio. Ela define os usuários que possuem permissão para
# executar permissões administrativas.
# Durante o processo de ingresso no domínio, quando o Windows exibir a
# tela "Digite o nome e a senha de uma conta com permissão para
# ingressar no domínio", deve-se entrar com um dos usuários especificados
# nesta opção.
admin users = administrador
# Configura onde os perfis dos usuários do Windows ("Documents and Settings")
# são armazenados, quando se utiliza perfis remotos.
# Deve-se tomar cuidado ao utilizar perfis remotos, pois o Windows se torna
# bastante instável. Antes de alterar esta configuração, leia cuidadosamente
# o documento contido em:
#
#
http://wiki.samba.org/index.php/Samba_&_Windows_Profiles#
# Por simplicidade, optou-se por armazenar os perfis dos usuários localmente,
# desabilitando os perfis remotos.
#logon path =
#---------------------------- Impressão --------------------------------
# Utiliza o CUPS como servidor de impressão.
#printcap name = cups
#printing = cups
# Carrega as impressoras do servidor de impressão automaticamente, sem que
# seja necessário descrevê-las neste arquivo.
# As impressoras podem ser configuradas no arquivo printcap do servidor
# de impressão. No CUPS, este arquivo é "/etc/cups/printers.conf"
load printers = yes
# O driver da impressora deve estar instalado no cliente. Ou seja,
# quando uma impressora é compartilhada, o CUPS atua apenas como
# um redirecionador dos comandos do driver. Ele não entende como
# a impressora funciona.
use client driver = yes
cups options = "raw"
# Comando a ser utilizado para listar a fila de impressão
lpq command = /usr/bin/lpq -P %p
# Comando a ser utilizado para cancelar um trabalho de impressão.
lprm command = /usr/bin/lprm -P %p %J
#--------------------------- Desempenho --------------------------------
# Opções de desempenho específicas para este computador.
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=20480 SO_SNDBUF=20480
#--------------------- Depuração / Monitoramento -----------------------
# Diretório onde serão armazenados os arquivos de log.
log file = /var/log/samba/%m.log
max log size = 0
#------------------------ Configurações Gerais -------------------------
# A codificação de caracteres utilizada na nomenclatura de arquivos
dos charset = UTF-8
display charset = UTF-8
# Esconde arquivos que não podem ser lidos, e arquivos que começam com ".".
#hide unreadable = yes
hide dot files = yes
# Esconde alguns arquivos de sistema do Windows.
#hide files = /desktop.ini/outlook*.lnk/*Briefcase*/
# Descomente esta opção para que os atributos de arquivo do MS-DOS
# (por exemplo, "hidden", "read only"...), sejam armazenados
# nos compartilhados em rede.
# Todavia, é necessário primeiro incluir a opção
# "user_xattr" à lista de opções de montagem das partições que contém
# os compartilhamentos de rede. Para maiores informações, veja as páginas
# de manual "mount" e "fstab".
#;store dos attributes = yes
#habilitar previlégios de usuários
enable privileges = yes
#======================= Compartilhamentos de Rede =============================
# Compartilhamentos especiais, utilizados para autenticação (logon),
# diretório pessoal (home), e compartilhamento de
# impressoras.
[netlogon]
comment = Network Logon Service
path = /srv/smb/netlogon
browseable = no
writable = no
public = no
available = no
[homes]
comment = Seu diretorio pessoal
path = /home/%U
browseable = no
writable = yes
valid users = %U
force user = %U
force group = %G
create mask = 0600
directory mask = 0700
[printers]
comment = Todas as impressoras
path = /var/spool/samba
browseable = yes
printable = yes
writable = yes
create mask = 0777
# Este é o diretório de spool. Certifique-se de que ele existe,
# e possui permissões 1777:
# Este compartilhamento é útil para armazenar os drivers das impressoras compartilhadas
# em rede. Somente quando são acessadas pelo Windows, e o driver é executado pelo
# computador do cliente.
[print$]
path = /var/lib/samba/printers
comment = Drivers das impressoras
browseable = yes
read only = yes
write list = @domain_admins
create mask = 0777
# Somente o administrador pode colocar novos drivers neste compartilhamento.
# Certifique-se de que o seguinte diretório existe, pode ser lido por todos,
# mas escrito apenas pelo super-usuário (root). Dentro deste diretório,
# deve-se criar um subdiretório para cada plataforma, com as mesmas permissões.
# Esses subdiretórios são:
#
# - "W32X86", para Windows 32 bits
# - "W64X86", para Windows 64 bits
# - "WIN40", para Windows NT 4.0
#
# Para mais informações, leia
http://www.netadmintools.com/art258.html#-------------------------------------------------------------------------------
# Estes são os compartilhamentos de rede em questão.
#
# O diretório onde serão armazenados os arquivos é especificado pela diretiva
# "path".
#
# Cada compartilhamento possui um grupo associado. A diretiva "force group" faz
# com que todos os arquivos criados dentro do compartilhamento pertencam ao
# grupo especificado. Note que, primeiro, deve ser criado o grupo no sistema,
# através do comando
#
# addgroup --force-badname <Grupo>
#
# em que <Grupo> é o nome do grupo que se deseja criar.
#
# Após criar um grupo, deve-se especificar quais usuários pertencerão a ele.
# Para isto, edite o arquivo "/etc/group". Cada linha deste arquivo
# corresponde a um grupo. No fim de cada linha, há uma lista, separada por vírgulas,
# dos usuários que pertencerão ao grupo. Por exemplo, a linha
#
# diretoria:x:1004:walter,gustavo,emerson
#
# especifica que os usuários "walter", "gustavo" e "emerson"
# pertencem ao grupo "diretoria". Note que não pode
# haver espaços entre as vírgulas!
#
# Após criar e configurar os grupos, é necessário tornar os diretórios de
# cada compartilhamento propriedade de seu respectivo grupo. Isto pode ser feito
# através do comando:
#
# chgrp <Grupo> -R <Diretório>
#
# em que <Grupo> é o grupo associado ao compartilhamento, e <Diretório> é o
# seu diretório. Por exemplo:
#
# chgrp diretoria -R /srv/smb/Diretoria
#
# Quem fizer parte do grupo de um compartilhamento, possui acesso completo a ele
# (leitura e escrita). Quem não for integrante do grupo, não possui nenhum tipo de
# acesso. Esta diretiva é implementada através dos parâmetros
# "create mask = 0660" e "directory mask = 0770". Eles especificam que o
# usuário criador e os usuários do grupo a quem pertencem os arquivos e diretórios do
# compartilhamento possuem controle total, mas aos demais usuários não é dado nenhum
# acesso.
[Comercial]
comment = Departamento Comercial
path = /srv/smb/Comercial
browseable = yes
force group = comercial
force user = %U
valid users = @comercial
create mask = 0660
directory mask = 0770
#available = no
public = no
writable = yes
[Diretoria]
comment = Diretoria
path = /srv/smb/Diretoria
browseable = yes
force group = diretoria
force user = %U
valid users = @diretoria
create mask = 0660
directory mask = 0770
#available = no
public = no
writable = yes
[Financeiro]
comment = Departamento Financeiro
path = /srv/smb/Financeiro
browseable = yes
force group = financeiro
force user = %U
valid users = @financeiro
create mask = 0660
directory mask = 0770
#available = no
public = no
writable = yes
[Autorizados]
browseable = yes
read list = tecnologia
write list = administradores
path = /mnt/Autorizados
force group = tecnologia
create mask = 0660
force user = %U
directory mask = 0770
comment = Programas autorizados
valid users = @tecnologia,@administradores
#available = no
public = no
writable = yes
[Dev]
comment = Componentes usados para criacao de sistemas
path = /srv/smb/Dev
browseable = yes
force group = desenvolvimento
force user = %U
valid users = @desenvolvimento
create mask = 0660
directory mask = 0770
#available = no
public = no
writable = no
#[Publico]
# browseable = yes
# path = /srv/smb/Publico
# force group = nogroup
# force user = %U
# create mask = 0666
# directory mask = 0777
# comment = Area publica, onde todos podem ler e escrever
# public = yes
# #available = no
# writable = yes
[Publico]
comment = Area publica, onde todos podem ler e escrever
path = /srv/smb/Publico
browseable = yes
writable = yes
public = yes
create mask = 0777
directory mask = 0777
security = share
hosts allow = ALL
read only = no
guest ok = yes
guest only = yes
guest account = nobody