<sect id="s-samba-s-a">Compartilhamento de arquivos e diretórios
 <p>
Esta seção documenta como disponibilizar arquivos e impressoras com o 
SAMBA e os parâmetros usados para realizar restrições de compartilhamento, 
modo que os dados serão disponibilizados e ítens de performance. A maior 
parte destes parâmetros são empregados em serviços do SAMBA, mas nada impede 
que também sejam colocado na seção <em>[global]</em> do arquivo de configuração, 
principalmente quando isto é válido para diversos serviços compartilhados
(veja <ref id="s-samba-s-global">).


<sect1 id="s-samba-s-a-param">Descrição de parâmetros usados em compartilhamento
 <p>
Abaixo o guia traz algumas das opções que podem ser usadas para 
controlar o comportamento do compartilhamento de arquivos por 
<em>serviços</em> no servidor SAMBA:

<taglist compact>
 <tag>path</tag>
  <item>
Indica o diretório que será compartilhado. Lembre-se que o usuário 
terá as permissões de acesso que ele teria caso estivesse logado no sistema como 
um usuário UNIX normal, exceto se estiver fazendo mapeamento para outros nomes de 
usuários (veja <ref id="s-samba-a-usernamemap">).
 <p>
Ex: <tt>path=/pub</tt> - Compartilha o diretório local <file>/pub</file>.
<![ %OBS [
 <p>
<strong>OBS:</strong> Quando não é definido um <tt>path</tt>, o diretório
<file>/tmp</file> é usado como padrão.
]]>

 <tag>comment</tag>
  <item>
Descrição do compartilhamento que será mostrada na janela de procura de rede ou 
no <tt>smbclient -L maquina</tt>.
 <p>
Ex: <tt>comment=Pasta de conteúdo público do sistema</tt>.

 <tag>browseable</tag>
  <item>
Define se o compartilhamento será ou não exibido na janela de procura de rede.
Mesmo não sendo exibido, o compartilhamento poderá ser acessado. Veja 
<ref id="s-samba-a-invisivel"> para uma explicação mais detalhada.
 <p>
Ex: <tt>browseable=yes</tt> - Lista o compartilhamento na janela de pesquisa
de servidores.

 <tag>guest account</tag>
  <item>
Conta que será usada para fazer acesso sem senha (convidado) quando o 
parâmetro <tt>guest ok</tt> ou <tt>public</tt> forem usados em um compartilhamento. 
Por padrão ela é mapeada para o usuário <tt>nobody</tt>. É importante especificar 
uma nome de usuário <em>guest</em> (convidado), principalmente porque seu 
UID será usado para fazer várias operações no SAMBA, como exibir os recursos 
disponíveis na máquina para a rede. Por motivos claros, é recomendável que este 
usuário <strong>não</strong> tenha acesso login ao sistema. 
 <p>
Caso não tenha a intenção de ocultar o SAMBA na lista de máquinas da 
rede (fazendo apenas acesso direto aos recursos), especifique um valor
para esta opção.
 <p>
Ex: <tt>guest account = sambausr</tt> - Mapeia os usuário se conectando sem 
senha para o usuário <tt>sambausr</tt>, desde que o acesso guest seja permitido 
pela opção <tt>public</tt>. 

 <tag>public</tag>
  <item>
Permitem aos usuários usuários se conectarem ao compartilhamento sem fornecer uma 
senha usando o usuário guest. O UID que o usuário guest será mapeado é 
especificado pelo parâmetro <tt>guest account</tt>). Veja 
<ref id="s-samba-a-publico">.
O parâmetro <tt>guest ok</tt> é equivalente a <tt>public</tt>.
 <p>
Ex: <tt>public = no</tt> - Não permite

 <tag>guest only</tag>
  <item>
Permite somente conexões guest ao recurso. O UID do usuário é mapeado para 
guest, mesmo que forneça uma senha correta. O valor padrão é <tt>no</tt>.
 <p>
Ex: <tt>guest only = no</tt>.

 <tag>write list</tag>
  <item>
Lista de usuários separados por espaço ou vírgula que poderão ler e gravar 
no compartilhamento. 
Caso o nome for iniciado por "@", o nome especificado será tratado como um 
grupo UNIX (<file>/etc/group</file>) e todos os usuários daquele grupo 
terão acesso de gravação. O uso deste parâmetro ignora o <tt>read only = yes</tt>.
Veja <ref id="s-samba-a-restr"> para mais detalhes.
 <p>
Ex: <tt>write list = gleydson, @usuarios</tt> - Permite acesso gravação 
somente do usuário <tt>gleydson</tt> e todos os usuários pertencentes ao 
grupo <tt>@usuarios</tt>. 

<![ %OBS [ 
 <p>
<strong>OBS:</strong> - O significado de "@" nos parâmetros 
"invalid users"/"valid users"  é diferente das opções <tt>write list</tt> 
e <tt>read list</tt>. ]]>

 <tag>read list</tag>
  <item>
Lista de usuários separados por espaço ou vírgula que poderão apenas 
ler o compartilhamento. 
O caracter "@" pode ser especificado para fazer referência a grupos, como 
no <tt>write list</tt>. O uso deste parâmetro ignora o <tt>read only = no</tt>.
Veja <ref id="s-samba-a-restr"> para mais detalhes.
 <p>
Ex: <tt>read list = nobody, system, operador, @usuarios</tt> - Permite acesso 
de leitura somente do usuário <tt>nobody, system, operador</tt> e todos os 
usuários pertencentes ao grupo <tt>@usuarios</tt>. 

 <tag>user</tag>
  <item>
 Especifica um ou mais nomes de usuários ou grupos (caso o 
 nome seja seguido de "@")  para checagem de senha.
 Quando o cliente somente fornece uma senha (especialmente na rede 
 <prgn>Lan Manager</prgn>, <prgn>Windows for Workgroups</prgn> e 
 primeira versão do <prgn>Windows 95</prgn>) ela será validada no 
 banco de dados de senhas  usando o usuário especificado nesta opção.
  <p>
 Ex: <tt>user = john @usuariosrede</tt>

 <tag>only user</tag>
  <item>
Especifica se somente serão permitidas conexões vindas de usuários 
da diretiva <tt>user</tt>. O padrão é <tt>no</tt>. Caso deseje 
restringir o acesso a determinados usuários, o certo é faze-lo 
usando <tt>valid users</tt> e <tt>invalid users</tt> (veja 
<ref id="s-samba-a-restrusu">).
O uso de <tt>only user</tt> é apropriado quando é necessário um controle 
específico de acesso sobre a diretiva <tt>user</tt>.
 <p>
Ex: <tt>only user = no</tt>.
 
 <tag>locking</tag>
  <item>
Permite ao SAMBA fazer um lock real de arquivo ou apenas simular. Caso 
seja especificado como "0", o arquivo não é bloqueado para acesso 
exclusivo no servidor mas uma resposta positiva de lock é retornada 
ao cliente. Se definido como "1", um lock real é feito. O padrão é 
<tt>yes</tt>.
 <p>
Ex: <tt>locking = yes</tt>
 
 <tag>available</tag>
  <item>
Faz o SAMBA ignorar o compartilhamento (como se tivesse retirado do 
servidor). O valor padrão é "no".

 <tag>follow symlinks</tag>
  <item>
Permite o uso de links simbólicos no compartilhamento (veja também a opção 
<tt>wide links</tt>). A desativação desta opção diminui um pouco a 
performance de acesso aos arquivos. Como é restrita a compartilhamento, o 
impacto de segurança depende dos dados sendo compartilhados. O valor padrão 
desta opção é "YES".
 <p>
Ex: <tt>follow symlinks = yes</tt>

 <tag>wide links</tag>
  <item>
Permite apontar para links simbólicos para fora do compartilhamento 
exportada pelo SAMBA. O valor padrão esta opção é "YES". 
 <p>
Ex: <tt>wide links = yes</tt>.
<![ %OBS [
 <p>
<strong>OBS:</strong> - A desativação desta opção causa um aumento na 
performance do servidor SAMBA, evitando a chamada de funções do sistema 
para resolver os links. Entretanto, diminui a segurança do seu servidor, 
pois facilita a ocorrência de ataques usando links simbólicos.
 <p>
Lembre-se mais uma vez que a segurança do seu sistema começa pela política e 
uma instalação bem configurada, isso já implica desde a escolha de sua 
distribuição até o conhecimento de permissões e planejamento na implantação do 
servidor de arquivos. ]]>

 <tag>dont descend</tag>
  <item>
Não mostra o conteúdo de diretórios especificados.
 <p>
Ex: <tt>dont descend = /root, /proc, /win/windows, "/win/Arquivos de Programas", 
     "/win/program files"</tt>.

 <tag>printable</tag>
  <item>
Especifica se o compartilhamento é uma impressora (yes) ou um compartilhamento
de arquivo/diretório (no). O padrão é "no".

 <tag>read only</tag>
  <item>
Especifica se o compartilhamento é somente para leitura (yes) ou não (no) para todos 
os usuários. O parâmetro <tt>writable</tt> é um antônimo equivalente a este 
parâmetro, só que utiliza as opções invertidas. Por segurança, o valor padrão é 
somente leitura. Veja uma explicação mais detalhada em <ref id="s-samba-a-ro">.
 <p>
Ex: <tt>read only = yes</tt>.

 <tag>create mask</tag>
  <item>
Modo padrão para criação de arquivos no compartilhamento. O parâmetro 
"create mode" é um sinônimo para este. O modo de arquivos deve ser 
especificado em formato octal. <![ %INIC-INTER [ Veja <ref id="perm-octal">). ]]>
<p>
Ex: <tt>create mask = 0600</tt>.

 <tag>directory mask</tag>
  <item>
Modo padrão para a criação de diretórios no compartilhamento. O parâmetro
"directory mode" é um sinônimo para este. O modo de diretório deve 
ser especificado em formato octal. 
 <p>
Ex: <tt>directory mask = 0700</tt>.

 <tag>getwd cache</tag>
  <item>
Permite utilizar um cache para acesso as requisições getwd, diminuindo o 
número de ciclos de processamento para acesso a arquivos/diretórios. O valor 
padrão é "Yes".

 <tag>write cache size</tag>
  <item>
Tamanho do cache de leitura/gravação do compartilhamento. Este valor é 
especificado em bytes e o padrão é "0". Veja <ref id="s-samba-perf"> 
para detalhes sobre seu uso.
 <p>
Ex: <tt>write cache size = 384000</tt>.

 <tag>inherit permissions</tag>
  <item>
Permite herdar permissões de arquivos/diretórios do diretório pai quando novos 
arquivos/diretórios são criados, isto inclui bits SGID (set group ID). O padrão 
é <tt>NÃO</tt> herdar permissões. O uso desta opção substitui as opções 
fornecidas por <tt>create mask</tt>, <tt>directory mask</tt>, <tt>force 
create mask</tt> e <tt>force directory mask</tt>.
 <p>
Ex: <tt>inherit permissions</tt>.

 <tag>preexec</tag>
  <item>
Executa um comando antes a abertura de um compartilhamento. O parâmetro 
<tt>exec</tt> é um sinônimo para este. Veja <ref id="s-samba-a-comandos">.

 <tag>postexec</tag>
  <item>
Executa um comando depois da utilização do compartilhamento. Veja 
<ref id="s-samba-a-comandos">.

 <tag>preexec close</tag>
  <item>
Fecha imediatamente o compartilhamento caso o valor do comando executado
pela opção <tt>preexec</tt> seja diferente de 0. O uso desta opção só 
faz sentido em conjunto com <tt>preexec</tt>. O valor padrão é "no". 
Veja <ref id="s-samba-a-comandos">.
 <p>
Exemplo: <tt>preexec close = yes</tt>.

 <tag>volume = nome</tag>
  <item>
Retorna o nome de volume especificado quando é feito o acesso ao compartilhamento.
Isto é muito útil para instalações onde o serial do CD, disquete ou HD é 
verificado durante o acesso. Isto acontece com freqüência em produtos 
de fabricantes proprietários como forma de evitar a execução ilegal do programa.

</taglist>



