├── .gitignore ├── Avancado ├── apache │ ├── Apache-DSO.sgml │ ├── Apache-INDEX.sgml │ ├── Apache-Introducao.sgml │ ├── Apache-acesso.sgml │ ├── Apache-errordocument.sgml │ ├── Apache-exemplo.sgml │ ├── Apache-log.sgml │ ├── Apache-proxy.sgml │ ├── Apache-ssl.sgml │ ├── Apache-vhosts.sgml │ └── http-codigos.sgml ├── conf-rede │ ├── CFGRede-INDEX.sgml │ └── CFGRede-Introducao.sgml ├── criptografia │ ├── Cripto-INDEX.sgml │ └── Cripto-Introducao.sgml ├── cvs │ ├── CVS-CVSROOT.sgml │ ├── CVS-Cliente.sgml │ ├── CVS-Exemplo.sgml │ ├── CVS-INDEX.sgml │ ├── CVS-Introducao.sgml │ ├── CVS-Projeto.sgml │ └── CVS-Servidor.sgml ├── gerenc-contas │ ├── contas-INDEX.sgml │ └── contas-Introducao.sgml ├── git │ ├── git-INDEX.sgml │ └── git-doc.sgml ├── haproxy │ ├── haproxy-INDEX.sgml │ ├── haproxy-Introducao.sgml │ └── haproxy-exemplos.sgml ├── identd │ ├── Ident-INDEX.sgml │ └── Ident-Introducao.sgml ├── iptables-firewall │ ├── iptables-INDEX.sgml │ ├── iptables-Introducao.sgml │ ├── iptables-chains.sgml │ ├── iptables-exemplo.sgml │ ├── iptables-mangle.sgml │ ├── iptables-matches.sgml │ ├── iptables-nat.sgml │ ├── iptables-outras-opcoes.sgml │ ├── iptables-path.sgml │ └── pacotes-path.txt ├── nftables-firewall │ ├── Nftables-Chains.sgml │ ├── Nftables-Introducao.sgml │ ├── Nftables-Matches.sgml │ ├── Nftables-Rules.sgml │ ├── Nftables-Tables.sgml │ └── nftables-INDEX.sgml ├── nginx │ ├── Nginx-Exemplos.sgml │ ├── Nginx-Integracao-php.sgml │ ├── Nginx-Introducao.sgml │ ├── Nginx-http2.sgml │ ├── Nginx-modsecurety.sgml │ └── nginx-INDEX.sgml ├── pop3 │ ├── pop3-INDEX.sgml │ └── pop3-Introducao.sgml ├── restr-seguranca │ ├── restricoes-INDEX.sgml │ ├── restricoes-Introducao.sgml │ └── todo ├── samba │ ├── SAMBA-Arquivo.sgml │ ├── SAMBA-Cliente.sgml │ ├── SAMBA-Dominio.sgml │ ├── SAMBA-INDEX.sgml │ ├── SAMBA-Introducao.sgml │ ├── SAMBA-NameResolv.sgml │ ├── SAMBA-Servidor.sgml │ ├── SAMBA-Timeserver.sgml │ ├── SAMBA-Workgroup.sgml │ ├── SAMBA-acesso.sgml │ ├── SAMBA-exemplo.sgml │ ├── SAMBA-impressao.sgml │ ├── SAMBA-senhas.sgml │ ├── SAMBA-uidmap.sgml │ ├── referencias.txt │ ├── samba.txt │ └── todo ├── ssh │ ├── ssh-INDEX.sgml │ ├── ssh-Introducao.sgml │ ├── ssh-clientes.sgml │ └── ssh-servidor.sgml ├── systemd │ ├── systemd-INDEX.sgml │ └── systemd-doc.sgml ├── telnet │ ├── referencias.txt │ ├── telnet-INDEX.sgml │ └── telnet-Introducao.sgml └── virtualizacao │ ├── virtualizacao-INDEX.sgml │ ├── virtualizacao-docker.sgml │ ├── virtualizacao-introducao.sgml │ ├── virtualizacao-libvirt.sgml │ ├── virtualizacao-lxc.sgml │ ├── virtualizacao-qemu.sgml │ ├── virtualizacao-virtualbox.sgml │ └── virtualizacao-xen.sgml ├── Iniciante ├── ajuda.sgml ├── apendice.sgml ├── basico.sgml ├── colaboradores.sgml ├── comandos-arquivo.sgml ├── comandos-contas.sgml ├── comandos-diretorio.sgml ├── comandos-diversos.sgml ├── comandos-rede.sgml ├── configurando.sgml ├── discos.sgml ├── impressao.sgml ├── introducao.sgml ├── migrando.sgml ├── permissoes.sgml ├── redir.sgml ├── run.sgml └── x11.sgml ├── Intermediario ├── aplicativos.sgml ├── bootloaders.sgml ├── compactadores.sgml ├── compilacao.sgml ├── debian.sgml ├── dpkg.sgml ├── etc.sgml ├── hardware.sgml ├── internet.sgml ├── kernel.sgml ├── log.sgml ├── manutencao.sgml ├── personalizacao.sgml ├── rede.sgml └── tasks.sgml ├── LICENSE ├── Makefile ├── README.md ├── compil ├── index.sgml └── index.toc ├── dinamicas.ent ├── images ├── body-bg.jpg ├── download-button.png ├── github-button.png ├── header-bg.jpg ├── highlight-bg.jpg ├── keep_calm_leia_guia_foca_linux.png └── sidebar-bg.jpg ├── index.html ├── index.sgml ├── javascripts └── main.js ├── output ├── html │ ├── ch-ajuda.html │ ├── ch-apend.html │ ├── ch-aplic.html │ ├── ch-bas.html │ ├── ch-boot.html │ ├── ch-cfg.html │ ├── ch-cfgrede.html │ ├── ch-cmd.html │ ├── ch-cmdc.html │ ├── ch-cmdd.html │ ├── ch-cmdn.html │ ├── ch-cmdv.html │ ├── ch-compil.html │ ├── ch-cpctd.html │ ├── ch-d-contas.html │ ├── ch-d-cripto.html │ ├── ch-d-l.html │ ├── ch-d-restr.html │ ├── ch-deb.html │ ├── ch-disc.html │ ├── ch-dpkg.html │ ├── ch-etc.html │ ├── ch-fw-iptables.html │ ├── ch-git.html │ ├── ch-hardw.html │ ├── ch-impr.html │ ├── ch-inter.html │ ├── ch-intro.html │ ├── ch-kern.html │ ├── ch-log.html │ ├── ch-manut.html │ ├── ch-perm.html │ ├── ch-pers.html │ ├── ch-rede.html │ ├── ch-redir.html │ ├── ch-run.html │ ├── ch-s-apache.html │ ├── ch-s-cvs.html │ ├── ch-s-ident.html │ ├── ch-s-pop3.html │ ├── ch-s-samba.html │ ├── ch-s-ssh.html │ ├── ch-s-telnet.html │ ├── ch-systemd.html │ ├── ch-tasks.html │ ├── ch-virt-intro.html │ ├── ch-x11.html │ ├── footnotes.html │ └── index.html └── index.pdf ├── padroes.ent ├── params.json ├── stylesheets ├── github-light.css ├── print.css └── stylesheet.css └── urls.ent /.gitignore: -------------------------------------------------------------------------------- 1 | *.aux 2 | *.log 3 | *.out 4 | *.tex 5 | *.toc 6 | *.tpt 7 | output/index.dvi 8 | -------------------------------------------------------------------------------- /Avancado/apache/Apache-DSO.sgml: -------------------------------------------------------------------------------- 1 | Módulos DSO 2 |

3 | Os módulos DSO permitem adicionar/remover características do 4 | Apache sem necessidade de recompilar todo o servidor web, 5 | assim interrompendo o serviço para a atualização dos arquivos. 6 | Módulos de programas terceiros também podem ser compilados e adicionado 7 | sem problemas através deste recurso. 8 |

9 | Os módulos são carregados para a memória no momento que o apache é 10 | iniciado através da diretiva LoadModule no arquivo de configuração. 11 | Dessa forma, toda vez que um novo módulo for adicionado, removido ou alterado, 12 | será necessário reiniciar o servidor apache. A sintaxe da linha 13 | para carregar módulos .so é a seguinte: 14 |

15 | LoadModule [nome_do_modulo] [caminho_do_arquivo_so] 16 |

17 | 19 | nome_do_modulo 20 | Especifica o nome do módulo, não deve conter espaços. 21 | 22 | caminho_do_arquivo_so 23 | 24 | Define a localização do arquivo que contém o módulo especificado. Por 25 | padrão os módulos estão localizados em /usr/lib/apache/[versão] 26 | ]]> 27 | A posição em que os módulos aparecem podem ter influência em seu funcionamento, 28 | alguns requerem que sejam especificados antes de outros módulos para 29 | funcionarem corretamente (como o módulo php3_module, que deve ser 30 | carregado antes de qualquer módulo de controle de CGI's). Leia a documentação 31 | específica sobe o módulo em caso de dúvidas, os módulos que acompanham o 32 | Apache são documentados em detalhes no manual do Apache. 33 |

34 | Para usar uma característica/diretiva/opção do Apache que dependa 35 | de um certo módulo, obviamente você deverá carregar o módulo correspondente 36 | (em caso de dúvidas, leia a documentação sobre o módulo). Veja a 37 | para exemplos do uso da diretiva 38 | LoadModule. 39 | 40 | 42 | Por exemplo, se você quiser utilizar as diretivas de autorização 43 | (allow, deny, order) deverá ter o módulo mod_access 44 | carregado, para usar as diretivas de autorização (authname, authuserfile, authtype, etc) deverá ter o módulo mod_auth carregado. Mais 45 | detalhes podem ser encontrados em . ]]> 46 | 47 | OBS1: O suporte a DSO atualmente só está disponível 49 | para plataforma UNIX e seus derivados, como o Linux. ]]> 50 |

51 | Também é possível ativar certas diretivas verificando se o módulo correspondente 52 | estiver ou não carregado através da diretiva IfModule: 53 | 54 | <IfModule mod_userdir.c> 55 | UserDir disabled root 56 | UserDir public_html 57 | </IfModule> 58 | 59 | 60 | 61 | Nas linhas acima, as diretivas UserDir somente serão executadas 62 | se o módulo mod_userdir.c estiver carregado através da diretiva 63 | LoadModule. 64 |

65 | Segue abaixo uma lista de módulos padrões que acompanham do Apache, 66 | os módulos marcados com "*" são ativados por padrão: 67 | 68 | Criação de Ambiente 69 | 70 | 71 | * mod_env - Ajusta variáveis de ambiente para scripts CGI/SSI 72 | * mod_setenvif - Ajusta variáveis de ambiente de acordo com cabeçalhos http 73 | mod_unique_id - Gera identificadores únicos para requisições 74 | 75 | 76 | Decisão de tipo de conteúdo de arquivos 77 | 78 | 79 | * mod_mime - Determinação de tipo/encodificação do conteúdo (configurado) 80 | mod_mime_magic - Determinação de tipo/encodificação do conteúdo (automático) 81 | * mod_negotiation - Seleção de conteúdo baseado nos cabeçalhos "HTTP Accept*" 82 | 83 | 84 | Mapeamento de URL 85 | 86 | 87 | * mod_alias - Tradução e redirecionamento de URL simples 88 | mod_rewrite - Tradução e redirecionamento de URL avançado 89 | * mod_userdir - Seleção de diretórios de recursos por nome de usuário 90 | mod_speling - Correção de URLs digitadas incorretamente 91 | mod_vhost_alias - Suporte para virtual hosts dinamicamente 92 | configurados em massa. 93 | 94 | 95 | Manipulação de Diretórios 96 | 97 | 98 | * mod_dir - Manipulação de Diretório e arquivo padrão de diretório 99 | * mod_autoindex - Geração de índice automático de diretório 100 | 101 | 102 | Controle de Acesso 103 | 104 | 105 | * mod_access - Controle de acesso por autorização (usuário, endereço, rede) 106 | * mod_auth - Autenticação HTTP básica (usuário, senha) 107 | mod_auth_dbm - Autenticação HTTP básica (através de arquivos NDBM do Unix) 108 | mod_auth_db - Autenticação HTTP básica (através de arquivos Berkeley-DB) 109 | mod_auth_anon - Autenticação HTTP básica para usuários no estilo anônimo 110 | mod_auth_digest - Autenticação MD5 111 | mod_digest - Autenticação HTTP Digest 112 | 113 | 114 | Respostas HTTP 115 | 116 | 117 | mod_headers - Cabeçalhos de respostas HTTP (configurado) 118 | mod_cern_meta - Cabeçalhos de respostas HTTP (arquivos no estilo CERN) 119 | mod_expires - Respostas de expiração HTTP 120 | * mod_asis - Respostas HTTP em formato simples (raw) 121 | 122 | 123 | Scripts 124 | 125 | 126 | * mod_include - Suporte a Includes no lado do servidor (SSI - Server Sides Includes) 127 | * mod_cgi - Suporte a CGI (Common Gateway Interface) 128 | * mod_actions - Mapeia scripts CGI para funcionarem como 'handlers' internos. 129 | 130 | 131 | Manipuladores de conteúdo Interno 132 | 133 | 134 | * mod_status - Visualiza status do servidor em tempo de execução. 135 | mod_info - Visualiza sumário de configuração do servidor. 136 | 137 | 138 | Registros de Requisições 139 | 140 | 141 | * mod_log_config - Registro de requisições personalizáveis 142 | mod_log_agent - Registro especializado do User-Agent HTTP (depreciado) 143 | mod_log_refer - Registro especializado do Referrer HTTP (depreciado) 144 | mod_usertrack - Registro de cliques de usuários através de Cookies HTTP 145 | 146 | 147 | Outros 148 | 149 | 150 | * mod_imap - Suporte a Mapeamento de Imagem no lado do servidor. 151 | mod_proxy - Módulo de Cache do Proxy (HTTP, HTTPS, FTP). 152 | mod_so - Inicialização do Dynamic Shared Object (DSO) 153 | 154 | 155 | Experimental 156 | 157 | 158 | mod_mmap_static - Cache de páginas freqüentemente servidas via mmap() 159 | 160 | 161 | Desenvolvimento 162 | 163 | 164 | mod_example - Demonstração da API do Apache (somente desenvolvedores) 165 | 166 | 167 | 168 | 169 | -------------------------------------------------------------------------------- /Avancado/apache/Apache-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Avancado/apache/Apache-errordocument.sgml: -------------------------------------------------------------------------------- 1 | Definindo documentos de erro personalizados 2 |

3 | Documentos de erros personalizados são definidos através da diretiva 4 | ErrorDocument. É possível especificar códigos de erros que 5 | serão atendidos por certos documentos ou colocar esta diretiva dentro 6 | de blocos de controle de acesso <Directory>, <Location> ou 7 | <VirtualHost> para que tenham mensagens de erro personalizadas, 8 | ao invés da padrão usada pelo servidor httpd. 9 |

10 | ErrorDocument [código de erro] [documento] 11 |

12 | 14 | Onde: 15 | 16 | código de erro 17 | 18 | Código de erro da mensagem (veja como referência). 19 | O código de erro 401 deve referir-se a um arquivo local. 20 | 21 | documento 22 | 23 | Documento, mensagem de erro ou redirecionamento que será usado no servidor caso 24 | aquele código de erro seja encontrado: 25 | 26 | ]]> 27 | Para definir uma mensagem de erro padrão para todo servidor web, basta 28 | colocar a diretiva ErrorDocument fora das diretivas 29 | que controlam o acesso a diretórios e virtual hosts (o inicio do 30 | arquivo httpd.conf é ideal). 31 | 32 | 34 | Exemplos: 35 | 36 | 37 | ErrorDocument 404 /cgi-bin/erros404.pl - Direciona para um script em 38 | Perl que manda um e-mail ao administrador falando sobre o link quebrado e 39 | envia o usuário a uma página de erro padrão. 40 | 41 | ErrorDocument 404 /naoencontrada.html - Direciona o usuário para 42 | o arquivo naoencontrada.html (dentro de DocumentRoot) 43 | quando ocorrer o erro 404. Note que o diretório / levado em 44 | consideração é o especificado pela diretiva DocumentRoot. 45 | 46 | ErrorDocument 500 "Erro Interno no servidor" - Mostra a mensagem 47 | na tela quando ocorrer o erro 500. 48 | 49 | ErrorDocument 401 /obtendoacesso.html - Direciona o usuário ao arquivo 50 | explicando como obter acesso ao sistema. 51 | 52 | ErrorDocument 503 &url-manual-www;/servicos.html - Redireciona 53 | o usuário a URL especificada. 54 | 55 | ErrorDocument 403 "Acesso negado" - Mostra a mensagem na tela no 56 | caso de erros 403. 57 | ]]> 58 | 59 | -------------------------------------------------------------------------------- /Avancado/apache/Apache-proxy.sgml: -------------------------------------------------------------------------------- 1 | Configurando o Apache como servidor proxy 2 |

3 | O Apache pode ser configurado para funcionar como servidor 4 | proxy transparente para sua rede interna, possibilitando inclusive o 5 | uso de cache de disco. É possível se fazer conexões HTTP (incluindo SSL) e FTP. 6 | 11 |

12 | O primeiro passo é ativar o módulo de proxy no arquivo httpd.conf, 13 | basta descomentar a linha: 14 | 15 | # LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so 16 | 17 | 18 | O seguinte bloco pode ser colocado no final do arquivo httpd.conf 19 | para configurar um servidor proxy para realizar conexões diretas 20 | (sem o uso de cache) e permitir o uso de servidores proxy em sua rede: 21 | 22 | # Suporte a Proxy 23 | # 24 | <IfModule mod_proxy.c> 25 | ProxyRequests off 26 | ProxyRemote * http://debian:3128 27 | ProxyBlock microsoft.com microsoft.com.br 28 | NoProxy 192.168.1.0/24 29 | ProxyDomain .gms.com.br 30 | 31 | # Ativa/Desativa a manipulação de cabeçalhos HTTP/1.1 "Via:". 32 | # 33 | # ("Full" adiciona a versão do servidor Apache; "Block" remove todos os cabeçalhos 34 | # de saída "Via:") 35 | # Escolha uma das opções: Off | On | Full | Block 36 | # 37 | #ProxyVia On 38 | #</IfModule> 39 | 40 | Segue a explicação de cada uma das diretivas acima: 41 | 42 | ProxyRequests [on/off] 43 | 44 | Ativa (on) ou Desativa (off) o serviço de proxy do servidor Apache. Note que o 45 | módulo libproxy.so deve estar carregado para que o bloco 46 | <IfModule libproxy.c> seja processado. A desativação desta diretiva não 47 | afeta a diretiva ProxyPass. 48 | 49 | ProxyRemote [origem] [URL] 50 | 51 | Esta opção é útil para fazer o Apache redirecionar suas requisições 52 | para outro servidor proxy (como o squid ou o gateway da 53 | rede, caso o Apache estiver sendo executado em uma máquina interna). 54 | A origem pode ser uma URL completa (como http://www.debian.org), 55 | uma URL parcial (como ftp, http) ou "*" para que o redirecionamento seja 56 | sempre usado. 57 | 58 | ProxyBlock [padrão] 59 | 60 | Permite bloquear o acesso a endereços que contenham o padrão especificado. 61 | Podem ser especificadas palavras, máquinas, domínios, URLs separados por espaços. 62 | O Apache fará a resolução DNS no caso de endereços IP e fará o 63 | cache para requisições futuras. 64 | 65 | 66 | NoProxy [endereços] 67 | 68 | Permite especificar endereços Internos que não serão redirecionados para 69 | o servidor proxy especificado por ProxyRemote. Podem ser usados 70 | nomes de máquinas, endereços IP, subredes ou domínios separados por espaços. 71 | 72 | ProxyDomain [endereço] 73 | 74 | Especifica o endereço que será adicionado a URL caso seja recebida uma 75 | requisição que contenha somente um nome de máquina. É útil em redes 76 | Internas. 77 | 78 | 79 | Note que quando o suporte a proxy não está ativado no Apache, 80 | qualquer endereço de URL externa levará a página definida pela diretiva 81 | DocumentRoot. Isto deixará de funcionar após configurar o 82 | serviço de proxy. 83 |

84 | O uso do cache é interessante para acelerar as requisições http da rede 85 | interna para a rede externa, desta forma, se uma requisição foi feita 86 | anteriormente, será descarregado o arquivo do disco rígido e assim 87 | evitar uma nova conexão externa (isto libera a rede para outras coisas). Para 88 | configurar um cache no serviço proxy, adicione as seguintes linhas no 89 | final do bloco anterior de proxy: 90 | 91 | # As linhas abaixo ativam o cache do apache, o cache não funcionará ao menos que 92 | # CacheRoot seja especificado 93 | CacheRoot /var/spool/apache 94 | CacheForceCompletion 70 95 | CacheSize 5 96 | CacheGcInterval 3 97 | CacheDefaultExpire 5 98 | CacheMaxExpire 300 99 | NoCache 192.168.1.0/24 a_domain.com outrodomínio.com.br outro.dominio.net 100 | 101 | Cada diretiva acima possui o seguinte significado: 102 | 103 | CacheRoot 104 | 105 | Diretório base onde serão criados os outros diretórios de cache. O cache 106 | só será ativado se esta diretiva for definida. 107 | 108 | CacheForceCompletion [num] 109 | 110 | Se uma transferência for cancelada e passar de num%, o 111 | Apache continuará a transferência e armazenará o 112 | arquivo no cache. O valor padrão é 90. 113 | 114 | CacheSize [num] 115 | 116 | Define o tamanho máximo do diretório de cache do Apache, 117 | em KB. Não especifique um valor que tome mais de 70% do espaço em disco. 118 | O valor padrão é 5. 119 | 120 | CacheGcInterval [num] 121 | 122 | Define o tempo que o cache será checado em busca de arquivos maiores que 123 | o total do cache. Arquivos que ultrapassem o tamanho do cache são 124 | automaticamente eliminados. 125 | 126 | CacheDefaultExpire [num] 127 | 128 | Define o tempo que os documentos ficarão no cache, se foram 129 | transferidos através de protocolos que não suportam horas de expiração. 130 | O valor padrão é 1 hora. 131 | 132 | CacheMaxExpire [num] 133 | 134 | Define o tempo que os documentos permanecerão armazenados no 135 | cache (em horas). Esta opção ignora a hora de expiração do 136 | documento (caso fornecida). O valor padrão é 24 horas. 137 | 138 | NoCache [endereços] 139 | 140 | Permite especificar lista de palavras, máquinas, domínios, IP's que não 141 | serão armazenados no cache do Apache. Caso seja usado 142 | NoCache * o cache será desativado completamente. Note que 143 | o cache também pode ser desativado comentando a diretiva 144 | CacheRoot. 145 | 146 | 147 | Se você desejar um servidor cache mais flexível, rápido, dinâmico, 148 | configurável (com possibilidade de uso de restrições baseadas em URL, tempo de 149 | acesso, autenticação), instale o squid e configure o 150 | apache para fazer forward de conexões para ele 151 | (). 152 | 153 | 154 | Controlando o acesso ao servidor proxy 155 |

156 | Incluir o bloco abaixo no arquivo access.conf para 157 | definir o acesso dos serviços de proxy nas redes desejadas (se a sua configuração 158 | for aberta como padrão isto pode ser opcional): 159 | 160 | # Acesso aos serviços proxy do apache 161 | <Directory proxy:*> 162 | Order deny,allow 163 | Deny from all 164 | Allow from .seudominio.com.br 165 | </Directory> 166 | 167 | Para explicações sobre o processo de bloqueio acima, veja 168 | . 169 | 170 | 171 | Redirecionamento de conexões no Apache 172 |

173 | Este recurso do Apache é interessante para criar clusters 174 | de servidores em sua rede interna. O que ele faz é pegar uma requisição 175 | a um determinado endereço e redireciona-lo a outra máquina e as respostas 176 | são repassadas ao servidor web (para o cliente a mesma máquina esta 177 | atendendo a requisição, para você o processamento das requisições esta 178 | sendo distribuído internamente na rede). 179 |

180 | As seguintes diretivas são usadas para realizar o redirecionamento de 181 | conexões: 182 | 183 | ProxyPass e ProxyPassReverse 184 | 185 | 186 | ProxyPass [diretório_da_url [outro_servidor:/diretório] 187 | 188 | A ProxyPass permite que a URL seja redirecionada para o servidor 189 | local e diretório especificado. Por exemplo, assumindo que o endereço principal de 190 | nosso servidor é &url-manual-www; e desejamos que a URL 191 | &url-manual-www;/download seja atendida por uma máquina 192 | localizada na nossa rede privada com o endereço http://192.168.1.54. 193 | Basta incluir a linha: 194 | 195 | ProxyPass /download http://192.168.1.54 196 | 197 | Qualquer requisição externa a &url-manual-www;/download/iniciante 198 | será atendida por http://192.168.1.54/iniciante. 199 | 200 | ProxyPassRemote [diretório_da_url [outro_servidor:/diretório] 201 | 202 | Esta diretiva permite modificar o cabeçalho Location nas mensagens 203 | de respostas de redirecionamento enviadas pelo Apache. Isto 204 | permite que o endereço retornado seja o do servidor (que faz a interface 205 | externa com o cliente) e não da máquina do redirecionamento. 206 | 207 | ProxyPass /download http://192.168.1.54 208 | ProxyPassReverse /download http://192.168.1.54 209 | 210 | Se a máquina 192.168.1.54 redirecionar a URL para 211 | http://192.168.1.54/download/iniciante, a resposta 212 | será modificada para &url-manual-www;/download/iniciante 213 | antes de ser retornada ao cliente. 214 | 215 | 216 | 217 | 218 | -------------------------------------------------------------------------------- /Avancado/apache/Apache-ssl.sgml: -------------------------------------------------------------------------------- 1 | Uso de criptografia SSL 2 |

3 | Esta seção é uma referência rápida para configuração e uso do módulo 4 | apache-ssl com o servidor Apache. Este módulo 5 | realiza a comunicação segura de dados (criptografada) via porta 443 (que 6 | é usada como padrão quando especificamos uma url iniciando com https://). 7 | A transmissão criptografada de dados é importante quanto temos dados 8 | confidenciais que precisamos transmitir como movimentação bancária, senhas, 9 | número de cartões de crédito, fazer a administração remota do servidor, etc. 10 | SSL significa Secure Sockets Layer (camada segura de transferência) e 11 | TLS Transport Layer Security (camada segura de Transporte). 12 |

13 | A intenção aqui é fornecer explicações práticas para colocar um servidor 14 | Apache com suporte a SSL funcionando no menor tempo possível. 15 | Detalhes sobre funcionamento de certificados, métodos de criptografia, 16 | assinatura, etc. deverão ser buscados na documentação deste módulo ou 17 | em sites especializados (é um assunto muito longo). 18 | 19 | 20 | Servidor apache com suporte a ssl 21 |

22 | Ao invés de utilizar o módulo mod_ssl, você poderá usar o 23 | pacote apache-ssl, ele nada mais é que um 24 | servidor Apache com o suporte SSL já incluso e 25 | não interfere no servidor Apache padrão, porque 26 | é executado somente na porta 443. 27 |

28 | Se você tem um grande site com configurações de acesso personalizadas, ele 29 | trará mais trabalho de administração, pois as configurações e diretivas 30 | de restrições de acesso deverão ser copiadas para este servidor web. No 31 | entanto, ele é indicado para máquinas que serão servidores SSL dedicados 32 | ou quando não possui configurações especiais em seu servidor web principal. 33 |

34 | Esta seção tem por objetivo a instalação do suporte ao módulo 35 | SSL (mod_ssl) no servidor Apache padrão. 36 | 37 | 38 | Instalando o suporte a módulo SSL no Apache 39 |

40 | Instale o pacote libapache-mod-ssl. Após instala-lo, 41 | edite o arquivo /etc/apache/httpd.conf adicionando a 42 | linha: 43 | 44 | LoadModule ssl_module /usr/lib/apache/1.3/mod_ssl.so 45 | 46 | Depois, gere um certificado digital ssl com o programa 47 | mod-ssl-makecert. Ele será armazenado por padrão nos 48 | diretórios em /etc/apache/ssl.??? e seu uso explicado 49 | no resto desta seção. 50 | 51 | 52 | Gerando um certificado digital 53 |

54 | O certificado digital é a peça que garante a transferência segura de dados. 55 | Ele contém detalhes sobre a empresa que fará seu uso e quem o emitiu. Para 56 | gerar ou modificar um certificado digital, execute o comando 57 | mod-ssl-makecert e siga as instruções. O método de criptografia 58 | usado pelo certificado digital é baseado no conceito de chave 59 | pública/privada]]>. 61 | 63 | OBS Não utilize acentos nos dados de seu certificado. ]]> 64 | 65 | 66 | Exemplo de configuração do módulo mod-ssl 67 |

68 | Abaixo uma configuração rápida para quem deseja ter um servidor com suporte 69 | a SSL funcionando em menor tempo possível (ela é feita para operar em todas as 70 | instalações e não leva em consideração o projeto de segurança de sua configuração 71 | atual do Apache). Note que todas as diretivas relacionadas 72 | com o módulo mod_ssl começam com o nome "SSL": 73 | 74 | # Somente processa as diretivas relacionadas a SSL caso o módulo mod_ssl estiver 75 | # carregado pela diretiva LoadModule 76 | <IfModule mod_ssl.c> 77 | # É necessário especificar as portas que o servidor Web aguardará conexões (normais e 78 | # ssl). 79 | Listen 80 80 | Listen 443 81 | 82 | # Ativa o tratamento de conexões com o destino na porta 443 pela diretiva 83 | # VirtualHost abaixo 84 | <VirtualHost _default_:443> 85 | 86 | # Ativa ou desativa o módulo SSL para este host virtual 87 | SSLEngine on 88 | 89 | # Certificado do servidor 90 | SSLCertificateFile /etc/apache/ssl.crt/server.crt 91 | 92 | # Chave privada de certificado do servidor. 93 | SSLCertificateKeyFile /etc/apache/ssl.key/server.key 94 | 95 | # A linha abaixo força o fechamento de conexões quando a 96 | # conexão com o navegador Internet Explorer é interrompida. Isto 97 | # viola o padrão SSL/TLS mas é necessário para este tipo de 98 | # navegador. Alguns problemas de conexões de navegadores também 99 | # são causados por não saberem lidar com pacotes keepalive. 100 | SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown 101 | 102 | </VirtualHost> 103 | 104 | </IfModule> 105 | 106 | ################################################################################# 107 | # Adicionalmente poderão ser especificadas as seguintes opções para modificar # 108 | # o comportamento da seção SSL (veja mais detalhes na documentação do mod-ssl) # 109 | ################################################################################# 110 | 111 | # Formato e localização do cache paralelo de processos da seção. O cache de seção é 112 | # feito internamente pelo módulo mas esta diretiva acelera o processamento 113 | # de requisições paralelas feitas por modernos clientes navegadores. Por padrão 114 | # nenhum cache é usado ("none"). 115 | SSLSessionCache dbm:/var/run/ssl-cache 116 | 117 | # Localização do arquivo de lock que o módulo SSL utiliza para 118 | # sincronização entre processos. O padrão é nenhum. 119 | SSLMutex file:/var/run/ssl-mutex 120 | 121 | # Especifica o método de embaralhamento de dados que será utilizado 122 | # durante o inicio de uma seção SSL (startup) ou durante o processo 123 | # de conexão (connect). Podem ser especificados "builtin" (é muito rápido 124 | # pois consome poucos ciclos da CPU mas não gera tanta combinação aleatória), um 125 | # programa que gera números aleatórios (com "exec") ou os dispositivos aleatórios 126 | # /dev/random e /dev/urandom (com "file"). Por padrão nenhuma fonte 127 | # adicional de números aleatórios é usada. 128 | SSLRandomSeed startup builtin 129 | SSLRandomSeed connect builtin 130 | #SSLRandomSeed startup file:/dev/urandom 512 131 | #SSLRandomSeed connect file:/dev/urandom 512 132 | #SSLRandomSeed connect exec:/pub/bin/NumAleat 133 | 134 | # Tipos MIME para download de certificados 135 | AddType application/x-x509-ca-cert .crt 136 | AddType application/x-pkcs7-crl .crl 137 | 138 | # Tempo máximo de permanência dos objetos do cache acima. O valor padrão é 139 | # 300 segundos (5 minutos). 140 | SSLSessionCacheTimeout 300 141 | 142 | # Versão do protocolo SSL que será usada. Podem ser especificadas 143 | # SSLv2, SSLv3 TLSv1 ou all. O mais compatível com os navegadores atuais 144 | # é o "SSLv2". Por padrão "all" é usado. 145 | #SSLProtocol all 146 | #SSLProtocol -all +SSLv3 147 | 148 | # Registra detalhes sobre o tráfego neste arquivo. Mensagens de erro 149 | # também são armazenadas no arquivo de registro padrão do Apache 150 | SSLLog /var/log/apache/ssl-mod.log 151 | 152 | # Nível das mensagens de log registradas por SSLLog 153 | SSLLogLevel info 154 | 155 | 156 | Algumas diretivas deste módulo podem fazer parte tanto da configuração global do 157 | servidor como diretivas de acesso (Directory, Location, 158 | .htaccess, veja a opção "Context" na documentação do mod_ssl). 159 | 160 | 161 | Autorizando acesso somente a conexões SSL 162 |

163 | Existem casos que precisa restringir o uso de conexões normais e permitir 164 | somente conexões via SSL (como por exemplo, dentro da diretiva de acesso que 165 | controla seu acesso a uma página com listagem de clientes). A opção 166 | SSLRequereSSL é usada para tal e deve ser usada dentro das 167 | diretivas de controle acesso: 168 | 169 | <Directory /var/www/secure/clientes> 170 | Options Indexes 171 | Order deny,allow 172 | Deny from evil.cracker.com 173 | SSLRequireSSL 174 | </Directory> 175 | 176 | 177 | A diretiva acima requer que sejam feitas conexões SSL 178 | (porta 443 - https://) para acesso ao diretório 179 | /var/www/secure/clientes, qualquer conexão padrão não 180 | criptografada (feita na porta 80) será rejeitada com o erro 403. 181 | 183 | OBS: A diretiva SSLRequireSSL podia ser 184 | colocada entre as condicionais "IfModule mod_ssl.c" mas o servidor web 185 | permitiria conexões não criptografadas se por algum motivo esse módulo não 186 | estivesse carregado. Na configuração acima, ocorrerá um erro e impedirá o 187 | funcionamento do servidor web caso ocorra algum problema com o 188 | mod_ssl. ]]> 189 | 190 | 191 | Iniciando o servidor Web com suporte a SSL 192 |

193 | Verifique se a configuração do Apache está ok com apache -t. 194 | Caso positivo, reinicie o servidor usando um dos métodos descritos em 195 | . O servidor web lhe pedirá a FraseSenha para 196 | descriptografar a chave privada SSL (esta senha foi escolhida durante o processo 197 | de criação do certificado). 198 |

199 | Esta senha garante uma segurança adicional caso a chave privada do servidor seja 200 | copiada de alguma forma. Somente quem tem conhecimento da FraseSenha poderá iniciar 201 | o servidor com suporte a transferência segura de dados. Verifique se o virtual host 202 | está servindo as requisições na porta 443 com apache -S. 203 |

204 | O único método para fazer o servidor web evitar de pedir a senha para 205 | descriptografar a chave privada é colocando uma senha em branco. Isto só é 206 | recomendado em ambientes seguros e o diretório que contém a chave privada 207 | deverá ter somente permissões para o dono/grupo que executa o servidor Web. 208 | Qualquer outra permissão poderá por em risco a segurança da instalação caso a 209 | chave privada seja roubada. Depois disso, execute o comando: 210 | 211 | # entre no diretório que contém a chave privada 212 | cd /etc/apache/ssl.key 213 | # renomeie a chave privada para outro nome 214 | ren server.key server.key-Csenha 215 | openssl rsa -in server.key-Csenha -out server.key 216 | 217 | 218 | Digite a senha quando pedido. A chave original (com senha) estará 219 | gravada no arquivo server.key-Csenha e poderá ser 220 | restaurada se necessário. Reinicie o servidor Apache, desta 221 | vez ele não pedirá a senha. 222 | 224 | OBS1: Tire uma cópia de segurança da chave privada 225 | original antes de executar esta operação. 226 |

227 | OBS2: Não se esqueça de ajustar as permissões de 228 | acesso no diretório /etc/apache/ssl.key caso não 229 | utilize senha para proteger seu certificado digital. ]]> 230 | 231 | 232 | -------------------------------------------------------------------------------- /Avancado/apache/http-codigos.sgml: -------------------------------------------------------------------------------- 1 | Códigos HTTP 2 |

3 | Esta seção pode ser uma interessante referência para a programação e 4 | configuração da diretiva ErrorDocument, etc. 5 | 6 | 2xx - Sucesso 7 | 8 | 9 | 200 OK 10 | 201 Criado 11 | 202 Aceito 12 | 203 Informação não-autoritativa * 13 | 204 Nenhum conteúdo 14 | 205 Conteúdo resetado * 15 | 206 Conteúdo parcial * 16 | 17 | 18 | 3xx - Redirecionamento 19 | 20 | 21 | 300 Múltiplas escolhas 22 | 301 Movido Permanentemente 23 | 302 Movido Temporariamente 24 | 303 Veja outra * 25 | 304 Não modificada 26 | 305 Use o Proxy (redirecionamento proxy) * 27 | 28 | 29 | 4xx - Erros no Cliente 30 | 31 | 32 | 400 Requisição incorreta 33 | 401 Não autorizado 34 | 402 Pagamento Requerido * 35 | 403 Bloqueado 36 | 404 Não encontrada 37 | 405 Método não permitido * 38 | 406 Não aceitável * 39 | 407 Autenticação via proxy requerida * 40 | 408 Tempo limite da requisição expirado * 41 | 409 Conflito * 42 | 410 Gone * 43 | 411 Tamanho requerido * 44 | 412 Falha na pré-condição * 45 | 413 A requisição parece ser grande * 46 | 414 A URL requisitada é muito longa * 47 | 415 Tipo de mídia não suportado 48 | 49 | 50 | 5xx - Erros no Servidor 51 | 52 | 53 | 500 Erro Interno no Servidor 54 | 501 Não implementado 55 | 502 Gateway incorreto 56 | 503 Serviço não disponível 57 | 504 Tempo limite no gateway * 58 | 505 Versão HTTP não suportada * 59 | 60 | 61 | Os códigos de erros marcados com um "*" pertencem ao padrão HTTP 1.1 62 | 63 | 64 | -------------------------------------------------------------------------------- /Avancado/conf-rede/CFGRede-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Avancado/criptografia/Cripto-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Avancado/cvs/CVS-CVSROOT.sgml: -------------------------------------------------------------------------------- 1 | Arquivos administrativos em CVSROOT 2 |

3 | Esta seção descreve a função de cada um dos arquivos administrativos, isto 4 | pode ser útil na configuração e personalização do CVS e de seu repositório. 5 |

6 | Para não alongar muito o capítulo, procurei colocar uma breve descrição da 7 | função de cada um deles, o comentários e exemplos existentes nos arquivos 8 | oferecem uma boa compreensão do seu conteúdo. 9 | 10 | 11 | config 12 |

13 | Este arquivo é segue os padrões do arquivos de configuração e possui alguns parâmetros 14 | que controlam o comportamento do CVS. Segue uma lista deles: 15 | 16 | SystemAuth 17 | 18 | Define se será utilizado a autenticação via /etc/passwd quando o 19 | método pserver for utilizado. Note que se o arquivo passwd 20 | for criado no CVSROOT, o SystemAuth será definido 21 | automaticamente para no. 22 |

23 | Exemplo: SystemAuth=yes. 24 | 25 | LockDir 26 | 27 | Especifica o diretório onde serão gravados os arquivos de lock. Caso não seja 28 | especificado, será usado o diretório do CVS. 29 |

30 | Exemplo: LockDir=/var/lock/cvs 31 | 32 | TopLevelAdmin 33 | 34 | Permite criar ou não um diretório chamado CVS no root do 35 | diretório de trabalho durante o cvs checkout. 36 | 37 | LogHistory 38 | 39 | Utiliza opções para especificar o que será registrado nos arquivos de log 40 | do CVS. 41 | 42 | TOFEWGCMAR ou all 43 |

44 | Registra todas as operações nos logs do cvs. 45 | 46 | TMAR 47 |

48 | Registra todas as operações que modificam os arquivos ",v" 49 | 50 | 51 | 52 | 53 | 54 | modules 55 |

56 | Especifica opções e programas externos que serão usados durante a execução 57 | de comandos no repositório CVS. 58 | 59 | 60 | cvswrappers 61 |

62 | Este arquivo define ações de controle de características de arquivos, 63 | de acordo com seu nome. 64 |

65 | Pode ser também definidas ações através de arquivos .cvswrappers. 66 | 67 | 68 | commitinfo 69 |

70 | Define programas para fazer uma checagem baseada no diretório e dizer se o 71 | commit é permitido. 72 | 73 | 74 | verifymsg 75 |

76 | Especifica o programa usado para verificar as mensagens de log. 77 | 78 | 79 | loginfo 80 |

81 | Programa que é executado após o commit. Ele pode ser usado para tratar a mensagem 82 | de log e definir onde ela será gravada/enviada, etc. 83 | 84 | 85 | cvsignore 86 |

87 | Tudo que constar neste arquivo não será gravado (commit) no cvs. Referências 88 | globais podem ser usadas para especificar estes arquivos. Veja a info 89 | page do cvs para detalhes sober seu formato. 90 |

91 | Pode também ser especificado através de arquivos .cvsignore. 92 | 93 | 94 | checkoutlist 95 |

96 | Especifica os arquivos que deseja manter sobre o controle do CVS que 97 | se encontram em CVSROOT. Se adicionar um script adicional, 98 | ou qualquer outro arquivo no diretório CVSROOT ele deverá 99 | constar neste arquivo. 100 | 101 | 102 | history 103 |

104 | É usado para registrar detalhes do comando history do CVS. 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /Avancado/cvs/CVS-Cliente.sgml: -------------------------------------------------------------------------------- 1 | Clientes de CVS 2 |

3 | Esta seção traz alguns programas cliente em modo texto/gráfico e 4 | visualizadores de repositórios via web. Eles facilitam o trabalho 5 | de controle de revisão por parte de iniciantes e flexibilidade para 6 | pessoas mais experientes, além de ter uma interface de navegação 7 | disponível para todos os interessados em fazer pesquisas no 8 | repositório. 9 | 10 | 11 | cvs 12 |

13 | Este é o cliente Unix padrão, bastante poderoso e que opera em 14 | modo texto. As explicações neste capítulo do guia assumem este cliente de 15 | cvs, então as explicações sobre sua utilização se encontra em 16 | e os parâmetros de linha de comando em 17 |

18 | É altamente recomendável a leitura caso deseje utilizar um 19 | cliente de cvs gráfico, pois os conceitos são os mesmos. 20 | 21 | 22 | gcvs - Linux 23 |

24 | Este é um cliente CVS em GTK+Python para Linux que interage externamente 25 | com o cliente cvs externo, todas as opções do cvs estão disponíveis 26 | através de checkboxes nas telas de comando, incluindo suporte a compactação, 27 | visualizador gráfico da árvore de releases, histórico, diffs, etc. 28 |

29 | Sua instalação é bastante fácil, instale o programa com 30 | apt-get install gcvs e execute o programa através do menu do sistema ou 31 | do terminal. Utilize os seguintes procedimentos para configurar e 32 | utilizar o programa: 33 | 34 | 35 | Defina o repositório CVSROOT através do menu 36 | Admin/Preferences. Selecione o método de 37 | acesso, entre com o login, servidor e repositório. 38 | 39 | Exemplo: :pserver:anonymous@servidor:/var/lib/cvs 40 | 41 | O formato deve ser EXATAMENTE como o usado na 42 | variável CVSROOT no shell, incluindo os ":". Caso tenha 43 | erros de login, verifique o valor de CVSROOT 44 | cuidadosamente antes de contactar o administrador de sistemas! 45 | 46 | 47 | Agora faça o login no sistema em: Admin, Login. Note 48 | que o status de todas as operações do cvs são mostradas 49 | na janela de status que fica na parte inferior da tela. 50 | 51 | 52 | Crie um diretório que será usado para armazenar os fontes 53 | baixados do CVS, por exemplo: mkdir ~/projetos 54 | 55 | 56 | Acesse o menu Create, Checkout Module para 57 | baixar o projeto do CVS para sua máquina local. Ele irá te pedir o 58 | nome de diretório para onde o código fonte do servidor CVS será baixado. 59 | Digite ~/projetos ou outro diretório que foi criado no passo 60 | anterior. 61 | 62 | 64 | OBS: Não utilize o nome "cvs" para 65 | o diretório local, pois o gcvs oculta automaticamente 66 | pois os arquivos administrativos de controle ficam neste local. ]]> 67 | 68 | 69 | 70 | Altere o diretório padrão do gcvs para o diretório 71 | onde baixou o projeto (~/projetos)clicando no botão 72 | "set" no topo da coluna esquerda do gcvs. 73 | 74 | 75 | Para enviar um arquivo modificado de volta ao servidor, selecione os arquivos, 76 | clique em Modify, Commit Selection, entre com a mensagem 77 | descrevendo as alterações e clique em "OK". 78 |

79 | Note que os arquivos modificados serão identificados por um ícone vermelho 80 | e seu status será "Mod. File" (arquivo modificado). 81 | 82 | 83 | Se desejar adicionar um novo projeto no CVS, entre em Create, 84 | Import Module, entre no diretório que deseja adicionar como 85 | um projeto no servidor de CVS. Após isto será feita uma checagem 86 | e mostrada uma tela de possíveis problemas que podem ocorrer 87 | durante a importação do novo projeto. 88 |

89 | Na próxima tela, digite o nome do módulo e caminho no servidor 90 | remoto no primeiro campo, no segundo campo a mensagem de log 91 | para adicionar o projeto ao servidor. Em "Vendor tag" 92 | especifique o nome do projeto e sua versão logo abaixo. Clique 93 | em "OK" e aguarde a transferência dos arquivos para o servidor. 94 |

95 | Para maiores detalhes sobre a criação de novos projetos no 96 | servidor de CVS, veja . 97 | 99 | OBS: Você deverá ter permissão de gravação para 100 | criar um novo projeto no servidor CVS. ]]> 101 | 102 | 103 | A partir de agora você poderá explorar as funções do programa e fazer 104 | uso das funções habituais do CVS. Todas as funções de operação e 105 | opções extras do CVS estão disponíveis na interface gráfica, basta se 106 | acostumar com sua utilização. 107 | 108 | 109 | Após isto, explore bastante as opções do programa. Todas as funcionalidades 110 | do CVS estão organizadas entre os menus do programa. Caso não entenda bem 111 | as funções do programa, leia atentamente e também não 112 | deixe de consultar detalhes na info page do cvs. 113 | 114 | WinCVS - Windows 115 |

116 | Este é um cliente CVS em Python para Windows equivalente ao 117 | gcvs para Linux. Suas funcionalidades e 118 | recomendações são idênticas aos do gcvs. Este cliente pode 119 | ser baixado de: 120 | e o Python para Windows de . 121 |

122 | Para sua utilização, as explicações em são totalmente 123 | válidas. 124 | 125 | 126 | MacCVS - Macintosh (PPC) 127 |

128 | Idêntico ao gcvs, pode ser baixado de 129 | . 130 | 131 | 132 | viewcvs 133 |

134 | Este é um visualizador de repositórios CVS via web, ele precisa apenas de um 135 | servidor web instalado com suporte a CGI. Para instalar, execute o comando 136 | apt-get install viewcvs e siga os passos para 137 | configurar programa. Para adequar melhor o viewcvs ao seu sistema, 138 | edite o arquivo /etc/viewcvs/viewcvs.conf. 139 |

140 | O viewcvs possui uma interface que se parece com a navegação de 141 | um diretório de ftp, recursos como a extração de diffs coloridos entre versões 142 | de um arquivo selecionado, visualização de commits (com data, log do commit, 143 | usuário, etc.), classificação da listagem exibida. 144 | 145 | 147 | OBS: Leve em consideração as implicações de segurança impostas 148 | por aplicativos cgi sendo executados em seu sistema. para entender melhor o assunto. ]]> ]]> 150 | 151 | 152 | 153 | -------------------------------------------------------------------------------- /Avancado/cvs/CVS-Exemplo.sgml: -------------------------------------------------------------------------------- 1 | Exemplo de uma seção CVS 2 |

3 | Nota: este exemplo é apenas didático, não foi feita nenhuma modificação 4 | real no conteúdo do repositório do dillo :-) 5 | 6 | # Definir o CVSROOT 7 | export CVSROOT=:pserver:gleydson@ima.cipsga.org.br:/var/lib/cvs 8 | 9 | # entrar no servidor 10 | gleydson@host:/tmp/teste$ cvs login 11 | Logging in to :pserver:gleydson@ima.cipsga.org.br:2401/var/lib/cvs 12 | CVS password: <password> 13 | 14 | gleydson@oberon:/tmp/teste$ 15 | 16 | # Pegar o módulo "dillo do cvs" 17 | cvs -z 3 co dillo 18 | 19 | cvs server: Updating dillo 20 | cvs server: Updating dillo/CVSROOT 21 | U dillo/CVSROOT/checkoutlist 22 | U dillo/CVSROOT/commitinfo 23 | U dillo/CVSROOT/config 24 | U dillo/CVSROOT/cvswrappers 25 | U dillo/CVSROOT/editinfo 26 | U dillo/CVSROOT/loginfo 27 | U dillo/CVSROOT/modules 28 | U dillo/CVSROOT/notify 29 | U dillo/CVSROOT/rcsinfo 30 | U dillo/CVSROOT/taginfo 31 | U dillo/CVSROOT/verifymsg 32 | cvs server: Updating dillo/CVSROOT/Emptydir 33 | cvs server: Updating dillo/dillo 34 | U dillo/dillo/AUTHORS 35 | U dillo/dillo/COPYING 36 | U dillo/dillo/ChangeLog 37 | U dillo/dillo/ChangeLog.old 38 | U dillo/dillo/INSTALL 39 | U dillo/dillo/Makefile.am 40 | U dillo/dillo/Makefile.in 41 | U dillo/dillo/NEWS 42 | U dillo/dillo/README 43 | U dillo/dillo/aclocal.m4 44 | U dillo/dillo/config.h.in 45 | U dillo/dillo/configure 46 | U dillo/dillo/configure.in 47 | U dillo/dillo/depcomp 48 | U dillo/dillo/dillorc 49 | U dillo/dillo/install-sh 50 | U dillo/dillo/missing 51 | U dillo/dillo/mkinstalldirs 52 | U dillo/dillo/stamp-h.in 53 | cvs server: Updating dillo/dillo/doc 54 | U dillo/dillo/doc/Cache.txt 55 | U dillo/dillo/doc/Cookies.txt 56 | U dillo/dillo/doc/Dillo.txt 57 | U dillo/dillo/doc/Dw.txt 58 | U dillo/dillo/doc/DwImage.txt 59 | U dillo/dillo/doc/DwPage.txt 60 | ... 61 | 62 | # Modifica o arquivo do projeto 63 | cd /dillo/dillo/doc 64 | vi Cache.txt 65 | 66 | 67 | # Update no arquivo para atualizar a cópia local com a remota 68 | cvs update Cache.txt 69 | M Cache.txt 70 | 71 | gleydson@host:/tmp/teste 72 | 73 | # Damos o commit no arquivo 74 | cvs commit Cache.txt 75 | 76 | 77 | # Saimos do sistema 78 | cvs logout 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /Avancado/cvs/CVS-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Avancado/cvs/CVS-Introducao.sgml: -------------------------------------------------------------------------------- 1 | CVS 2 |

3 | Este capítulo explica os requerimentos, instalação, configuração, segurança e 4 | diversos modelos de configuração de acesso para trabalho em grupo utilizados 5 | pelo CVS. 6 |

7 | Não tome-o como uma referência completa ao uso e configuração do cvs, a 8 | pesquisa de sua info page é muito importante. 9 | 10 | 11 | Introdução ao CVS 12 |

13 | O CVS (Concurrent Version Software) permite que se organizem grupos 14 | de trabalho para desenvolvimento de projetos colaborativos. Um projeto pode 15 | ser desde um programa em C, documentação em equipe, etc. O uso do CVS é 16 | recomendado para qualquer desenvolvimento de projeto que tenha vários 17 | envolvidos trabalhando ao mesmo tempo. 18 |

19 | Para cada mudança feita no programa, é pedido uma descrição dos trabalhos 20 | realizados e o sistema registra todas as modificações realizadas ao longo 21 | do desenvolvimento, permitindo voltar a uma versão anterior ou ver as 22 | mudanças entre elas facilmente. 23 |

24 | Imagine uma situação onde você está desenvolvendo um programa de computador e 25 | após a última modificação ele para de funcionar. Com o CVS é possível ver o 26 | que foi modificado e voltar até a versão que estava funcionando para consertar 27 | o problema. No desenvolvimento de documentação e tradução o CVS também 28 | desempenha um papel importante, pois com ele o tradutor pode ver o que foi 29 | modificado entre a versão do documento original que ele usou para tradução e 30 | uma versão recente, traduzindo apenas as diferenças. 31 |

32 | Uma seção de cvs é feita de modo interativo através do comando 33 | cvs. Por exemplo: 34 | 35 | logar no sistema - cvs login 36 | baixar um projeto - cvs checkout projeto 37 | 38 | Cada comando do cvs será explicado em detalhes no decorrer deste 39 | capítulo. 40 | 41 | Versão 42 |

43 | A versão do CVS documentada no guia é a 1.11.1. As 44 | explicações aqui certamente serão compatíveis com versões posteriores 45 | deste programa. 46 | 47 | 48 | História 49 |

50 | O CVS é uma substituição do sistema RCS (Revision Control System) 51 | ele possui mais recursos e foi criado sendo compatível com o RCS. 52 |

53 | A história do CVS (extraída de sua info page) é que ele foi iniciado 54 | a partir de um conjunto de scripts shell escritos por 55 | Dick Grune que foram postados ao grupo de notícias 56 | comp.sources.unix no volume 6 de Dezembro de 1986. Na versão 57 | atual não estão mais presentes shell scripts porque muitos dos 58 | conflitos de resolução de algorítmos vem deles. 59 |

60 | Em Abril de 1989, Brian Berliner fez o design e programou 61 | o CVS. Mais tarde, Jeff Polk ajudou Brian com o design do módulo 62 | CVS. 63 | 64 | 65 | 66 | Contribuindo com o CVS 67 |

68 | Através da lista de discussão info-cvs. Para se inscrever envie uma 69 | mensagem com o subject "subscribe" para info-cvs-request@gnu.org. 70 | Outra alternativa é através do grupo de noticias (newsgroup) da Usenet 71 | comp.software.config-mgm. 72 | 73 | 74 | Características 75 |

76 | Abaixo uma lista de características que tornam o CVS útil no gerenciamento 77 | de trabalhos em grupo: 78 | 79 | Gerenciamento de projeto em equipe 80 | Log de todas as alterações realizadas 81 | Lock de arquivos, permitindo que somente uma determinada pessoa modifique 82 | o arquivo durante o desenvolvimento do projeto. 83 | Histórico de todas as mudanças feitas, isto permite voltar a uma versão 84 | anterior em caso de problemas, e ver o que houve de errado com o código. 85 | Os projetos podem ser hospedados em repositórios. 86 | Podem ser criados diversas equipes de trabalho para cada repositórios, e 87 | definidos quem terá ou não acesso ao repositório individualmente. O 88 | desenvolvedor gleydson, por exemplo, podem ter acesso ao projeto 89 | x_beta e não ter acesso a projeto secret_y. 90 | Permissões de acesso individuais de leitura/gravação. 91 | É possível criar um usuário com acesso anônimo sem dar uma conta no sistema. 92 | Pode tanto utilizar o banco de dados de contas/senhas do sistema como 93 | um banco de dados de autenticação do próprio CVS. 94 | Permite utilizar diversos "métodos" de acesso ao servidor: local, 95 | pserver, ext, etc. Cada um destes métodos será descrito 96 | a seguir. 97 | Permite o acesso via ssh para usuários que já possuam conta na máquina 98 | servidora. Este método garante segurança no envio da senha criptografada 99 | para detalhes)]]>. 100 | Permite visualizar facilmente o que foi modificado entre duas versões de um 101 | arquivo. 102 | 103 | 104 | 106 | OBS: O CVS possui algumas limitações e falhas, uma delas que mais 107 | me faz falta é um suporte a protocolo pserver via ssh que resolveria o problema de 108 | tráfego em texto plano e gerenciamento de grupos com permissões diferenciadas. 109 | ]]> 110 | 111 | 112 | Ficha técnica 113 |

114 | Pacote: cvs 115 |

116 | Utilitários: 117 | 118 | 119 | cvs - Servidor/ferramenta cliente. 120 | 121 | cvsbug - Envia um bug sobre o CVS para a equipe de suporte. 122 | 123 | rcs2log - Converte arquivos de log do formato usado pelo RCS 124 | para o CVS. Utilizado na migração desta ferramenta para o CVS. 125 | 126 | cvsconfig - Usado pela Debian para ativar/desativar o 127 | servidor pserver. Pode também ser usado o dpkg-reconfigure cvs 128 | para desativar o servidor pserver e suas características. 129 | 130 | cvs-makerepos - Script da Debian que lê a lista de 131 | repositórios de /etc/cvs-pserver.conf, cria os repositórios 132 | no local apropriado, corrige as permissões do diretório e adiciona os 133 | repositórios no servidor pserver. 134 | 135 | cvs-pserver - Script da Debian responsável por 136 | fazer uma inicialização mais inteligente do servidor de CVS via 137 | pserver, leitura e processamento de repositórios, etc. Normalmente 138 | ele é chamado a partir do arquivo /etc/inetd.conf. 139 | 140 | 141 | 142 | 143 | Requerimentos de Hardware 144 |

145 | Para executar o CVS é requerido pelo menos 3 vezes mais memória 146 | que o tamanho do maior arquivo usado pelo projeto (para realização de 147 | diffs entre as atualizações) e uma boa quantidade de espaço em disco. 148 |

149 | Na realidade os requerimentos sobre o CVS dependem muito da aplicação que será 150 | desenvolvida. É recomendável que a máquina tenha memória suficiente para evitar 151 | o uso de swap, que degrada bastante a performance do sistema. 152 | 153 | 154 | 155 | Arquivos de log criados pelo CVS 156 |

157 | Problemas na inicialização do CVS são registrados no 158 | arquivo /var/log/daemon.log. Os logs de modificações 159 | feitas nos arquivos de um projeto no CVS são armazenadas no formato 160 | arquivo.extensão,v (é adicionado o ",v" ao final do arquivo 161 | para indicar que é um arquivo de controle de modificações do CVS). 162 | 163 | 164 | Instalação 165 |

166 | O CVS pode ser baixado de . 167 |

168 | Para pacotes Debian basta apenas executar o comando: 169 | apt-get install cvs 170 | e seguir as telas de configuração para ter o pacote CVS 171 | instalado e (opcionalmente) com o servidor sendo executado. 172 | Você poderá a qualquer momento reconfigurar o CVS executando: 173 | dpkg-reconfigure cvs. 174 |

175 | Uma boa documentação de referência é encontrada no pacote 176 | cvs-doc. 177 | 178 | 179 | Iniciando o servidor/reiniciando/recarregando a 180 | configuração 181 |

182 | A única configuração requerida é quando o CVS é executado via 183 | pserver. Para isto, é necessária a seguinte linha no arquivo 184 | /etc/inetd.conf 185 | 186 | cvspserver stream tcp nowait.200 root /usr/sbin/tcpd /usr/sbin/cvs-pserver 187 | 188 | 189 | Note que o parâmetro "200" indica quantas vezes o processo CVS poderá 190 | ser executado por minuto no sistema. Caso esse número seja excedido, o serviço 191 | será desabilitado e será necessário reiniciar o servidor inetd com 192 | o comando killall -HUP inetd para reativar o servidor CVS pserver 193 | capítulo do 194 | inetd para detalhes)]]>. Ajuste este valor de forma adequada ao seu servidor! 195 |

196 | Veja o script cvs-pserver sendo executado no final da linha. Ele 197 | foi desenvolvido para lidar de forma mais inteligente com a configuração do 198 | servidor CVS pserver. 199 | 200 | 201 | Opções de linha de comando 202 |

203 | As seguintes opções são aceitas pelo CVS. 204 | 205 | -z [num] 206 | 207 | Utiliza o gzip para fazer a transferência compactada dos arquivos. O valor 208 | especificado pode ser de 0 a 9, quanto maior o número maior o nível 209 | de compactação e uso da CPU. 210 |

211 | Exemplo: cvs -z 3 checkout teste 212 | 213 | -q 214 | 215 | Oculta mensagens sobre recursão de diretório durante os comandos do 216 | CVS. 217 | 218 | -d [repositório] 219 | 220 | Permite especificar o repositório através da linha de comando. 221 | 222 | -e [editor] 223 | 224 | Define qual é o editor de textos usado para registrar o texto de commits. 225 | 226 | -n 227 | 228 | Executa o cvs em modo "simulação" não modificando qualquer arquivo 229 | do repositório. 230 | 231 | -t 232 | 233 | Mostra mensagens mostrando o processo de execução de comandos do CVS. É 234 | bastante útil para aprendizado do cvs usado junto com a opção -n. 235 | 236 | -r 237 | 238 | Torna os novos arquivos criados somente para leitura. É a mesma coisa que 239 | especificar a variável CVSREAD. 240 | 241 | -w 242 | 243 | Torna os novos arquivos criados leitura/gravação que é o padrão. 244 | 245 | -x 246 | 247 | Utiliza criptografia para a transferência dos arquivos quando é 248 | utilizado em conjunto com o Kerberos. 249 | 250 | 251 | Você pode obter detalhes sobre opções sobre um comando em especial do CVS 252 | (commit, checkout, etc) digitando: cvs comando --help. 253 | Veja para exemplos sobre cada uma delas. 254 | 255 | -------------------------------------------------------------------------------- /Avancado/gerenc-contas/contas-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Avancado/git/git-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Avancado/git/git-doc.sgml: -------------------------------------------------------------------------------- 1 | Git, controle de versões 2 | 3 |

4 | Sobre o Git 5 |

6 | Sistema de controle de versão, distribuído sob a versão 2 da GNU Public License, foi criado originalmente para ser o sistema de controle de versões do Kernel Linux. 7 | Seu desenvolvedor foi o próprio Linus Torvalds, criador do Kernel Linux. 8 | Inicialmente o Git foi uma alternativa ao software proprietário BitKeeper. 9 |

10 | Conceitualmente o Git trabalha com branches, merges, commits e histórico de desenvolvimento. 11 | 12 |

13 | Branches são ramificações do repositório pai. 14 | Merges são as mesclas entre o repositório pai e os filhos. 15 | Commit é a ação de enviar para o repositório filho, ou pai, as modificações locais. 16 | 17 |

18 | O Git trabalha com quatro diretórios: 19 | 20 | .Git, contém todos os arquivos versionados. 21 | Working Directory, contém os arquivos de trabalho atuais. 22 | Stage, temporário que contém arquivos de trabalho antes de serem commitados. 23 | Stash, temporário que pode conter arquivos do Stage. 24 | 25 | 26 |

27 | Características e critérios 28 |

29 | São características do Git : 30 |

31 | 32 | Suporte consistente para desenvolvimentos não-lineares 33 | Desenvolvimento distribuído 34 | Compatibilidade com protocolos/sistemas existentes 35 | Manipulação eficiente de projetos extensos 36 | Autenticação criptográfica do histórico 37 | Modelo baseado em ferramentas 38 | Estratégias de mescla (merge) conectáveis 39 | Empacotamento periódico explícito de objetos 40 | 41 | 42 |

43 | Os critérios para o projeto do Git foram: 44 |

45 | 46 | Usar o CVS como exemplo a NÃO ser seguido. 47 | Suportar Fluxo distribuído. 48 | Proteções fortes contra corrompimento de arquivos. 49 | Alta performance. 50 | 51 | 52 |

53 | Sobre o merge, o Git trabalha com três formas para mesclar os projetos: 54 |

55 | 56 | Resolve 57 | Recursive 58 | Octopus 59 | 60 | 61 |

62 | O Git é um projeto portável, possuíndo compatibilidade com sistemas operacionais UNIX Like, Windows e Mac. 63 | 64 |

65 | Comandos do Git 66 |

67 | Existem várias GUIs para o Git, por padrão, a interface do Git é o gitk, que deve ser chamdo via terminal a partir do diretório versionado ou 68 | que será versionado. 69 | 70 | Para chamar o gitk : 71 | 72 | $ gitk 73 | 74 |

75 | Porém, é possível utilizar o git diretamente no terminal. 76 |

77 | Criar novo repositório, a partir de um diretório local: 78 | 79 | $ git init 80 | 81 |

82 | Obter um repositório, local, remoto ou na internet: 83 | 84 | $ git clone caminho 85 | 86 |

87 | Adicionar todos arquivos do diretório no Stage: 88 | 89 | $ git add 90 | 91 |

92 | Adicionar arquivo específico no Stage: 93 | 94 | $ git add arquivo 95 | 96 |

97 | Commitando as alterações dos arquivos adicionados: 98 | 99 | $ git commit -m "breve comentário a respeito das alterações". 100 | 101 |

102 | Enviar as alterações commitadas para o repositório remoto: 103 | 104 | $ git push origin 105 | 106 |

107 | Enviar as alterações commitadas para o repositório remoto específico: 108 | (substituir master pelo nome do branche (repositório) 109 | 110 | $ git push origin master 111 | 112 |

113 | Atualizar o repositório local com novas modificações do repositório remoto: 114 | 115 | $ git pull 116 | 117 |

118 | Mesclar alterações locais com alterações do repositório remoto: 119 | 120 | $ git merge nome_do_branch 121 | 122 | * Nos casos acima do Git tenta fazer o merge (junção) automaticamente, nem sempre é possível. 123 | Nesses casos é criado um conflito que deve ser resolvido. 124 | O usuário é o responsável por corrir esses conflitos para poder enviar o arquivo para o repositório remoto. 125 | com o comando git add. 126 |

127 | Visualizar as diferenças entre arquivos : 128 | 129 | $ git diff branch_de_origem branch_de_destino 130 | 131 |

132 | Voltar ao último commit : 133 | 134 | $ git reset --hard HEAD~1 135 | 136 |

137 | Desfazer alterações de arquivo no Stage: 138 | 139 | $ git checkout -- nome_do_arquivo 140 | 141 |

142 | Visualizar log: 143 | 144 | $ git log 145 | 146 |

147 | Rótulos : 148 | * Criar rótulos é importante, por exemplo, para gerar releases de software, ou para marcar grandes 149 | alterações no ciclo de desenvolvimento do projeto. 150 | 151 | Criar um rótulo: 152 | 153 | $ git tag 0.0.1 8h7g6f5e4d 154 | 155 | * 8h7g6f5e4d são os dez primeiros caractéres do ID do commit a ser referenciado pelo rótulo. 156 | É possível obter o id com o comando git log. 157 | * É possível omitir o id do commit. 158 |

159 | Enviar rótulo para o respositório remoto: 160 | 161 | $ git push origin 0.0.1 162 | 163 |

164 | Enviar todos os rótulos para o respositório remoto: 165 | 166 | $ git push --tag 167 | 168 |

169 | Criar branch a partir de um rótulo 170 | 171 | $ git checkout -b nome_do_branch 0.0.1 172 | 173 |

174 | Usar saídas coloridas: 175 | 176 | $ git config color.ui true 177 | -------------------------------------------------------------------------------- /Avancado/haproxy/haproxy-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Avancado/haproxy/haproxy-Introducao.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/haproxy/haproxy-Introducao.sgml -------------------------------------------------------------------------------- /Avancado/haproxy/haproxy-exemplos.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/haproxy/haproxy-exemplos.sgml -------------------------------------------------------------------------------- /Avancado/identd/Ident-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Avancado/iptables-firewall/iptables-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Avancado/iptables-firewall/iptables-mangle.sgml: -------------------------------------------------------------------------------- 1 | A tabela mangle 2 |

3 | A tabela mangle serve para especificar ações especiais para o tratamento 4 | do tráfego que atravessa os chains. Nesta tabela existem cincos chains: 5 | PREROUTING, POSTROUTING, INPUT, OUTPUT e 6 | FORWARD (veja para 7 | maiores detalhes). 8 |

9 | Em geral, cada um deste chain é processado antes do chain correspondente 10 | na tabela filter e nat para definir opções especiais para 11 | o tráfego (por exemplo, o chain PREROUTING da tabela mangle 12 | é processado antes do PREROUTING da tabela nat). O 13 | chain OUTPUT da tablea mangle corresponde ao OUTPUT 14 | da tabela nat. 15 | Opções como o Tipo de Serviço (TOS) é especificado nesta tabela para 16 | classificar e aumentar consideravelmente a velocidade de tráfego considerados 17 | em tempo real. Mesmo após o tráfego ser estabelecido, os chains da tabela 18 | mangle continuam ativos para garantir que as opções especiais relacionadas 19 | com a conexão continuem fazendo efeito (veja os exemplos de 20 | ). 21 | 22 | 23 | Especificando o tipo de serviço 24 |

25 | O tipo de serviço é um campo existente no cabeçalho de pacotes do protocolo 26 | ipv4 que tem a função especificar qual é a prioridade daquele pacote. A 27 | prioridade é definida usando o algoritmo FIFO do próprio kernel, sendo 28 | uma das alternativas de controle/priorização de tráfego das mais simples e 29 | rápidas. 30 |

31 | Uma das vantagens da utilização do tipo de serviço é dar prioridade ao 32 | tráfego de pacotes interativos (como os do ICQ, IRC, servidores de chat), etc. 33 | Com o TOS especificado, mesmo que esteja fazendo um download consumindo 34 | toda a banda de sua interface de rede, o tráfego com prioridade 35 | interativa será enviado antes, aumentando a eficiência do uso de 36 | serviços em sua máquina. 37 |

38 | Em testes realizados em minha conexão de 56K, o uso de regras TOS aumentou 39 | bastante o desempenho em tráfego interativo (em torno de 300%), durante o uso 40 | total da banda da interface ppp em grande consumo de banda. 41 |

42 | Usamos o alvo TOS (-j TOS) para especificar a modificação do tipo de serviço 43 | nos pacotes que atravessam as regras do firewall, acompanhada do argumento 44 | --set-tos TOS que define a nova prioridade dos pacotes. Os 45 | valores aceitos são os seguintes: 46 | 47 | Espera Mínima 48 | 49 | É especificado através de Minimize-Delay, 16 ou 0x10 50 | 51 | Máximo Processamento 52 | 53 | É especificado através de Maximize-Throughput, 8, ou 0x08. 54 | 55 | Máxima Confiança 56 | 57 | É especificado através de Maximize-Reliability, 4 ou 0x04. 58 | 59 | Custo mínimo 60 | 61 | Especificado através de Minimize-Cost, 2 ou 0x02. 62 | 63 | Prioridade Normal 64 | 65 | Especificado através de Normal-Service, 0 ou 0x00. 66 | 67 | 68 | Os pacotes vem por padrão com o valor TOS ajustado como prioridade normal 69 | (bits tos ajustados para 0x00). O tipo Mínima Espera é o de maior prioridade, 70 | recomendado para tráfego interativo. 71 | 72 | 73 | 74 | Especificando o TOS para tráfego de saída 75 |

76 | Este é o mais usado, pois prioriza o tráfego que sai da máquina (com destino 77 | a Internet, por exemplo). Sua operação é realizada através do chain 78 | OUTPUT ou POSTROUTING. 79 |

80 | Para priorizar todo o tráfego de IRC de nossa rede interna indo para a interface 81 | ppp0: 82 | 83 | iptables -t mangle -A OUTPUT -o ppp0 -p tcp --dport 6666-6668 -j TOS --set-tos 16 84 | 85 | 86 | O bit TOS é ajustado para Espera mínima e será enviado antes dos pacotes 87 | com prioridade normal para fora. 88 | Para priorizar a transmissão de dados ftp saindo da rede: 89 | 90 | iptables -t mangle -A OUTPUT -o ppp0 -p tcp --dport 20 -j TOS --set-tos 8 91 | 92 | 93 | Para priorizar o tráfego de ICQ da rede: 94 | 95 | iptables -t mangle -A OUTPUT -o ppp0 -p tcp --dport 5190 -j TOS --set-tos 16 96 | 97 | 98 | Existem muitas outras otimizações que podem ser feitas, só depende dos requerimentos 99 | e análise de cada serviço da rede pelo administrador. 100 | 102 | OBS: - Os pacotes que atravessam o alvo TOS somente tem os bits 103 | tipo do serviço modificados, eles não serão de qualquer forma rejeitados. ]]> 104 | 105 | 106 | Especificando o TOS para o tráfego de entrada 107 |

108 | Este prioriza o tráfego que entra da máquina. Sua operação é realizada no chain 109 | INPUT ou PREROUTING. Não faz muito sentido o uso deste chain 110 | dentro de uma rede pequena/média, pois o tráfego que recebermos será priorizado 111 | pelo chain de saída de outras máquinas da internet/outras redes antes de chegar 112 | a nossa (desde que elas também estejam usando TOS). 113 |

114 | Para priorizar o processamento do tráfego interativo vindo de servidores IRC para 115 | nossa rede: 116 | 117 | iptables -t mangle -A PREROUTING -i eth0 -p tcp --sport 6666-6668 -j TOS --set-tos 0x10 118 | 119 | 120 | Modifica o tipo de serviço para mínima espera de todo o tráfego enviado por 121 | servidores de IRC vindo da interface eth0. 122 | 123 | 125 | OBS: - Os pacotes que atravessam o alvo TOS somente tem os bits 126 | tipo do serviço modificados, eles não serão de qualquer forma rejeitados. ]]> 127 | 128 | -------------------------------------------------------------------------------- /Avancado/iptables-firewall/pacotes-path.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/iptables-firewall/pacotes-path.txt -------------------------------------------------------------------------------- /Avancado/nftables-firewall/Nftables-Chains.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/nftables-firewall/Nftables-Chains.sgml -------------------------------------------------------------------------------- /Avancado/nftables-firewall/Nftables-Introducao.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/nftables-firewall/Nftables-Introducao.sgml -------------------------------------------------------------------------------- /Avancado/nftables-firewall/Nftables-Matches.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/nftables-firewall/Nftables-Matches.sgml -------------------------------------------------------------------------------- /Avancado/nftables-firewall/Nftables-Rules.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/nftables-firewall/Nftables-Rules.sgml -------------------------------------------------------------------------------- /Avancado/nftables-firewall/Nftables-Tables.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/nftables-firewall/Nftables-Tables.sgml -------------------------------------------------------------------------------- /Avancado/nftables-firewall/nftables-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Avancado/nginx/Nginx-Exemplos.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/nginx/Nginx-Exemplos.sgml -------------------------------------------------------------------------------- /Avancado/nginx/Nginx-Integracao-php.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/nginx/Nginx-Integracao-php.sgml -------------------------------------------------------------------------------- /Avancado/nginx/Nginx-Introducao.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/nginx/Nginx-Introducao.sgml -------------------------------------------------------------------------------- /Avancado/nginx/Nginx-http2.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/nginx/Nginx-http2.sgml -------------------------------------------------------------------------------- /Avancado/nginx/Nginx-modsecurety.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/nginx/Nginx-modsecurety.sgml -------------------------------------------------------------------------------- /Avancado/nginx/nginx-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Avancado/pop3/pop3-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Avancado/restr-seguranca/restricoes-INDEX.sgml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Avancado/restr-seguranca/todo: -------------------------------------------------------------------------------- 1 | - Significado de soft e hard no PAM 2 | -------------------------------------------------------------------------------- /Avancado/samba/SAMBA-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Avancado/samba/SAMBA-NameResolv.sgml: -------------------------------------------------------------------------------- 1 | Resolução de nomes de máquinas no samba 2 |

3 | O Samba pode utiliza os seguintes métodos para resolução de nomes de 4 | máquinas na rede (). Eles estão listados em 5 | ordem de prioridade do mais para o menos recomendável: 6 | 7 | 8 | lmhosts - Pesquisa primeiro o arquivo /etc/samba/lmhosts 9 | (veja para detalhes sobre este arquivo). 10 | 11 | 12 | host - Faz a pesquisa no arquivo /etc/hosts e no DNS em 13 | busca do nome da máquina. 14 | 15 | 16 | wins - Pesquisa no servidor WINS especificado pelo parâmetro 17 | wins server do smb.conf (veja ). 18 | 19 | 20 | bcast - Envia um pacote para o endereço de broadcast de sua 21 | configuração de rede. Este geralmente deve ser o último método por gerar 22 | tráfego excessivo em uma rede com um considerável número de computadores. 23 | 24 | A ordem que a resolução de nomes é feita pelo samba, pode ser modificada 25 | usando o parâmetro "name resolve order = [ordem]" no arquivo de 26 | configuração do samba (ex. name resolve order = lmhosts host wins bcast). 27 | 28 | 29 | Arquivo /etc/samba/lmhosts 30 |

31 | Este arquivo é um banco de dados que mapeia o endereço IP com o nome NetBIOS 32 | de uma máquina, semelhante ao formato do /etc/hosts. Este arquivo 33 | é útil quando temos servidores que são acessados com freqüência, quando servidores 34 | de rede estão em segmentos separados e não temos um servidor WINS entre os dois 35 | pontos para resolução de nomes, para definir máquinas WINS que serão acessados 36 | pela internet, etc. Para ter certeza da localização do arquivo 37 | lmhosts em sua máquina, digite smbclient -d 3 -L localhost 38 | e veja o diretório de pesquisa deste arquivo. Veja um exemplo de arquivo 39 | lmhosts em . 40 |

41 | O uso do arquivo lmhosts evita o excesso de broadcasting na 42 | rede, pois a ordem padrão usada para a resolução de nomes do samba, 43 | procura primeiro resolver o nome procurando em arquivos lmhosts, depois 44 | usando dns, wins e broadcast. Dependendo do 45 | projeto de sua rede e como as máquinas resolvem os nomes, ele pode ser uma 46 | camada a mais de segurança contra um simples hijacking de servidor através 47 | de NetBEUI ou WINS (isso é evitado com o uso de domínios, veja 48 | ). 49 | 51 | OBS: Note que em clientes Windows que 52 | estejam em outra subrede, é necessário o arquivo \windows\lmhosts 53 | apontando para um servidor PDC mesmo que ele esteja apontando para o 54 | servidor WINS, caso contrário, a máquina não efetuará o logon. 55 |

56 | O formato do arquivo lmhosts do Windows é mais 57 | complexo do que o do Linux pois o sistema precisa de mais 58 | detalhes para resolver os nomes e tipos de máquinas no domínio. Veja o 59 | modelo lmhosts.sam em seu sistema Windows para 60 | compreender seu funcionamento. 61 | ]]> 62 | 63 | Exemplo de lmhosts do UNIX 64 |

65 | O exemplo abaixo mapeia o endereço IP das máquinas (primeira coluna) com o 66 | respectivo nome de máquina (segunda coluna): 67 | 68 | 172.16.0.34 servarq 69 | 172.16.0.30 serverdom 70 | 192.168.5.2 servwins 71 | 172.16.0.3 servpdc 72 | 172.16.0.1 gateway 73 | 74 | 75 | 76 | Exemplo de lmhosts do Windows 77 |

78 | O arquivo possui uma sintaxe idêntica a do lmhosts do UNIX, mas 79 | alguns parâmetros especiais são especificados para ajudar o Windows 80 | resolver algumas coisas que não consegue fazer sozinho (principalmente com relação 81 | a identificação de função de máquinas em redes segmentadas): 82 | 83 | 192.168.0.5 servarq 84 | 192.168.0.1 serverpdc #PRE #DOM:dominio 85 | 192.168.0.2 "serverwins \0x1e" #PRE 86 | #INCLUDE \\serverpdc\lmhosts 87 | 88 | A primeira entrada do arquivo é a tradicional, onde o nome da máquina 89 | NetBIOS é associada ao IP. A segunda utiliza dois parâmetros adicionais: 90 | 91 | #PRE - Faz a entrada ser carregada logo na inicialização e 92 | se tornando uma entrada permanente no cache NetBIOS. 93 | #DOM - Especifica que a máquina é um controlador de domínio. 94 | A máquina deverá ter sido configurada para a função de domínio, pois caso 95 | contrário isso simplesmente não funcionará. 96 | 97 | Note que ambos #PRE e #DOM devem ser especificados em 98 | maiúsculas. O terceiro exemplo faz uma referência permanente (#PRE) a 99 | máquina servidora WINS serverwins. Neste exemplo é usada uma 100 | característica especial para especificar a ID hexadecimal da máquina 101 | na rede 1e. O quarto utiliza um include para associar outro 102 | arquivo ao atual, útil quando temos um compartilhamento que 103 | distribui um arquivo lmhosts para diversas máquinas na 104 | rede. De preferência, utilize sempre uma diretiva #PRE para todas 105 | as máquinas especificadas na diretiva #INCLUDE em seu 106 | arquivo de configuração. 107 |

108 | Para a especificação de ID de serviço manual, é necessário manter os 15 109 | caracteres no nome da máquina (preenchendo os restantes com espaços, 110 | caso seja preciso). O último caracter é o código hexadecimal que 111 | identifica o serviço de rede (veja 112 | para ver a lista de serviços e sua respectiva função). 113 | 115 | OBS: Caso crie este arquivo em um editor de textos do 116 | Linux, não se esqueça de converter o arquivo para que contenha 117 | o CR+LF no final das linhas. 118 | ]]> 119 | 120 | WINS 121 |

122 | Este é um serviço de resolução de nomes que funciona de forma semelhante ao 123 | DNS, só que voltado para o NetBIOS. Quando uma máquina cliente NetBIOS entra 124 | na rede, o servidor WINS pega seu nome e IP e inclui em uma tabela para futura 125 | consulta pelos clientes da rede. 126 |

127 | Esta tabela consultada toda vez que um cliente NetBIOS solicita um nome de 128 | máquina, componentes do grupo de trabalho ou domínio na rede. Uma outra 129 | aplicação importante de um servidor WINS é permitir a resolução de nomes em pontos 130 | de redes que requerem roteamento, a simplicidade de um protocolo não roteável 131 | como o NetBIOS fica limitada a simplicidade das instalações de rede. Um servidor 132 | WINS pode ser instalado em cada ponta da rede e eles trocarem dados entre si e 133 | atualizar suas tabelas de nomes/grupos de trabalhos/IPs. 134 |

135 | A resolução de nomes de máquinas será feita consultando diretamente a máquina 136 | WINS ao invés de broadcasting (que geram um tráfego alto na rede). 137 | 138 | 139 | Configurando o servidor WINS 140 |

141 | Para ativar o servidor WINS no samba, inclua as seguinte linha 142 | na seção [global] do seu arquivo /etc/samba/smb.conf: 143 | 144 | [global] 145 | wins support = yes 146 | wins proxy = no 147 | dns proxy = no 148 | max wins ttl = 518400 149 | 150 | 151 | O parâmetro wins proxy pode ser necessário para alguns clientes antigos que 152 | tenham problemas no envio de suas requisições WINS. O dns proxy permite 153 | que o servidor WINS faça a pesquisa no DNS para localização de nomes de máquinas 154 | caso não exista no cache. Ambas as opções wins support, wins proxy 155 | e dns proxy tem como valor padrão não. 156 | 157 | Pronto, seu servidor samba agora suporta WINS. Fácil, prático e rápido :-) 158 |

159 | Se estiver configurando uma subrede com masquerade para acesso a um PDC ou 160 | um servidor WINS, você terá que mexer no gateway central para apontar uma 161 | rota para o gateway masquerade. O motivo disto é porque o masquerade do 162 | Linux atua somente nos cabeçalhos, mas o IP da estação é 163 | enviada e processada pelo PDC para retornar uma resposta. 164 | Da mesma forma, este IP é registrado no servidor WINS para uso das estações 165 | de trabalho. Isto só vai ser resolvido quando for escrito um módulo de 166 | conntrack para conexões SAMBA (até o lançamento do kernel 2.4.22, 167 | isso ainda não ocorreu). 168 | 170 | OBS1: NUNCA configure mais de um servidor WINS em uma mesma 171 | rede. 172 |

173 | OBS2: NÃO especifique o parâmetro wins server caso 174 | esteja usando o suporte a WINS. 175 | 176 | ]]> 177 | 178 | Configurando o Cliente WINS 179 |

180 | Para os clientes da rede (Linux, Windows, OS/2, etc. ) fazer 181 | uso das vantagens da resolução de nomes usando o WINS, é necessário configurar 182 | para que eles o utilizem para resolver os nomes de máquinas. Isto é feito da 183 | seguinte forma em cada um dos sistemas operacionais: 184 | 185 | Linux 186 | 187 | Adicione a linha wins server = ip_do_servidor_WINS 188 | na seção global do arquivo /etc/samba/smb.conf: 189 | 190 | [global] 191 | wins server = 192.168.1.1 192 | 193 | 194 | Após isto, reinicie o servidor samba. Caso esteja executando 195 | o servidor via inetd, digite: killall -HUP nmbd. Se 196 | estiver rodando através de daemons: /etc/init.d/samba restart. 197 | Não é necessário reiniciar o computador! 198 | 199 | Windows 9x 200 | 201 | Clique com o botão direito sobre o ícone Ambiente de Rede e 202 | selecione propriedades. Na janela de configuração de rede clique na aba 203 | Configuração. Na lista que aparece selecione o protocolo TCP/IP 204 | equivalente a sua placa de rede local e clique em Propriedades. 205 |

206 | Na tela de Propriedades TCP/IP clique em Configurações WINS 207 | e marque a opção Ativar resolução WINS. Digite o endereço do servidor 208 | WINS e clique em Adicionar. 209 | 210 | 212 | OBS: Se utilizar um servidor DHCP em sua rede local e o 213 | endereço do servidor WINS também é oferecido através dele, você poderá 214 | marcar a opção Usar DHCP para resolução WINS. Note que esta 215 | opção somente estará disponível se escolher a opção Obter um endereço IP 216 | automaticamente na tab Endereços IP. 217 | ]]> 218 | 219 | Clique em OK até fechar todas as telas e reinicie quando 220 | o computador perguntar :-) 221 | 222 | 223 | -------------------------------------------------------------------------------- /Avancado/samba/SAMBA-Timeserver.sgml: -------------------------------------------------------------------------------- 1 | Servidor de data/hora 2 |

3 | O samba pode atuar como um servidor de data/hora ajustando o horário de 4 | suas estações de trabalho com o servidor da rede. 5 |

6 | As estações clientes poderão executar o comando net para sincronizar 7 | seu relógio durante a inicialização do Windows, ou durante o logon da rede através 8 | do script de logon, caso tenha configurado o servidor samba para 9 | logon em domínios NT. 10 | 11 | 12 | Configuração do serviço de data/hora no SAMBA 13 |

14 | Para configurar o samba para atuar como servidor de data/hora de sua rede, 15 | adicione o seguinte parâmetro na seção global do arquivo de configuração 16 | /etc/samba/smb.conf: 17 | 18 | [global] 19 | time server = yes 20 | 21 | 22 | Para sincronizar a data/hora das estações de trabalho usando o servidor 23 | samba, veja . 24 | Caso o seu servidor SAMBA também seja o servidor de autenticação PDC da 25 | rede, a melhor forma de se fazer isto é colocar o comando 26 | net time \\servidor_SAMBA /set /yes em um script que será 27 | executado pela estação. 28 | 29 | 31 | OBS É recomendável instalar um cliente ntp para manter o relógio 32 | do servidor sempre atualizado, conseqüentemente mantendo a data/hora das estações 33 | também em sincronismo . 34 | ]]>. 35 | 36 | 37 | Sincronizando a data/hora no Cliente 38 |

39 | Na estação cliente Windows, use o seguinte comando: 40 | 41 | NET TIME \\SERVIDOR /WORKGROUP:GRUPO /SET /YES 42 | 43 | Um local interessante para colocação deste comando é na pasta Iniciar da 44 | estação Windows, pois todos os comandos que estejam nesta pasta são 45 | executados quando o sistema é iniciado. 46 | 48 | Exemplos: 49 | 50 | 51 | net time \\linux /set /yes - Sincroniza a hora com o servidor 52 | "\\linux" e não pede confirmação (/yes). 53 | 54 | 55 | net time \\linux /WORKGROUP:pinguim /set /yes - Sincroniza a 56 | hora com o servidor "\\linux" do grupo de trabalho pinguim (/WORKGROUP:pinguim) 57 | e não pede confirmação (/yes). 58 | 59 | ]]> 60 | 61 | -------------------------------------------------------------------------------- /Avancado/samba/SAMBA-Workgroup.sgml: -------------------------------------------------------------------------------- 1 | Configuração em Grupo de Trabalho 2 |

3 | A configuração grupo de trabalho é o método mais simples 4 | para compartilhar recursos em uma rede e também é indicado quando 5 | se possui uma rede pequena (até 30 máquinas) pois o gerenciamento 6 | não é tão complicado. Acima deste número, é recomendada a utilização 7 | da configuração de domínio para definição de políticas de acesso mais 8 | precisas pelo administrador e para manter o controle sobre os recursos 9 | da rede (veja ). 10 |

11 | A configuração do nível de acesso por grupo de trabalho tem como 12 | características principais essa simplicidade na configuração e o 13 | controle de acesso aos recursos sendo feito pela máquina local 14 | através de senhas e controle de IP. 15 |

16 | Quanto ao método de senhas, você pode optar tanto por usar senhas 17 | criptografadas () ou senhas 18 | em texto limpo (). 19 |

20 | Veja abaixo um exemplo explicado de configuração do SAMBA 21 | para grupo de trabalho: 22 | 23 | [global] 24 | netbios name = servidor 25 | workgroup = focalinux 26 | security = user 27 | obey pam restrictions = yes 28 | encrypt passwords = no 29 | os level = 30 30 | guest account = nobody 31 | server string = servidor da rede 32 | local master = true 33 | domain master = false 34 | 35 | [homes] 36 | comment = Diretórios de usuários 37 | create mask= 0700 38 | directory mask = 0700 39 | browseable = no 40 | 41 | [tmp] 42 | path = /tmp 43 | comment = Diretório temporário do sistema 44 | read only = yes 45 | valid users = gleydson 46 | public = no 47 | 48 | 49 | Agora, verifique se existem erros na configuração com o comando 50 | testparm () e reinicie o 51 | SAMBA (). 52 | O nome do grupo de trabalho que a máquina pertencerá é focalinux 53 | (workgroup = focalinux). O nível de acesso usado neste exemplo 54 | é de usuário (security = user), para mais detalhes sobre este 55 | método, veja . O parâmetro 56 | local master foi definido para yes para o SAMBA 57 | tentar ser o navegador local do grupo de trabalho (veja 58 | ). 59 |

60 | Para testar se o servidor está funcionando, digite o seguinte comando: 61 | 62 | smbclient -L servidor -U usuario 63 | 64 | 65 | Digite a senha de usuário quando solicitado. O comando deverá listar os 66 | recuros da máquina, indicando que a configuração está funcionando 67 | corretamente. Se você é paranóico e está preocupado com a segurança 68 | da máquina, recomendo ler a . 69 | 70 | 71 | -------------------------------------------------------------------------------- /Avancado/samba/SAMBA-impressao.sgml: -------------------------------------------------------------------------------- 1 | Compartilhamento de impressão no servidor SAMBA 2 |

3 | Este capítulo documenta como configurar o seu servidor samba para permitir o 4 | acesso a compartilhamento de arquivos e impressão no sistema. 5 | 6 | 7 | Configurando o Linux como um servidor de impressão Windows 8 |

9 | Será necessário ter o pacote samba instalado e adicionar 10 | as seguintes linhas no seu arquivo /etc/samba/smb.conf: 11 | 12 | [hp-printer] 13 | path = /tmp 14 | printer name=HP DeskJet 690C 15 | printable = yes 16 | print command = lpr -r -h -P %p %s 17 | valid users = winuser winuser2 18 | create mode = 0700 19 | 20 | 21 | O compartilhamento acima tornará disponível a impressora local "lp" as máquinas 22 | Windows com o nome "HP DeskJet 690C". Uma impressora alternativa pode ser 23 | especificada modificando a opção -P da linha de comando do lpr. 24 | Note que somente os usuários "winuser" e "winuser2" poderão usar esta impressora. 25 | Os arquivos de spool (para gerenciar a fila de impressão) serão gravador em 26 | /tmp (path = /tmp) e o compartilhamento [hp-printer] 27 | será mostrado como uma impressora (printable = yes). 28 |

29 | Agora será necessário instalar o driver desta impressora no Windows (HP 690C) e 30 | escolher impressora instalada via rede e seguir os demais passos de configuração. 31 | -------------------------------------------------------------------------------- /Avancado/samba/SAMBA-uidmap.sgml: -------------------------------------------------------------------------------- 1 | Mapeamento de usuários/grupos em clientes 2 |

3 | O mapeamento de usuários do servidor remoto com a máquina local é usado quando 4 | você deseja controlar o acesso aos arquivos/diretórios a nível de usuário. 5 | No Windows isto permite que cada arquivo/diretório tenha 6 | o acesso leitura/gravação somente para os usuários definidos e autenticados 7 | no controlador de domínio. No Linux as permissões de 8 | arquivos e diretórios podem ser definidas para o usuário do PDC, garantindo 9 | o mesmo nível de controle de acesso. 10 |

11 | Esta seção explica como configurar o mapeamento de UID/GID entre o servidor 12 | PDC SAMBA e seus clientes NetBIOS Windows e Linux. 13 | 14 | 15 | Mapeamento de usuários/grupos domínio em Windows 16 |

17 | Para o Windows utilizar os usuários remotos do servidor para 18 | fazer seu controle de acesso por nível de usuário, siga os seguintes passos: 19 | 20 | Windows 9X 21 | 22 | Entre no Painel de Controle/Propriedades de Rede e 23 | clique na tab Controle de Acesso. 24 | Marque a opção Controle de acesso a nível de usuário e coloque o 25 | nome da máquina PDC na caixa de diálogo de onde os usuários/grupos serão obtidos. 26 | Você também pode colocar o nome do grupo de trabalho, neste caso a máquina fará 27 | uma busca pelo PDC ou outra máquina de onde pode obter os nomes de usuários/grupos. 28 | 30 | OBS: Para fazer isto, você deverá estar autenticado no domínio. 31 | ]]> 32 | 33 | 34 | 35 | Mapeamento de usuários/grupos domínio em Linux 36 |

37 | A associação de UIDs de usuários de um domínio com usuários locais no 38 | Linux é feita pelo programa winbind. Ele 39 | utiliza o mecanismo nsswitch para obter outras fontes 40 | de dados de usuários e os associa nas ferramentas de gerenciamento de 41 | contas existentes no sistema. Siga estes passos para fazer sua instalação 42 | e configuração do Winbind em um servidor Linux: 43 | 44 | 45 | Instale o programa winbind: apt-get install winbind. 46 | 47 | 48 | Modifique o arquivo smb.conf adicionando as seguintes linhas na 49 | seção [global]: 50 | 51 | winbind separator = + 52 | winbind cache time = 30 53 | winbind uid = 10000-15000 54 | winbind gid = 10000-12000 55 | winbind enum users = yes 56 | winbind enum groups = yes 57 | template homedir = /home/winbind/%D/%U 58 | template shell = /bin/false 59 | 60 | 61 | Onde 62 | 63 | winbind separator 64 | 65 | Separador usado para separar o nome dos grupos do nome de domínio. Este 66 | parâmetro somente tem sentido quando usado em conjunto com um PDC 67 | Windows ou quando os módulos pam_winbind.so e nss_winbind.so 68 | estão sendo utilizados. 69 | 70 | winbind cache time 71 | 72 | Define a quantidade de tempo em segundos que um nome/grupo permanecerá no cache 73 | local para não ser feita uma nova consulta no servidor PDC. 74 | 75 | winbind uid 76 | 77 | Especifica o intervalo que será usado para mapear os nomes de usuários 78 | remotos como UIDs locais. Você precisará ter certeza que nenhum UID 79 | nesse intervalo é usado no sistema, como pelo LDAP, NIS ou usuários normais. 80 | Por padrão, os IDS de usuários normais na maioria dos sistemas Linux, 81 | começam por 1000. No exemplo serão usados os UIDs de 10000 a 15000 para 82 | mapeamento e UIDs dos usuários do domínio para usuários locais. 83 | 84 | winbind gid 85 | 86 | Especifica o intervalo de GIDs que será usado para mapear os nomes de grupos 87 | remotos do domínio como GIDs locais. Como no parâmetro winbind uid, 88 | você deverá ter certeza que esta faixa de GIDs não está sendo usada em 89 | seu sistema. 90 | 92 | OBS: Atualmente SAMBA não possui suporte a 93 | grupos globais, apenas para usuários globais, desta forma os grupos da 94 | máquina remota não serão trazidos para o sistema. Uma forma de contornar isto, 95 | é utilizando o LDAP ou o NIS no PDC e nos clientes Linux. 96 | ]]> 97 | 98 | winbind enum users 99 | 100 | Permite enumerar usuários do winbind para retornarem dados quando solicitados. 101 | A não ser que possua uma instalação parecida em todas as máquinas (como com 102 | o uso de LDAP e NIS) responda "yes" para não ter problemas. 103 | 104 | winbind enum groups 105 | 106 | Permite enumerar grupos do winbind para retornarem dados quando solicitados. 107 | A não ser que possua uma instalação parecida em todas as máquinas (como com 108 | o uso de LDAP e NIS) responda "yes" para não ter problemas. 109 | 110 | template homedir 111 | 112 | Quando o sistema cliente for um Windows NT ou baseado, este diretório será 113 | retornado como diretório de usuário para o sistema. O parâmetro %D será 114 | substituído pelo nome do domínio e %U pelo nome de usuário durante a conexão. 115 | 116 | template shell 117 | 118 | Este será o shell enviado para máquinas NT ou baseadas nele como shell usado 119 | para login. O valor usado foi /bin/false pois desabilita os 120 | logons, mas você poderá usar /bin/sh (ou algum outro shell) para 121 | efetuar conexões do comando net ou outras ferramentas NetBEUI ao 122 | servidor. 123 | 124 | 125 | 126 | 127 | Reinicie o servidor SAMBA 128 | 129 | 130 | Edite o arquivo /etc/nsswitch.conf alterando a ordem de pesquisa de 131 | nomes de usuários e grupos do sistema local para a seguinte: 132 | 133 | passwd: files winbind 134 | group: files winbind 135 | shadow: compat 136 | 137 | 138 | 139 | 140 | Agora, inicie o daemon winbind local com o comando: 141 | /etc/init.d/winbind restart. 142 | 143 | 144 | Entre no domínio com o comando: smbpasswd -j domínio -r nome_do_PDC -U usuario (veja para aprender como entrar no 145 | domínio em caso de dúvidas). 146 | 147 | Agora faça o teste para obter a listagem dos grupos e usuários do domínio do 148 | PDC digitando: 149 | 150 | wbinfo -u 151 | wbinfo -g 152 | getent passwd 153 | getent group 154 | 155 | 156 | Caso isto não aconteça, revise suas configurações e veja os logs procurando por 157 | erros quando o winbind tenta obter a lista de usuários/grupos do 158 | domínio. 159 | 160 | 161 | Agora você deve ser capaz de criar diretórios/arquivos locais usando os 162 | nomes de usuários/grupos do domínio. Lembre-se de reiniciar sempre o 163 | winbind quando reiniciar o SAMBA por alguma modificação for 164 | feita (ao mesmo que saiba que não afeta o winbind), assim 165 | como entrar novamente no domínio, caso contrário o mapeamento deixará 166 | de funcionar. 167 | 169 | OBS: Atualmente, o winbind não oferece suporte 170 | a restrições por data/hora de logon para estações de trabalho. Isto deverá 171 | ser implementado em uma futura versão 172 | ]]> 173 | -------------------------------------------------------------------------------- /Avancado/samba/referencias.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/samba/referencias.txt -------------------------------------------------------------------------------- /Avancado/samba/samba.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/samba/samba.txt -------------------------------------------------------------------------------- /Avancado/samba/todo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/samba/todo -------------------------------------------------------------------------------- /Avancado/ssh/ssh-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Avancado/ssh/ssh-clientes.sgml: -------------------------------------------------------------------------------- 1 | Usando aplicativos clientes 2 |

3 | Esta seção explicará o uso dos utilitários ssh, scp e 4 | sftp. 5 | 6 | 7 | ssh 8 |

9 | Esta é a ferramenta usada para seções de console remotos. O arquivo de 10 | configuração de usuários é ~/.ssh/config e o arquivo 11 | global /etc/ssh/ssh_config. Para conectar a um servidor ssh remoto: 12 | 13 | ssh usuario@ip/nome_do_servidor_ssh 14 | 15 | 16 | Caso o nome do usuário seja omitido, seu login atual do sistema será usado. 17 | O uso da opção -C é recomendado para ativar o modo de compactação dos 18 | dados (útil em conexões lentas). A opção -l usuário pode ser usada para 19 | alterar a identificação de usuário (quando não é usada, o login local é usado como 20 | nome de usuário remoto). Uma porta alternativa pode ser especificada usando a 21 | opção -p porta (a 22 é usada por padrão). 22 |

23 | Na primeira conexão, a chave pública do servidor remoto será gravada em 24 | ~/.ssh/know_hosts ou ~/.ssh/know_hosts2 (dependendo 25 | da versão do servidor ssh remoto, veja 26 | ), e verificada a cada conexão como 27 | checagem de segurança para se certificar que o servidor não foi alvo de 28 | qualquer ataque ou modificação não autorizada das chaves. Por padrão, o 29 | cliente utilizará o protocolo ssh versão 1, a opção -2 permite usar 30 | o protocolo versão 2. 31 |

32 | Variáveis de ambiente personalizadas para o ssh poderão ser definidas 33 | no arquivo ~/.ssh/environment. Comandos que serão executados somente 34 | na conexão ssh em ~/.ssh/rc e /etc/ssh/sshrc caso 35 | contrário será executado o xauth por padrão. 36 | 38 | OBS: Para utilizar autenticação Rhosts/Rhosts+RSA (arquivos 39 | ~/.rhosts/~/.shosts) o programa ssh 40 | deverá ter permissões SUID root e conectará usando 41 | portas baixas (menores que 1024). ]]> 42 | 43 | 44 | Exemplos: 45 | # Conecta-se ao servidor remoto usando o login do usuário atual 46 | ssh ftp.sshserver.org 47 | 48 | # Conecta-se ao servidor remoto usando o login john (via ssh versão 2) 49 | ssh -2 ftp.sshserver.org -l john 50 | 51 | # Conecta-se ao servidor remoto usando compactação e o login john 52 | ssh ftp.sshserver.org -C -l john 53 | 54 | # Semelhante ao exemplo acima, usando o formato "login@ip" 55 | ssh john@ftp.sshserver.org -C 56 | 57 | # Conecta-se ao servidor remoto usando compactação, o login john, 58 | # ativa o redirecionamento do agente de autenticação (-A) e redirecionamento 59 | # de conexões X11 (-X). Veja a próxima seção para entender como o 60 | # suporte a redirecionamento de conexões do X funciona. 61 | ssh ftp.sshserver.org -C -A -X -l john 62 | 63 | 64 | 65 | 66 | Redirecionamento de conexões do X 67 |

68 | O redirecionamento de conexões do X Window poderá ser habilitado em 69 | ~/.ssh/config ou /etc/ssh/ssh_config ou 70 | usando as opções -A -X na linha de comando do ssh 71 | (as opções -a e -x desativam as opções acima 72 | respectivamente). Uma variável $DISPLAY é criada 73 | automaticamente para fazer o redirecionamento ao servidor X local. 74 |

75 | Ao executar um aplicativo remoto, a conexão é redirecionada a um 76 | DISPLAY proxy criado pelo ssh (a partir de :10, por padrão) que 77 | faz a conexão com o display real do X (:0), ou seja, ele pulará os métodos 78 | de autenticação xhost e cookies. 79 | Por medidas de segurança é recomendável habilitar o redirecionamento 80 | individualmente somente se você confia no administrador do sistema remoto. 81 |

82 | 83 | # Exemplo de configuração do ssh_config 84 | 85 | # Permite Redirecionamento de conexões para o próprio computador (nomes de 86 | # máquinas podem ser especificadas). 87 | Host 127.0.0.1 88 | ForwardAgent yes 89 | ForwardX11 yes 90 | 91 | # Opções específicas do cliente para conexões realizadas a 192.168.1.4 usando 92 | # somente o protocolo 2 93 | Host 192.168.1.4 94 | # As 2 linhas abaixo ativam o redirecionamento de conexões do X 95 | ForwardAgent yes 96 | ForwardX11 yes 97 | PasswordAuthentication yes 98 | Port 22 99 | Protocol 2 100 | Cipher blowfish 101 | 102 | # Opções específicas do cliente para conexões realizadas a 192.168.1.5 usando 103 | # somente o protocolo 1 104 | Host 192.168.1.5 105 | # As 2 linhas abaixo desativam o redirecionamento de conexões do X 106 | ForwardAgent no 107 | ForwardX11 no 108 | PasswordAuthentication yes 109 | Port 22 110 | Protocol 1 111 | Cipher blowfish 112 | 113 | # CheckHostIP yes 114 | # RhostsAuthentication no 115 | # RhostsRSAAuthentication yes 116 | # RSAAuthentication yes 117 | # FallBackToRsh no 118 | # UseRsh no 119 | # BatchMode no 120 | # StrictHostKeyChecking yes 121 | # IdentityFile ~/.ssh/identity 122 | # IdentityFile ~/.ssh/id_dsa 123 | # IdentityFile ~/.ssh/id_rsa1 124 | # IdentityFile ~/.ssh/id_rsa2 125 | # EscapeChar ~ 126 | 127 | 128 | 129 | 130 | Cliente ssh para Windows 131 |

132 | O putty é um cliente ssh Win32 que possui suporte 133 | aos protocolos versão 1 e 2 do ssh, aceita compactação além de 134 | funcionar também como cliente telnet. Seu tamanho é 135 | pequeno, apenas um executável e requer 220KB de espaço em disco. 136 | Ele pode ser baixado de 137 | . 138 |

139 | Outra alternativa é o MindTerm, este é baseado em 140 | Java e pode inclusive ser executado como um applet em uma página 141 | web. Este programa é encontrado em . 142 | 143 | 144 | scp 145 |

146 | Permite a cópia de arquivos entre o cliente/servidor ssh. A sintaxe usada por 147 | este comando é a seguinte: 148 |

149 | scp [origem] [destino] 150 |

151 | Os parâmetros de origem e destino são semelhantes ao do 152 | comando cp mas possui um formato especial quando é especificado 153 | uma máquina remota: 154 | 155 | 156 | Um caminho padrão - Quando for especificado um arquivo local. Por 157 | exemplo: /usr/src/arquivo.tar.gz. 158 | 159 | 160 | usuario@host_remoto:/diretório/arquivo - Quando desejar copiar o 161 | arquivo de/para um servidor remoto usando sua conta de usuário. 162 | Por exemplo: gleydson@ftp.debian.org:~/arqs. 163 | 164 | 165 | A opção -C é recomendável para aumentar a taxa de transferência de dados 166 | usando compactação. Caso a porta remota do servidor sshd seja diferente 167 | de 22, a opção -P porta deverá ser especificada (é "P" maiúscula mesmo, 168 | pois a -p é usada para preservar permissões/data/horas dos arquivos 169 | transferidos). 170 | 171 | Exemplos: 172 | # Para copiar um arquivo local chamado /pub/teste/script.sh para 173 | # meu diretório pessoal em ftp.sshserver.org 174 | scp -C /pub/teste/script.sh gleydson@ftp.sshserver.org:~/ 175 | 176 | # Para fazer a operação inversa a acima (copiando do servidor remoto para o local) 177 | # é só inverter os parâmetros origem/destino: 178 | scp -C gleydson@ftp.sshserver.org:~/script.sh /pub/teste 179 | 180 | # Para copiar o arquivo local chamado /pub/teste/script.sh para 181 | # o diretório /scripts dentro do meu diretório pessoal em ftp.sshserver.org 182 | # com o nome teste.sh 183 | scp -C /pub/teste/script.sh gleydson@ftp.sshserver.org:~/scripts/teste.sh 184 | 185 | # O exemplo abaixo faz a transferência de arquivos entre 2 computadores remotos: 186 | # O arquivo teste.sh é lido do servidor server1.ssh.org e copiado para 187 | # server2.ssh.org (ambos usando o login gleydson) 188 | scp -C gleydson@server1.ssh.org:~/teste.sh gleydson@server2.ssh.org:~/ 189 | 190 | 191 | 192 | 193 | Cliente scp para Windows 194 |

195 | O pscp faz a tarefa equivalente ao scp no 196 | windows, e pode ser baixado de 197 | . 198 | 199 | 200 | sftp 201 |

202 | Permite realizar transferência de arquivos seguras através do protocolo 203 | ssh. A conexão e transferências são realizadas através da porta 22 (ainda 204 | não é possível modificar a porta padrão). A sintaxe 205 | para uso deste comando é a seguinte: 206 |

207 | sftp usuario@host_remoto 208 |

209 | Compactação pode ser especificada através da opção -C. Um 210 | arquivo contendo os comandos usados na seção sftp poderá se 211 | especificado através da opção -b arquivo para automatizar tarefas. 212 | 214 | OBS1: Para desativar o servidor sftp, remova a linha 215 | SubSystem sftp /usr/lib/sftp-server (que inicializa o sub-sistema 216 | ftp) do arquivo /etc/ssh/sshd_config e reinicie o servidor 217 | sshd. 218 |

219 | OBS2: O suporte ao programa sftp somente 220 | está disponível ao protocolo ssh versão 2 e superiores. 221 |

222 | OBS3: Algumas opções comuns do cliente ftp padrão 223 | (como mget) ainda não estão disponíveis ao sftp. Veja 224 | a página de manual para detalhe sobre as opções disponíveis. ]]> 225 | 226 | 227 | 228 | -------------------------------------------------------------------------------- /Avancado/systemd/systemd-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Avancado/systemd/systemd-doc.sgml: -------------------------------------------------------------------------------- 1 | SYSTEMD, o novo e controverso sistema de inicialização do Linux 2 | 3 | Um pouco história sobre o systemd 4 | 5 | sysvinit 6 |

7 | Quando foi criado o primeiro Unix em 1970 por Ken Thompson e Denis 8 | Ritchie, seu nome foi um batismo pela mudança de filosofia de seu 9 | antecessor, multics, que era time-sharing, para um sistema com um 10 | único processo que se iniciava e controlava o restante do sistema: 11 | o init. Único e Unix. Entendeu a brincadeira? 12 |

13 | Quando Linux começou a surgir como sistema operacional, foi adotado um sistema 14 | de init compatível com padrão SYSV, que basicamente lia os scripts colocados em 15 | /etc/init.d/rc<n>.d no padrão de RedHat/Suse, ou em 16 | /etc/rc<n>.d no padrão Debian, e inicializava como shell 17 | script, rodando /bin/sh todos os scripts que começassem com 18 | S. Cada diretório de inicialização tinha um <n> referente ao 19 | corrente runlevel. Então um boot em initlevel 5, todos os scripts em 20 | /etc/rc5.d/S* seriam lidos. Não somente lidos, mas executados como 21 | script e tendo como argumento o parâmetro start. 22 |

23 | Em termos bem simplistas, o que o init padrão SYSV fazia era (usando Debian como exemplo): 24 |

25 | 26 | level=$(runlevel | cut -d" " -f 2) # ler qual o runlevel atual 27 | for script in /etc/rc${level}.d/S* 28 | do 29 | /bin/sh $script start 30 | done 31 | 32 |

33 | Da mesma forma, ao mudar de runlevel (o que acontecia ao desligar o sistema), os 34 | scripts que tinham K como primeira letra eram executados com o 35 | argumento stop 36 |

37 | Assim por muitos anos os sistemas GNU/Linux viveram felizes inicializando e 38 | terminando seus sistemas. Em geral qualquer um poderia criar um script de 39 | inicialização utilizando um formato parecido com o seguinte: 40 | 41 | #! /bin/sh 42 | 43 | case $1 in 44 | start) fazendo coisas de start ;; 45 | stop) fazendo coisas de stop ;; 46 | status) verificando se está rodando ou não; 47 | restart) $0 stop 48 | $0 start 49 | ;; 50 | *) echo "Use: $0 [start|stop|status]" 51 | esac 52 | 53 |

54 | O problema de toda essa bela simplicidade é que se por algum motivo a parte do script que 55 | era chamada parasse, os outros scripts não eram executados. Isso levava 56 | geralmente os scripts de inicialização pouco testados a gerar belos travamentos 57 | em servidores depois de reboots. 58 |

59 | A primeira solução adotada foi a mais óbvia: colocar todo mundo pra rodar em 60 | background usando &. Essa solução era perfeita e 61 | resolvia o problema de travamento na inicialização mas... (sempre tem um mas) 62 | alguns scripts dependiam de outros scripts, que não tinham terminado de 63 | inicializar. Então veio o segundo problema: ordenação desses scripts. 64 |

65 | upstart 66 |

67 | O Upstart, desenvolvido pela Canonical, tinha como objetivo substituir o daemon init do Linux, 68 | tendo como grande trunfo ser orientado a eventos. 69 | Isso significa que, um evento pode iniciar um serviço, que inicia outro evento e dispara outro serviço, 70 | e assim consecutivamente. 71 | Tinha como meta compatibilidade total com o init System V, podendo rodar scritps deste init sem modificações. 72 | systemd 73 |

74 | Semelhante ao Upstart, porém, o Systemd elimina o uso de scritps de inicialização. 75 | Apesar disso, este sistema e gerenciador de serviços pode criar chamadas para scripts no momento da inicialização. 76 | Seu paralelismo é mais agressivo que o Upstart e utiliza sockets D-Bus (mecanismo de intercomunicação entre processos concorrentes). 77 | Ele, o Systemd, se propõe a realizar a inicialização do sistema de forma mais rápida, usando paralelismo e ordem de prioridade. 78 | Para garantir que o sistema inicialize mais rapidamente o Systemd acaba por controlar parte do hardware, como : 79 | 80 | Reconhecimento de Hardware 81 | Montagem de Dispositivo 82 | Permissões de Montagem 83 | 84 | 85 | As polêmicas em torno do systemd 86 |

87 | Tomando conta do hardware o sistema fica dependente do Systemd. Como é quase todo binário sua alteração, e conseguente 88 | controle do usuário torna-se complexa, e muitas vezes o usuário fica refém do binário, sem poder alterá-lo. 89 | De certa forma, ele pode ser utilizado em qualquer distribuição Linux, mas tem mostrado melhor desempenho nas distribuições 90 | Debian, Red Hat e seus derivados. 91 | 92 | Usando o systemd 93 |

94 | 95 | systemctl 96 |

97 | Os comandos podem ser utilizados em qualquer distribuição. 98 | 99 |

Verificando a versão instalada do systemd: 100 | 101 | $ systemctl --version 102 | 103 | 104 |

Verificar o tempo de boot do sistema: 105 | 106 | $ systemd-analyze 107 | 108 | 109 |

Verificar processos por grupos de controle: 110 | 111 | # systemd-cgtop 112 | 113 | 114 |

Exibir uma lista de todas as units (serviços, pontos de montagem, devices): 115 | 116 | # systemctl 117 | 118 | 119 |

Ativando o serviço "exemplo": 120 | 121 | # systemctl start exemplo 122 | 123 | 124 |

Desativando "exemplo": 125 | 126 | # systemctl stop example 127 | 128 | 129 |

Reiniciando o serviço "exemplo" 130 | 131 | # systemctl restart exemplo 132 | 133 | 134 |

Verificando o status de "exemplo": 135 | 136 | # systemctl status exemplo 137 | 138 | 139 |

Habilitando "exemplo" para iniciar no boot: 140 | 141 | # systemctl enable exemplo 142 | 143 | 144 |

Desativando "exemplo" para que não inicie no boot: 145 | 146 | # systemctl disable example 147 | 148 | 149 | journalctl 150 |

151 | 152 | Mudando o runlevel com systemd (ou como dar boot em "single mode") 153 |

154 | -------------------------------------------------------------------------------- /Avancado/telnet/referencias.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/telnet/referencias.txt -------------------------------------------------------------------------------- /Avancado/telnet/telnet-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Avancado/telnet/telnet-Introducao.sgml: -------------------------------------------------------------------------------- 1 | Servidor telnet 2 |

3 | Este capítulo ensina como instalar, configurar, usar e fazer restrições 4 | de acesso ao servidor telnet. Também é explicada a utilização do cliente 5 | telnet e o suporte a criptografia (ssl). 6 | 7 | 8 | Introdução 9 |

10 | O serviço telnet é oferece o login remoto em seu computador, que lhe 11 | permite trabalhar conectado a distância como se estivesse em frente a ela. 12 | Ele substitui o rlogin e possui muitas melhorias em relação 13 | a ele, como o controle de acesso, personalização de seção e controle de 14 | terminal. 15 | 16 | Versão 17 |

18 | É assumido que esteja usando a versão 0.17.16 do telnet. As 19 | explicações contidas aqui podem funcionar para versões posteriores, mas é 20 | recomendável que leia a documentação sobre modificações no programa (changelog) 21 | em busca de mudanças que alterem o sentido das explicações fornecidas aqui. 22 | 23 | Características 24 |

25 | 26 | 27 | Conexão rápida (não utiliza transmissão de dados criptografada), recomendado 28 | para ambientes seguros. 29 | 30 | 31 | Possui uma versão com suporte a criptografia via ssl. 32 | 33 | 34 | Possui controle de acesso tcpd (usando /etc/hosts.allow e 35 | /etc/hosts.deny). 36 | 37 | 38 | A maioria dos sistemas operacionais trazem este utilitário por padrão como 39 | sistema de acesso remoto a máquinas UNIX. 40 | 41 | 42 | Suporte a terminais ANSI (cores e códigos de escape especiais para o console) 43 | e uma grande variedade de outros terminais. 44 | 45 | 46 | 47 | 48 | Ficha técnica 49 |

50 | Pacotes: 51 | 52 | 53 | telnet - Cliente telnet com suporte a autenticação. 54 | 55 | telnetd - Servidor telnet com suporte a autenticação. 56 | 57 | telnet-ssl - Cliente telnet com suporte a autenticação e ssl. 58 | Também suporta conexão a servidores telnet padrão quando o servidor não suporta 59 | ssl. Por padrão é tentada a conexão usando ssl, se esta falhar será assumida a 60 | transmissão em texto plano. 61 | 62 | telnetd-ssl - Servidor telnet com suporte a autenticação e ssl. 63 | Também suporta conexão de clientes telnet padrão (sem suporte a ssl). 64 | 65 | 66 | Utilitários: 67 | 68 | 69 | in.telnetd - Servidor telnet 70 | 71 | telnet - Cliente telnet padrão (quando o pacote 72 | telnet-ssl está instalado, é simplesmente um link 73 | para telnet-ssl). 74 | 75 | telnet-ssl - Cliente telnet com suporte a ssl. 76 | 77 | 78 | 79 | Requerimentos de Hardware 80 |

81 | Normalmente o servidor telnet é carregado via inetd, o que permite sua 82 | utilização em uma máquina com a quantidade mínima de memória RAM requerida 83 | para o funcionamento do kernel: 2 MB para kernels da série 2.2 e 4MB para 84 | kernels da série 2.4. 85 | 86 | 87 | Arquivos de log criados pelo servidor telnet 88 |

89 | Mensagens do servidor telnet relacionadas com seções são enviadas para 90 | /var/log/daemon.log. Adicionalmente, as mensagens sobre 91 | autenticação (serviços de login) são registradas pelos módulos PAM em 92 | /var/log/auth.log. 93 | 94 | 95 | Instalação 96 |

97 | apt-get install telnet telnetd ou 98 | apt-get install telnet-ssl telnetd-ssl. 99 |

100 | Os pacotes com o -ssl no final possuem suporte a criptografia ssl. Por 101 | padrão a porta usada para executar o serviço telnet é a 23 (ou outro número 102 | de porta definido no /etc/services). A instalação do servidor 103 | telnet é feita via inetd (no arquivo /etc/inetd.conf) 104 | e o controle de acesso ao serviço é feito através dos arquivos 105 | /etc/hosts.allow e /etc/hosts.deny 106 | e 107 | )]]>. 108 |

109 | O servidor tem o nome in.telnetd e este deverá ser 110 | usado para ajustar o controle de acesso nos arquivos acima. 111 | 112 | 113 | Iniciando o servidor/reiniciando/recarregando a 114 | configuração 115 |

116 | O arquivo que controla o funcionamento do servidor telnet é 117 | o /etc/inetd.conf e o controle de acesso sendo feito pelos 118 | arquivos /etc/hosts.allow e /etc/hosts.deny. 119 | Será necessário reiniciar o servidor inetd caso algum destes 120 | três arquivos seja modificado: killall -HUP inetd. 121 | A porta de operação padrão é a 23 e pode ser modificada no 122 | arquivo /etc/services. 123 | 124 | 125 | Opções de linha de comando 126 |

127 | Opções de linha de comando do servidor telnetd: 128 | 129 | -D nível_de_depuração - Permite especificar o que 130 | será registrado pelo servidor durante a conexão dos clientes 131 | telnet. As seguintes opções são suportadas: 132 | 133 | 134 | options - Mostra detalhes sobre a negociação das opções de conexão. 135 | 136 | report - Mostra detalhe de opções e o que está sendo feito. 137 | 138 | netdata - Mostra os dados transferidos na conexão telnetd. 139 | 140 | ptydata - Mostra os dados mostrados na pty. 141 | 142 | 143 | 144 | -edebug - Ativa a depuração do código de criptografia apenas para o 145 | servidor telnet com suporte a ssl. 146 | 147 | 148 | -h - Somente mostra os detalhes de configuração do seu PC após o usuário 149 | fornecer um nome/senha válidos. 150 | 151 | 152 | -L [programa] - Utiliza o programa especificado para fazer o login do 153 | usuário (/usr/sbin/telnetlogin é o padrão). 154 | 155 | 156 | -n - Não envia pacotes keep alive para verificar o estado da conexão. 157 | Desativando esta opção poderá fazer o servidor ficar rodando constantemente 158 | caso aconteça algum problema e o usuário não consiga se desconectar 159 | normalmente. 160 | 161 | 162 | -S TOS - Ajusta o tipo de serviço usado na conexão para o valor 163 | especificado para 164 | maiores detalhes sobre esta opção e os valores aceitos)]]>. 165 | 166 | 167 | Estas opções deverão ser especificadas após o servidor in.telnetd no 168 | arquivo /etc/inetd.conf. 169 | 170 | 171 | Controle de acesso 172 |

173 | É feito pelos arquivos hosts.allow e 174 | hosts.deny. . ]]> 175 | 176 | 177 | Recomendações 178 |

179 | O serviço telnet utiliza texto plano para seção (exceto nas versões 180 | cliente/servidor "-ssl"). 181 | Os dados transmitidos por serviços que utilizam texto plano podem ser capturados 182 | por sniffers e trazer perigo ao seu sistema 183 | )]]>. 184 |

185 | É recomendável somente executar o servidor telnet padrão em ambientes seguros (como 186 | em uma rede interna) e a versão com suporte a ssl para fazer conexões 187 | via redes inseguras (como a Internet). O serviço ssh 188 | ) ]]> 189 | é uma excelente alternativa ao telnet, além de possuir outras características 190 | adicionais que justifiquem seu uso, além de programas cliente para 191 | Linux e Windows. 192 | 193 | 194 | Fazendo conexões ao servidor telnet 195 |

196 | Use o comando: telnet [endereço] [porta] para realizar conexões com 197 | uma máquina rodando o servidor telnet. 198 |

199 | Adicionalmente as seguintes opções podem ser usadas: 200 | 201 | 202 | -l [usuario] - Envia o nome de usuário ao computador remoto. Muito 203 | útil com o telnet-ssl. 204 | 205 | 206 | -E - Desativa o caracter de escape 207 | 208 | 209 | -a - Tenta fazer o login automático usando o nome de usuário 210 | local. Se o login falhar, será solicitado o nome de usuário. Esta opção 211 | é usada por padrão com o cliente telnet-ssl. 212 | 213 | 214 | -r - Emula o comportamento do programa rlogin. 215 | 216 | 217 | 218 | 219 | Exemplos: 220 | 221 | # Conecta-se ao servidor telnet rodando na porta 23 de sua própria máquina 222 | telnet localhost 223 | 224 | # Conecta-se ao servidor telnet 200.200.200.200 operando na porta 53454 usando o 225 | # nome de usuário john 226 | telnet -l john 200.200.200.200 53454 227 | 228 | 229 | 230 | 231 | 232 | -------------------------------------------------------------------------------- /Avancado/virtualizacao/virtualizacao-INDEX.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Avancado/virtualizacao/virtualizacao-docker.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/virtualizacao/virtualizacao-docker.sgml -------------------------------------------------------------------------------- /Avancado/virtualizacao/virtualizacao-introducao.sgml: -------------------------------------------------------------------------------- 1 | Virtualização em sistemas GNU/Linux 2 |

3 | Este capítulo descreve sobre virtualização e suas formas de se fazer isso em 4 | sistemas GNU/Linux. 5 | 6 | Por que usar virtualização 7 |

8 | Virtualização é o meio pelo qual se criam servidores "virtuais". Existem 9 | vários motivos para se querer usar esse tipo de servidores como: 10 | 11 | Segurança, rodando uma um servidor completamente isolado do resto do 12 | sistema. 13 | Alta disponibilidade, fazendo com que o serviço seja migrado de uma 14 | máquina 15 | virtual para outrao, minimizando o tempo fora de serviço durante um atividade 16 | como upgrade. 17 | Testes, pois virtualização pode ser na forma de uma máquina virtual. 18 | Isso 19 | torna possível testar e usar diferentes versões de GNU/Linux, diferentes 20 | distros e até mesmo diferentes sistemas operacionais (inclusive em hardware que 21 | não seja basedo em Intel, como virtualização de plataforma ARM, do Rapsberrypi). 22 | Aprendizado, pois com o uso de servidores virtuais fica muito mais fácil 23 | ter um sistema GNU/Linux disponível e configurado para testes e aprendizado. 24 | Disponibilizar um ambiente completo por usuário. Isso permite o uso de 25 | venda de servidores virtuais, os chamados VPS, Virtual Private Server. 26 | E qualquer outra coisa que você quiser. Não há limites para uso de 27 | virtualização. 28 | 29 | 30 | Tipos de virtualização 31 |

32 | Existem basicamente dois tipos de virtualização usadas em geral e também em 33 | GNU/Linux. 34 | 35 | Paravirtualização: essa é uma forma de virtualização onde a máquina 36 | virtual 37 | não contém uma emulação completa do hardware, apenas uma parte. Em geral 38 | funciona com tipo de ambiente chroot dentro do próprio sistema, compartilhando 39 | algumas informações do sistema original (mas não permitindo ilimitado acesso a 40 | ele). Os sistemas paravirtualizados usam menos memória e se tornam disponíveis 41 | para uso quase que imediatamente. 42 | Virtualização completa: esse tipo de virtualização contém o sistema todo 43 | emulado/virtualizado, criando os dispositivos que serão usado de forma virtual. 44 | São sistemas que usam mais memória e necessitam um "boot" completo do sistema, 45 | sendo mais lentos para iniciar os serviços se commparados com a 46 | paravirtualização. Em contrapartida a virtualização completa permite rodar 47 | diferentes sistemas operacionais e até mesmo emular hardwares diferentes que do 48 | sistema original, como Sparc, Mips e ARM. Essas plataformas emuladas rodam de 49 | forma limitada se comparadas com os sistemas em hardware nativo, tendo seu uso 50 | em geral para testes e desenvolvimento somente. Em sistemas que usam o mesmo 51 | tipo de processador que da máquina original, não existem essas limitações. 52 | 53 | 54 | Nomenclaturas de virtualização 55 |

56 | Alguns termos são comuns em ambientes de virtualização para referenciar sobre a 57 | máquina que roda os ambientes virtuais, ou a máquina virtual em si. São eles: 58 | 59 | host: refere-se à máquina que rodará um ou mais máquinas virtuais. 60 | Em algumas literaturas é encontrado com o nome de sistema anfitrião. 61 | guest: refere-se à máquina virtual rodando. Então é comum ter 62 | vários guests em um servidor host. Os guests podem ter 63 | uma identificação por nome, uuid ou até mesmo por número. Em algumas 64 | literaturas é encontrado com o nome sistema convidado. 65 | dom: essa referência é típica de ambientes que roda com 66 | virtualização xen. Ao invés de dominar host, é chamado de dom-0. 67 | As máquinas guest recebem o nome dom-1, dom-2, e assim 68 | sucessivamente. 69 | -------------------------------------------------------------------------------- /Avancado/virtualizacao/virtualizacao-libvirt.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/virtualizacao/virtualizacao-libvirt.sgml -------------------------------------------------------------------------------- /Avancado/virtualizacao/virtualizacao-lxc.sgml: -------------------------------------------------------------------------------- 1 | LXC - Linux Container 2 |

3 | LXC foi uma tecnologia baseada no princípio de segmentação de privilégios do 4 | kernel Linux através do uso de cgroups. A idéia por trás desse tipo de 5 | paravirtualização já era usada de forma ampla em sistemas Solaris, com seu 6 | *adicionar nome*, e em sistemas FreeBSD, com jails. 7 |

8 | LXC permite criar máquinas virtuais por paravirtualização do sistema do 9 | host. Em geral os guests seguem o tipo de distro do host, 10 | sendo então possível rodar Ubuntu e Debian em sistemas baseados em DEB, e 11 | RedHat, Suse, OpenSuse e Fedora em sistemas baseados em RPM. Mas LXC não 12 | contém uma forma de criar um guest DEB num host RPM, nem vice-versa. 13 | 14 | Criando um convidado LXC 15 | -------------------------------------------------------------------------------- /Avancado/virtualizacao/virtualizacao-qemu.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/virtualizacao/virtualizacao-qemu.sgml -------------------------------------------------------------------------------- /Avancado/virtualizacao/virtualizacao-virtualbox.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/virtualizacao/virtualizacao-virtualbox.sgml -------------------------------------------------------------------------------- /Avancado/virtualizacao/virtualizacao-xen.sgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/Avancado/virtualizacao/virtualizacao-xen.sgml -------------------------------------------------------------------------------- /Iniciante/colaboradores.sgml: -------------------------------------------------------------------------------- 1 | Colaboradores do Guia 2 |

3 | Entre as principais colaborações até a versão atual, posso citar as seguintes: 4 | 5 | 6 | Djalma Valois djalma@cipsga.org.br - Pela 7 | atual hospedagem do Foca GNU/Linux. Estou muito feliz vendo o Foca 8 | GNU/Linux fazendo parte de um projeto tão positivo como o CIPSGA é para o 9 | crescimento e desenvolvimento do software livre nacional. 10 | 11 | O projeto CIPSGA foi terminado em 2005 e a maioria dos projetos 12 | hospedados em seus servidores, assim como as listas de discussão 13 | que sobreviveram foram migrados pra ASL, Associação de Software 14 | Livre. 15 | 16 | 17 | 18 | Bakurih bakurih@yahoo.com - Revisão inicial do 19 | guia, após suas primeiras versões. 20 | 21 | 22 | Eduardo Marcel Maçan macan@debian.org - Pela 23 | antiga hospedagem, na época do site metainfo. 24 | 25 | 26 | Michelle Ribeiro michelle@cipsga.org.br - 27 | Por dispensar parte de seu atencioso tempo enviando revisões e sugestões 28 | que estão melhorando bastante a qualidade do guia. Entre eles 29 | detalhes que passaram despercebidos durante muito tempo no guia 30 | e página principal. 31 |

32 | E também por cuidar do fonte do guia ;-) 33 | 34 | 35 | Augusto Campos brain@matrix.com.br - Descrição 36 | sobre a distribuição Suse 37 | ]]>. 38 | 39 | 40 | Paulo Henrique Baptista de Oliveira 41 | baptista@linuxsolutions.com.br - 42 | Pelo apoio moral oferecido durante os frequentes lançamentos 43 | do guia, acompanhamento e divulgação. 44 | 45 | 46 | Diego Abadan diego@hipernet.ufsc.br - Envio de 47 | correções significativas, novos endereços de listas de discussão. 48 | 49 | 50 | Alexandre Costa alebyte@bol.com.br - Envio de 51 | centenas de patches ortográficos nas versões Iniciante e Intermediário 52 | do guia que passaram desapercebidas durante várias versões do guia... 53 | 54 | 55 | Christoph Simon ciccio@prestonet.com.br - Pela 56 | pesquisa e a gigantesca coletânea de textos sobre o Linux enviada. Eles 57 | estão sendo muito úteis tanto para mim quanto no desenvolvimento do guia. 58 | 59 | 60 | Gustavo Noronha dockov@zaz.com.br - Vem enviando 61 | freqüentes correções, contribuições construtivas ao desenvolvimento além 62 | de apoio ao desenvolvimento do guia . 63 | Vale a pena destacá-lo por sua atual dedicação junto a distribuição 64 | Debian/GNU, sua tradução e a comunidade Open Source. 65 | 66 | 67 | Pedro Zorzenon Neto pzn@debian.org - Envio de 68 | diversas atualizações para o nível Avançado, principalmente sobre o 69 | firewall iptables. 70 | 71 | 72 | Helio Loureiro helio@loureiro.eng.br - Migração do 73 | guia pro GitHub pra facilitar edição e contribuições, systemd e revisão 74 | geral. 75 | 76 | 77 | Gustavo Soares slot.mg@gmail.com - nginx, nftables, 78 | haproxy. 79 | 80 | 81 | Sergio Clemente sergiotucano@yahoo.com.br - git 82 | e correções. 83 | 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /Iniciante/comandos-arquivo.sgml: -------------------------------------------------------------------------------- 1 | Comandos para manipulação de Arquivos 2 |

3 | Abaixo, comandos utilizados para manipulação de arquivos. 4 | 5 | 6 | cat 7 |

8 | Mostra o conteúdo de um arquivo binário ou texto. 9 |

10 | cat [opções] [diretório/arquivo] [diretório1/arquivo1] 11 |

12 | 14 | diretório/arquivo 15 | 16 | Localização do arquivo que deseja visualizar o conteúdo. 17 | 18 | opções 19 | 20 | -n, --number 21 | 22 | Mostra o número das linhas enquanto o conteúdo do arquivo é mostrado. 23 | 24 | -s, --squeeze-blank 25 | 26 | Não mostra mais que uma linha em branco entre um parágrafo e outro. 27 | 28 | - 29 | 30 | Lê a entrada padrão. 31 | 32 | ]]> 33 | O comando cat trabalha com arquivos texto. Use o comando 34 | zcat para ver diretamente arquivos compactados com 35 | gzip. 36 | 38 | Exemplo: cat /usr/doc/copyright/GPL ]]> 39 | 40 | 41 | tac 42 |

43 | Mostra o conteúdo de um arquivo binário ou texto (como o cat) só 44 | que em ordem inversa. 45 |

46 | tac [opções] [diretório/arquivo] [diretório1/arquivo1] 47 | 49 | 50 | diretório/arquivo 51 | 52 | Localização do arquivo que deseja visualizar o conteúdo 53 | 54 | opções 55 | 56 | -s [string] 57 | 58 | Usa o [string] como separador de registros. 59 | 60 | - 61 | 62 | Lê a entrada padrão. 63 | 64 | ]]> 65 | 67 | Exemplo: tac /usr/doc/copyright/GPL. ]]> 68 | 69 | 70 | rm 71 |

72 | Apaga arquivos. Também pode ser usado para apagar diretórios e sub-diretórios 73 | vazios ou que contenham arquivos. 74 |

75 | rm [opções][caminho][arquivo/diretório] 76 | [caminho1][arquivo1/diretório1] 77 |

78 | 81 | caminho 82 | 83 | Localização do arquivo que deseja apagar. Se omitido, assume que o arquivo 84 | esteja no diretório atual. 85 | 86 | arquivo/diretório 87 | 88 | Arquivo que será apagado. 89 | 90 | opções 91 | 92 | -i, --interactive 93 | 94 | Pergunta antes de remover, esta é ativada por padrão. 95 | 96 | -v, --verbose 97 | 98 | Mostra os arquivos na medida que são removidos. 99 | 100 | -r, --recursive 101 | 102 | Usado para remover arquivos em sub-diretórios. Esta opção também pode ser 103 | usada para remover sub-diretórios. 104 | 105 | -f, --force 106 | 107 | Remove os arquivos sem perguntar. 108 | 109 | -- arquivo 110 | 111 | Remove arquivos/diretórios que contém caracteres especiais. O separador 112 | "--" funciona com todos os comandos do shell e permite que os caracteres 113 | especiais como "*", "?", "-", etc. sejam interpretados como caracteres 114 | comuns. 115 | 116 | 117 | ]]> 118 | Use com atenção o comando rm, uma vez que os arquivos e 119 | diretórios forem apagados, eles não poderão ser mais recuperados. 120 | 122 | Exemplos: 123 | 124 | 125 | rm teste.txt - Apaga o arquivo teste.txt no diretório 126 | atual. 127 | 128 | rm *.txt - Apaga todos os arquivos do diretório atual que 129 | terminam com .txt. 130 | 131 | rm *.txt teste.novo - Apaga todos os arquivos do diretório atual 132 | que terminam com .txt e também o arquivo teste.novo. 133 | 134 | rm -rf /tmp/teste/* - Apaga todos os arquivos e sub-diretórios do 135 | diretório /tmp/teste mas mantém o sub-diretório 136 | /tmp/teste. 137 | 138 | rm -rf /tmp/teste - Apaga todos os arquivos e sub-diretórios do 139 | diretório /tmp/teste, inclusive /tmp/teste. 140 | 141 | rm -f -- --arquivo-- - Remove o arquivo de nome --arquivo--. 142 | ]]> 143 | 144 | 145 | cp 146 |

147 | Copia arquivos. 148 |

149 | cp [opções] [origem] [destino] 150 |

151 | 154 | origem 155 | 156 | Arquivo que será copiado. Podem ser especificados mais de um arquivo para 157 | ser copiado usando "Coringas" (veja ). 158 | 159 | destino 160 | 161 | O caminho ou nome de arquivo onde será copiado. Se o destino for um diretório, 162 | os arquivos de origem serão copiados para dentro do diretório. 163 | 164 | opções 165 | 166 | i, --interactive 167 | 168 | Pergunta antes de substituir um arquivo existente. 169 | 170 | -f, --force 171 | 172 | Não pergunta, substitui todos os arquivos caso já exista. 173 | 174 | -r 175 | 176 | Copia arquivos dos diretórios e subdiretórios da origem para o destino. 177 | É recomendável usar -R ao invés de -r. 178 | 179 | -R, --recursive 180 | 181 | Copia arquivos e sub-diretórios (como a opção -r) e também os arquivos 182 | especiais FIFO e dispositivos. 183 | 184 | -v, --verbose 185 | 186 | Mostra os arquivos enquanto estão sendo copiados. 187 | 188 | -s, --simbolic-link 190 | 191 | Cria link simbólico ao invés de copiar. 192 | 193 | -l, --link 194 | 195 | Faz o link no destino ao invés de copiar os arquivos. 196 | 197 | -p, --preserve 198 | 199 | Preserva atributos do arquivo, se for possível. 200 | 201 | -u, --update 202 | 203 | Copia somente se o arquivo de origem é mais novo que o arquivo de destino ou 204 | quando o arquivo de destino não existe. 205 | 206 | -x 207 | 208 | Não copia arquivos que estão localizados em um sistema de arquivos diferente 209 | de onde a cópia iniciou. 210 | ]]> 211 | 212 | ]]> 213 | O comando cp copia arquivos da ORIGEM para o DESTINO. Ambos 214 | origem e destino terão o mesmo conteúdo após a cópia. 215 | 216 | 218 | Exemplos: 219 | 220 | cp teste.txt teste1.txt 221 | 222 | Copia o arquivo teste.txt para teste1.txt. 223 | 224 | cp teste.txt /tmp 225 | 226 | Copia o arquivo teste.txt para dentro do diretório 227 | /tmp. 228 | 229 | cp * /tmp 230 | 231 | Copia todos os arquivos do diretório atual para /tmp. 232 | 233 | cp /bin/* . 234 | 235 | Copia todos os arquivos do diretório /bin para o diretório 236 | em que nos encontramos no momento. 237 | 238 | cp -R /bin /tmp 239 | 240 | Copia o diretório /bin e todos os arquivos/sub-diretórios 241 | existentes para o diretório /tmp. 242 | 243 | cp -R /bin/* /tmp 244 | 245 | Copia todos os arquivos do diretório /bin (exceto o diretório 246 | /bin) e todos os arquivos/sub-diretórios existentes dentro 247 | dele para /tmp. 248 | 249 | cp -R /bin /tmp 250 | 251 | Copia todos os arquivos e o diretório /bin para /tmp. 252 | 253 | ]]> 254 | 255 | 256 | mv 257 |

258 | Move ou renomeia arquivos e diretórios. 259 | cp mas 260 | o arquivo de origem é apagado após o término da cópia. ]]> 261 |

262 | mv [opções] [origem] [destino] 263 |

264 | 267 | origem 268 | 269 | Arquivo/diretório de origem. 270 | 271 | destino 272 | 273 | Local onde será movido ou novo nome do arquivo/diretório. 274 | 275 | opções 276 | -f, --force 277 | 278 | Substitui o arquivo de destino sem perguntar. 279 | 280 | -i, --interactive 281 | 282 | Pergunta antes de substituir. É o padrão. 283 | 284 | -v, --verbose 285 | 286 | Mostra os arquivos que estão sendo movidos. 287 | 288 | -u, --update 290 | 291 | Move somente arquivos antigos, ou novos arquivos. 292 | ]]> 293 | 294 | ]]> 295 | O comando mv copia um arquivo da ORIGEM para o 296 | DESTINO (semelhante ao cp), mas após a cópia, o 297 | arquivo de ORIGEM é apagado. 298 | 299 | 301 | Exemplos: 302 | 303 | mv teste.txt teste1.txt 304 | 305 | Muda o nome do arquivo teste.txt para teste1.txt. 306 | 307 | mv teste.txt /tmp 308 | 309 | Move o arquivo teste.txt para /tmp. Lembre-se que o arquivo de 310 | origem é apagado após ser movido. 311 | 312 | mv teste.txt teste.new (supondo que teste.new 313 | já exista) 314 | 315 | Copia o arquivo teste.txt por cima de teste.new e 316 | apaga teste.txt após terminar a cópia. 317 | ]]> 318 | 319 | -------------------------------------------------------------------------------- /Iniciante/comandos-diretorio.sgml: -------------------------------------------------------------------------------- 1 | Comandos para manipulação de diretório 2 |

3 | Abaixo comandos úteis para a manipulação de diretórios. 4 | 5 | 6 | ls 7 |

8 | Lista os arquivos de um diretório. 9 |

10 | ls [opções] [caminho/arquivo] [caminho1/arquivo1] ... 11 |

12 | 15 | caminho/arquivo 16 | 17 | Diretório/arquivo que será listado. 18 | 19 | caminho1/arquivo1 20 | 21 | Outro Diretório/arquivo que será listado. Podem ser feitas várias listagens 22 | de uma só vez. 23 | 24 | opções 25 | 26 | -a, --all 27 | 28 | Lista todos os arquivos (inclusive os ocultos) de um diretório. 29 | 30 | -A, --almost-all 31 | 32 | Lista todos os arquivos (inclusive os ocultos) de um diretório, exceto o 33 | diretório atual e o de nível anterior. 34 | 35 | -B, --ignore-backups 36 | 37 | Não lista arquivos que terminam com ~ (Backup). 38 | 39 | --color=PARAM 40 | 41 | Mostra os arquivos em cores diferentes, conforme o tipo de arquivo. PARAM 42 | pode ser: 43 | 44 | 45 | 46 | never - Nunca lista em cores (mesma coisa de não usar o parâmetro 47 | --color). 48 | 49 | always - Sempre lista em cores conforme o tipo de arquivo. 50 | 51 | auto - Somente colore a listagem se estiver em um terminal. 52 | 53 | 54 | -d, --directory 55 | 56 | Lista os nomes dos diretórios ao invés do conteúdo. 57 | 58 | -f 59 | 60 | Não classifica a listagem. 61 | 62 | -F 63 | 64 | Insere um caracter após arquivos executáveis ('*'), diretórios ('/'), 65 | soquete ('='), link simbólico ('@') e pipe ('|'). Seu uso é útil para 66 | identificar de forma fácil tipos de arquivos nas listagens de diretórios. 67 | 68 | -G, --no-group 69 | 70 | Oculta a coluna de grupo do arquivo. 71 | 72 | -h, --human-readable 73 | 74 | Mostra o tamanho dos arquivos em Kbytes, Mbytes, Gbytes. 75 | 76 | -H 77 | 78 | Faz o mesmo que -h, mas usa unidades de 1000 ao invés de 1024 para 79 | especificar Kbytes, Mbytes, Gbytes. 80 | 81 | -l 82 | 83 | Usa o formato longo para listagem de arquivos. Lista as permissões, data de 84 | modificação, donos, grupos, etc. 85 | 86 | -n 87 | 88 | Usa a identificação de usuário e grupo numérica ao invés dos nomes. 89 | 90 | -L, --dereference 91 | 92 | Lista o arquivo original e não o link referente ao arquivo. 93 | 94 | -o 95 | 96 | Usa a listagem longa sem os donos dos arquivos (mesma coisa que -lG). 97 | 98 | -p 99 | 100 | Mesma coisa que -F, mas não inclui o símbolo '*' em arquivos executáveis. Esta 101 | opção é típica de sistemas Linux. 102 | 103 | -R 104 | 105 | Lista diretórios e sub-diretórios recursivamente. 106 | 107 | --full-time 109 | 110 | Lista data e hora completa. 111 | 112 | Classificação da listagem 113 | 114 | A listagem pode ser classificada usando-se as seguintes opções: 115 | 116 | 117 | -f 118 | 119 | Não classifica, e usa -au para listar os arquivos. 120 | 121 | -r 122 | 123 | Inverte a ordem de classificação. 124 | 125 | -c 126 | 127 | Classifica pela data de alteração. 128 | 129 | -X 130 | 131 | Classifica pela extensão. 132 | 133 | -U 134 | 135 | Não classifica, lista os arquivos na ordem do diretório. 136 | 137 | -Z 138 | 139 | Exibe o contexto SELinux de cada arquivo. 140 | 141 | 142 | ]]> 143 | 144 | 145 | ]]> 146 | Uma listagem feita com o comando ls -la normalmente 147 | é mostrada da seguinte maneira: 148 | 149 | -rwxr-xr-- 1 gleydson user 8192 nov 4 16:00 teste 150 | 151 | Abaixo as explicações de cada parte: 152 | 153 | 154 | -rwxr-xr-- 155 | 156 | São as permissões de acesso ao arquivo teste. A primeira letra 157 | (da esquerda) identifica o tipo do arquivo, se tiver um d 158 | é um diretório, se tiver um "-" é um arquivo normal. 159 |

160 | As permissões de acesso é explicada em detalhes em 161 | . 162 | 163 | 1 164 | 165 | Se for um diretório, mostra a quantidade de sub-diretórios 166 | existentes dentro dele. Caso for um arquivo, será 1. 167 | 168 | gleydson 169 | 170 | Nome do dono do arquivo teste. 171 | 172 | user 173 | 174 | Nome do grupo que o arquivo teste pertence. 175 | 176 | 8192 177 | 178 | Tamanho do arquivo (em bytes). 179 | 180 | nov 181 | 182 | Mês da criação/ última modificação do arquivo. 183 | 184 | 4 185 | 186 | Dia que o arquivo foi criado. 187 | 188 | 16:00 189 | 190 | Hora em que o arquivo foi criado/modificado. Se o arquivo foi 191 | criado há mais de um ano, em seu lugar é mostrado o ano da 192 | criação do arquivo. 193 | 194 | teste 195 | 196 | Nome do arquivo. 197 | 198 | 199 | 201 | Exemplos do uso do comando ls: 202 | 203 | 204 | ls - Lista os arquivos do diretório atual. 205 | 206 | ls /bin /sbin - Lista os arquivos do diretório /bin e /sbin 207 | 208 | ls -la /bin - Listagem completa (vertical) dos arquivos do diretório /bin 209 | inclusive os ocultos. 210 | ]]> 211 | 212 | 213 | cd 214 |

215 | Entra em um diretório. Você precisa ter a permissão de execução para 216 | entrar no diretório. 217 |

218 | cd [diretório] 219 | 221 | onde: 222 |

223 | diretório - diretório que deseja entrar. 224 | ]]> 225 | 226 | 228 | Exemplos: 229 | 230 | 231 | Usando cd sem parâmetros ou cd ~, você 232 | retornará ao seu diretório de usuário (diretório home). 233 | 234 | 235 | cd /, retornará ao diretório raíz. 236 | 237 | 238 | cd -, retornará ao diretório anteriormente acessado. 239 | 240 | 241 | cd .., sobe um diretório. 242 | 243 | 244 | cd ../[diretório], sobe um diretório e entra 245 | imediatamente no próximo (por exemplo, quando você está em /usr/sbin 246 | , você digita cd ../bin, o comando cd 247 | retorna um diretório (/usr) e entra imediatamente no 248 | diretório bin (/usr/bin). 249 | ]]> 250 | 251 | 252 | pwd 253 |

254 | Mostra o nome e caminho do diretório atual. 255 |

256 | Você pode usar o comando pwd para verificar em qual diretório se encontra 257 | (caso seu aviso de comandos não mostre isso). 258 | 259 | 260 | mkdir 261 |

262 | Cria um diretório no sistema. 263 | pasta 265 | onde você guarda seus papeis (arquivos). Como uma pessoa organizada, você 266 | utilizará uma pasta para guardar cada tipo de documento, da mesma forma você 267 | pode criar um diretório vendas para guardar seus arquivos 268 | relacionados com vendas naquele local. ]]> 269 |

270 | mkdir [opções] [caminho/diretório] [caminho1/diretório1] 271 |

272 | 276 | caminho 277 | 278 | Caminho onde o diretório será criado. 279 | 280 | diretório 281 | 282 | Nome do diretório que será criado. 283 | 284 | opções: 285 | 286 | -p 287 | 288 | Caso os diretórios dos níveis acima não existam, eles também serão criados. 289 | 290 | --verbose 291 | 292 | Mostra uma mensagem para cada diretório criado. As mensagens de erro serão 293 | mostradas mesmo que esta opção não seja usada. 294 | 295 | ]]> 296 | Para criar um novo diretório, você deve ter permissão de gravação. Por 297 | exemplo, para criar um diretório em /tmp com o nome de teste 298 | que será usado para gravar arquivos de teste, você deve usar o comando 299 | "mkdir /tmp/teste". 300 |

301 | Podem ser criados mais de um diretório com um único comando (mkdir 302 | /tmp/teste /tmp/teste1 /tmp/teste2). 303 | 304 | 305 | rmdir 306 |

307 | Remove um diretório do sistema. 308 | mkdir. O diretório a ser removido deve estar vazio e 310 | você deve ter permissão de gravação para remove-lo. ]]> 311 |

312 | rmdir [caminho/diretório] [caminho1/diretório1] 313 | 315 | onde: 316 | 317 | caminho 318 | 319 | Caminho do diretório que será removido. 320 | diretório 321 | 322 | Nome do diretório que será removido. 323 | 324 | ]]> 325 | É necessário que esteja um nível acima do diretório(s) que será(ão) 326 | removido(s). Para remover diretórios que contenham arquivos, use o comando 327 | rm com a opção -r (para maiores detalhes, veja 328 | ). 329 | 331 | Por exemplo, para remover o diretório /tmp/teste você deve 332 | estar no diretório tmp e executar o comando rmdir teste 333 | . ]]> 334 | 335 | -------------------------------------------------------------------------------- /Iniciante/redir.sgml: -------------------------------------------------------------------------------- 1 | Redirecionamentos e Pipe 2 |

3 | Esta seção explica o funcionamento dos recursos de direcionamento de entrada 4 | e saída do sistema GNU/Linux. 5 | 6 | 7 | > 8 |

9 | Redireciona a saída padrão de um programa/comando/script para algum dispositivo ou 10 | arquivo ao invés do dispositivo de saída padrão (tela). 11 | 13 |

14 | Por exemplo, você pode usar o comando ls para listar arquivos 15 | e usar ls >listagem para enviar a saída do comando para o 16 | arquivo listagem. Use o comando cat para 17 | visualizar o conteúdo do arquivo listagem. 18 |

19 | O mesmo comando pode ser redirecionado para o segundo console 20 | /dev/tty2 usando: 21 | ls >/dev/tty2, o resultado do comando ls será 22 | mostrado no segundo console (pressione ALT e F2 para 23 | mudar para o segundo console e ALT e F1 para retornar 24 | ao primeiro). O mesmo resultado pode ser obtido com o comando 25 | ls 1>/dev/tty2, sendo que o número 1 indica que será 26 | capturada a saída padrão do comando. 27 |

28 | Para redirecionar somente a saída de erros do comando ls, use a 29 | sintaxe: ls 2>/tmp/erros-do-ls 30 | 31 | >> 32 |

33 | Redireciona a saída padrão de um programa/comando/script para algum 34 | dispositivo ou adiciona as linhas ao final de arquivo ao invés do dispositivo de 35 | saída padrão (tela). 36 | . 39 |

40 | Por exemplo, você pode acrescentar a saída do comando ls 41 | ao arquivo listagem do capítulo anterior usando 42 | ls / >>listagem. Use o comando cat para 43 | visualizar o conteúdo do arquivo listagem. 44 | 45 | 46 | < 47 |

48 | Direciona a entrada padrão de arquivo/dispositivo para um comando. 49 | Este comando faz o contrário do anterior, ele envia dados ao comando. 50 |

51 | Você pode usar o comando cat <teste.txt para enviar o conteúdo 52 | do arquivo teste.txt ao comando cat que mostrará seu 53 | conteúdo (é claro que o mesmo resultado pode ser obtido com 54 | cat teste.txt mas este exemplo serviu para mostrar a 55 | funcionalidade do <). 56 | 57 | 58 | << 59 |

60 | Este redirecionamento serve principalmente para marcar o fim de exibição de um 61 | bloco. Este é especialmente usado em conjunto com o comando cat, mas 62 | também tem outras aplicações. Por exemplo: 63 | 64 | cat << final 65 | este arquivo 66 | será mostrado 67 | até que a palavra final seja 68 | localizada no inicio da linha 69 | final 70 | 71 | 72 | 73 | 74 | | (pipe) 75 |

76 | Envia a saída de um comando para a entrada do próximo comando 77 | para continuidade do processamento. Os dados enviados são processados 78 | pelo próximo comando que mostrará o resultado do processamento. 79 |

80 | Por exemplo: ls -la | more, este comando faz a listagem longa de 81 | arquivos que é enviado ao comando more (que tem a função 82 | de efetuar uma pausa a cada 25 linhas do arquivo). 83 |

84 | Outro exemplo é o comando locate find | grep "bin/", neste comando 85 | todos os caminhos/arquivos que contém find na listagem serão 86 | mostrados (inclusive man pages, bibliotecas, etc.), então enviamos 87 | a saída deste comando para grep "bin/" para mostrar somente os 88 | diretórios que contém binários. Mesmo assim a listagem ocupe mais de uma 89 | tela, podemos acrescentar o more: 90 | locate find | grep "bin/" | more. 91 |

92 | Podem ser usados mais de um comando de redirecionamento (<, >, |) em 93 | um mesmo comando. 94 | 95 | 96 | Diferença entre o "|" e o ">" 97 |

98 | A principal diferença entre o "|" e o ">", é que o Pipe envolve 99 | processamento entre comandos, ou seja, a saída de um comando é enviado 100 | a entrada do próximo e o ">" redireciona a saída de um comando para 101 | um arquivo/dispositivo. 102 |

103 | Você pode notar pelo exemplo acima (ls -la | more) que 104 | ambos ls e more são comandos porque estão separados 105 | por um "|". Se um deles não existir ou estiver digitado incorretamente, 106 | será mostrada uma mensagem de erro. 107 |

108 | Um resultado diferente seria obtido usando um ">" no lugar do 109 | "|"; A saída do comando ls -la > more seria gravada em um 110 | arquivo chamado more. 111 | 112 | 113 | tee 114 |

115 | Envia ao mesmo tempo o resultado do programa para a saída padrão (tela) 116 | e para um arquivo. Este comando deve ser usado com o pipe "|". 117 |

118 | comando |tee [arquivo] 119 | 121 | Exemplo: ls -la | tee listagem.txt, a saída do comando 122 | será mostrada normalmente na tela e ao mesmo tempo gravada no arquivo 123 | listagem.txt. ]]> 124 | 125 | -------------------------------------------------------------------------------- /Iniciante/x11.sgml: -------------------------------------------------------------------------------- 1 | X Window (ambiente gráfico) 2 |

3 | Este capítulo do guia traz explicações sobre o ambiente gráfico X Window System. 4 | 5 | 6 | O que é X Window? 7 |

8 | É um sistema gráfico de janelas que roda em uma grande faixa de 9 | computadores, máquinas gráficas e diferentes tipos de máquinas e 10 | plataformas Unix. Pode tanto ser executado em máquinas locais como 11 | remotas através de conexão em rede. 12 | 13 | 14 | A organização do ambiente gráfico X Window 15 |

16 | Em geral o ambiente gráfico X Window é dividido da seguinte forma: 17 | 18 | 19 | O Servidor X - É o programa que controla a exibição dos gráficos 20 | na tela, mouse e teclado. Ele se comunica com os programas cliente através 21 | de diversos métodos de comunicação. 22 |

23 | O servidor X pode ser executado na mesma máquina que o programa cliente 24 | esta sendo executado de forma transparente ou através de uma máquina 25 | remota na rede. 26 | 27 | 28 | O gerenciador de Janelas - É o programa que controla a aparência da 29 | aplicação. Os gerenciadores de janelas (window managers) são programas que 30 | atuam entre o servidor X e a aplicação. Você pode alternar de um gerenciador 31 | para outro sem fechar seus aplicativos. 32 |

33 | Existem vários tipos de gerenciadores de janelas disponíveis no mercado 34 | entre os mais conhecidos posso citar o Window Maker (feito por 35 | um Brasileiro), o After Step, Gnome, 36 | KDE, twm (este vem por padrão quando o 37 | servidor X é instalado), Enlightenment, IceWm, etc. 38 |

39 | A escolha do seu gerenciador de janelas é pessoal, depende muito do gosto de 40 | cada pessoa e dos recursos que deseja utilizar. 41 | 42 | 43 | A aplicação cliente - É o programa sendo executado. 44 | 45 | Esta organização do ambiente gráfico X traz grandes vantagens de gerenciamento 46 | e recursos no ambiente gráfico UNIX, uma vez que tem estes recursos você pode 47 | executar seus programas em computadores remotos, mudar totalmente a aparência 48 | de um programa sem ter que fecha-lo (através da mudança do gerenciador de 49 | janelas), etc. 50 | 51 | 52 | Iniciando o X 53 |

54 | O sistema gráfico X pode ser iniciado de duas maneiras: 55 | 56 | 57 | Automática - Usando um gerenciador de seção como xdm, 58 | gdm ou wdm que apresenta uma tela pedindo nome e 59 | senha para entrar no sistema (login). Após entrar no sistema, o X executará 60 | um dos gerenciadores de janelas configurados. 61 | 62 | 63 | Manual - Através do comando startx, ou 64 | xinit 65 | startx e xstart 66 | são scripts que fazem uma configuração completa do ambiente e em algumas 67 | distribuições também o procedimento de configuração de autenticação do 68 | ambiente antes de executar o xinit) ]]>. 69 | 70 | Neste caso o usuário deve entrar com seu nome e senha para entrar 71 | no modo texto e então executar um dos comandos acima. 72 | Após executar um dos comandos acima, o servidor X será iniciado e 73 | executará um dos gerenciadores de janelas configurados no sistema. 74 | 75 | 76 | 77 | Servidor X 78 |

79 | Como dito acima, o servidor X controla o teclado, mouse e a exibição dos 80 | gráficos em sua tela. Para ser executado, precisa ser configurado através 81 | do arquivo 82 | /etc/X11/xorg.conf, usando dpkg-reconfigure xserver-xorg, ]]> 83 | ou usando o utilitário xf86cfg (modo texto). 84 |

85 | A finalização do servidor X é feita através do pressionamento simultâneo 86 | das teclas CTRL, ALT, Back Space. O servidor X é 87 | imediatamente terminado e todos os gerenciadores de janelas e programas 88 | clientes são fechados. 89 |

90 | CUIDADO: Sempre utilize a opção de saída de seu gerenciador de janelas 91 | para encerrar normalmente uma seção X11 e salve os trabalhos que estiver 92 | fazendo antes de finalizar uma seção X11. A finalização do servidor X 93 | deve ser feita em caso de emergência quando não se sabe o que fazer 94 | para sair de um gerenciador de janelas ou de um programa mal comportado. 95 | 97 | Recomendo fazer a leitura de caso estiver 98 | em dúvidas de como finalizar um programa mal comportado ou que não sabe 99 | como sair. ]]> 100 | 101 | -------------------------------------------------------------------------------- /Intermediario/compilacao.sgml: -------------------------------------------------------------------------------- 1 | Compilação 2 |

3 | Este capítulo explica o que é compilação, os principais compiladores e 4 | como compilar programas e principalmente o Kernel do GNU/Linux 5 | com o objetivo de personaliza-lo de acordo com os dispositivos usados 6 | em seu computador e/ou os recursos que planeja utilizar. 7 | 8 | 9 | O que é compilação? 10 |

11 | É a transformação de um programa em código fonte (programa escrito pelo 12 | programador) em linguagem de máquina (programa executável). 13 | 15 | Existem centenas de linguagens de programação diferentes umas 16 | das outras, cada uma oferece recursos específicos para atender 17 | melhor uma necessidade ou características particulares, algumas 18 | são voltadas para bancos de dados, outras somente para a criação 19 | de interfaces comunicação (front-ends), aprendizado, etc. 20 | Cada linguagem de programação possui comandos específicos que desempenham 21 | alguma função, mas todas trabalham com variáveis de memória para a 22 | manipulação de dados de entrada/processamento. ]]> 23 | 24 | 25 | Compilador 26 |

27 | É o programa que converte o programa feito pelo programador em 28 | linguagem de máquina. Após o processo de compilação o programa 29 | estará pronto para ser executado como um arquivo binário. 30 |

31 | Existem muitos compiladores no ambiente GNU/Linux, um 32 | dos mais usados é o gcc, o compilador para linguagem C. 33 | 34 | 35 | Descrição das opções de compilação do kernel 38 |

39 | Esta seção descreve detalhadamente o significado de cada uma das opções 40 | de compilação do kernel GNU/Linux durante o passo 41 | de compilação. As explicações são feitas usando o método de 42 | seleção em modo texto make config, mas você não encontrará 43 | dificuldades para converte-las para make menuconfig ou 44 | make xconfig, o modo make config funciona em 45 | qualquer situação. 46 |

47 | O objetivo principal desta seção é esclarecer dúvidas sobre o que 48 | significa cada opção e ajuda-lo a decidir sobre o que precisa para 49 | compilar seu kernel personalizado. O código fonte usado 50 | é o 2.2.15 e as opções apresentadas aqui podem ser diferentes ou 51 | simplesmente não existir em outras versões do kernel. 52 |

53 | Para selecionar alternativas, você pode usar S,N,M ou ?: 54 | 55 | 56 | Y inclui o suporte ao kernel (compilado diretamente no kernel) 57 | 58 | N o suporte ao dispositivo não será incluído 59 | 60 | M o suporte será incluído como módulo (que poderá ser carregado e 61 | descarregado da memória automaticamente ou manualmente, veja 62 | ) 63 | 64 | ? mostra uma tela de ajuda com explicações básicas sobre a questão. 65 | 66 | Mesmo se você tenha um kernel estável (com um número central par - 2.6.xx.xx por 67 | exemplo), a primeira pergunta é se deseja incluir suporte a dispositivos 68 | experimentais. Isto não significa que ativando isto derrubará seu sistema ou 69 | coisa do tipo, mas que ainda não foram totalmente integrados ao kernel ou não 70 | ativam todas as funções requisitadas. O kernel possui métodos para lidar com 71 | instabilidades no sistema. 72 | 73 | ]]> 74 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | PACKAGES := index.html 2 | PACKAGES += index.pdf 3 | PACKAGES += index.dvi 4 | 5 | SRC := index.sgml 6 | SRC += Iniciante/ajuda.sgml 7 | SRC += Iniciante/apendice.sgml 8 | SRC += Iniciante/basico.sgml 9 | SRC += Iniciante/comandos-arquivo.sgml 10 | SRC += Iniciante/comandos-contas.sgml 11 | SRC += Iniciante/comandos-diretorio.sgml 12 | SRC += Iniciante/comandos-diversos.sgml 13 | SRC += Iniciante/comandos-rede.sgml 14 | SRC += Iniciante/configurando.sgml 15 | SRC += Iniciante/discos.sgml 16 | SRC += Iniciante/impressao.sgml 17 | SRC += Iniciante/introducao.sgml 18 | SRC += Iniciante/migrando.sgml 19 | SRC += Iniciante/permissoes.sgml 20 | SRC += Iniciante/redir.sgml 21 | SRC += Iniciante/run.sgml 22 | SRC += Iniciante/x11.sgml 23 | SRC += Intermediario/aplicativos.sgml 24 | SRC += Intermediario/bootloaders.sgml 25 | SRC += Intermediario/compactadores.sgml 26 | SRC += Intermediario/compilacao.sgml 27 | SRC += Intermediario/debian.sgml 28 | SRC += Intermediario/dpkg.sgml 29 | SRC += Intermediario/etc.sgml 30 | SRC += Intermediario/hardware.sgml 31 | SRC += Intermediario/internet.sgml 32 | SRC += Intermediario/kernel.sgml 33 | SRC += Intermediario/log.sgml 34 | SRC += Intermediario/manutencao.sgml 35 | SRC += Intermediario/personalizacao.sgml 36 | SRC += Intermediario/rede.sgml 37 | SRC += Intermediario/tasks.sgml 38 | SRC += Avancado/apache/Apache-acesso.sgml 39 | SRC += Avancado/apache/Apache-DSO.sgml 40 | SRC += Avancado/apache/Apache-errordocument.sgml 41 | SRC += Avancado/apache/Apache-exemplo.sgml 42 | SRC += Avancado/apache/Apache-INDEX.sgml 43 | SRC += Avancado/apache/Apache-Introducao.sgml 44 | SRC += Avancado/apache/Apache-log.sgml 45 | SRC += Avancado/apache/Apache-proxy.sgml 46 | SRC += Avancado/apache/Apache-ssl.sgml 47 | SRC += Avancado/apache/Apache-vhosts.sgml 48 | SRC += Avancado/apache/http-codigos.sgml 49 | SRC += Avancado/conf-rede/CFGRede-INDEX.sgml 50 | SRC += Avancado/conf-rede/CFGRede-Introducao.sgml 51 | SRC += Avancado/criptografia/Cripto-INDEX.sgml 52 | SRC += Avancado/criptografia/Cripto-Introducao.sgml 53 | SRC += Avancado/cvs/CVS-Cliente.sgml 54 | SRC += Avancado/cvs/CVS-CVSROOT.sgml 55 | SRC += Avancado/cvs/CVS-Exemplo.sgml 56 | SRC += Avancado/cvs/CVS-INDEX.sgml 57 | SRC += Avancado/cvs/CVS-Introducao.sgml 58 | SRC += Avancado/cvs/CVS-Projeto.sgml 59 | SRC += Avancado/cvs/CVS-Servidor.sgml 60 | SRC += Avancado/gerenc-contas/contas-INDEX.sgml 61 | SRC += Avancado/gerenc-contas/contas-Introducao.sgml 62 | SRC += Avancado/git/git-doc.sgml 63 | SRC += Avancado/git/git-INDEX.sgml 64 | SRC += Avancado/identd/Ident-INDEX.sgml 65 | SRC += Avancado/identd/Ident-Introducao.sgml 66 | SRC += Avancado/iptables-firewall/iptables-chains.sgml 67 | SRC += Avancado/iptables-firewall/iptables-exemplo.sgml 68 | SRC += Avancado/iptables-firewall/iptables-INDEX.sgml 69 | SRC += Avancado/iptables-firewall/iptables-Introducao.sgml 70 | SRC += Avancado/iptables-firewall/iptables-mangle.sgml 71 | SRC += Avancado/iptables-firewall/iptables-matches.sgml 72 | SRC += Avancado/iptables-firewall/iptables-nat.sgml 73 | SRC += Avancado/iptables-firewall/iptables-outras-opcoes.sgml 74 | SRC += Avancado/iptables-firewall/iptables-path.sgml 75 | SRC += Avancado/pop3/pop3-INDEX.sgml 76 | SRC += Avancado/pop3/pop3-Introducao.sgml 77 | SRC += Avancado/restr-seguranca/restricoes-INDEX.sgml 78 | SRC += Avancado/restr-seguranca/restricoes-Introducao.sgml 79 | SRC += Avancado/samba/SAMBA-acesso.sgml 80 | SRC += Avancado/samba/SAMBA-Arquivo.sgml 81 | SRC += Avancado/samba/SAMBA-Cliente.sgml 82 | SRC += Avancado/samba/SAMBA-Dominio.sgml 83 | SRC += Avancado/samba/SAMBA-exemplo.sgml 84 | SRC += Avancado/samba/SAMBA-impressao.sgml 85 | SRC += Avancado/samba/SAMBA-INDEX.sgml 86 | SRC += Avancado/samba/SAMBA-Introducao.sgml 87 | SRC += Avancado/samba/SAMBA-NameResolv.sgml 88 | SRC += Avancado/samba/SAMBA-senhas.sgml 89 | SRC += Avancado/samba/SAMBA-Servidor.sgml 90 | SRC += Avancado/samba/SAMBA-Timeserver.sgml 91 | SRC += Avancado/samba/SAMBA-uidmap.sgml 92 | SRC += Avancado/samba/SAMBA-Workgroup.sgml 93 | SRC += Avancado/ssh/ssh-clientes.sgml 94 | SRC += Avancado/ssh/ssh-INDEX.sgml 95 | SRC += Avancado/ssh/ssh-Introducao.sgml 96 | SRC += Avancado/ssh/ssh-servidor.sgml 97 | SRC += Avancado/systemd/systemd-doc.sgml 98 | SRC += Avancado/systemd/systemd-INDEX.sgml 99 | SRC += Avancado/telnet/telnet-INDEX.sgml 100 | SRC += Avancado/telnet/telnet-Introducao.sgml 101 | 102 | 103 | # Em caso de erros com o babel e latex, 104 | # Instale o suporte ao português com (Ubuntu) 105 | # sudo apt-get install texlive-lang-portuguese 106 | 107 | OUTPUT_DIR=output 108 | INDEX=index.sgml 109 | COMMON=-l pt_BR.UTF-8 110 | CHTML=${COMMON} -b ${OUTPUT_DIR} ${INDEX} 111 | CDVIPDF=${COMMON} -O ${INDEX} 112 | 113 | all: $(PACKAGES) 114 | 115 | index.html: html 116 | 117 | html: $(SRC) output 118 | debiandoc2html ${CHTML} 119 | if [ -d "${OUTPUT_DIR}/html" ]; then rm -rf ${OUTPUT_DIR}/html; fi 120 | mv ${OUTPUT_DIR}.html ${OUTPUT_DIR}/html 121 | 122 | index.pdf: $(SRC) output 123 | debiandoc2pdf ${CDVIPDF} > ${OUTPUT_DIR}/$@ 124 | debiandoc2pdf ${CDVIPDF} > ${OUTPUT_DIR}/$@ 125 | 126 | index.dvi: $(SRC) output 127 | debiandoc2dvi ${CDVIPDF} > ${OUTPUT_DIR}/$@ 128 | debiandoc2dvi ${CDVIPDF} > ${OUTPUT_DIR}/$@ 129 | 130 | output: 131 | mkdir -p output 132 | 133 | clean: 134 | rm -rf output* *.aux *.log *.out *.tex *.toc *.tpt *.log $(PACKAGES) 135 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # << CANCELADO >> guiafocalinux 2 | Guia Foca Linux - CANCELADO 3 | =========================================== 4 | 5 | Com o lançamento do repositório oficial do guia foca linux, não faz mais sentido 6 | manter esse fork aqui, cujo objetivo era contribuir pro guia oficial. 7 | 8 | Agradeço a todas as contribuições e espero que continuem da mesma forma 9 | envirando pull requests pro guia oficial. 10 | 11 | * Guia foca linux https://github.com/guiafoca/focalinux 12 | -------------------------------------------------------------------------------- /compil/index.sgml: -------------------------------------------------------------------------------- 1 | 4 | %dinamic; 5 | %definicoes; 6 | %urldata; 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | %cfgrede; 48 | %apache; 49 | %iptables; 50 | %contas; 51 | %restricoes; 52 | %criptografia; 53 | %ident; 54 | %telnet; 55 | %ssh; 56 | %pop3; 57 | %cvs; 58 | %samba; 59 | 60 | 75 | ]> 76 | 77 | 78 | 79 | 80 | 81 | Guia Foca GNU/Linux 82 | 83 | Gleydson Mazioli da Silva 84 | gleydson@guiafoca.org 85 | 86 | Versão &VERSAO; - &DATADOC; 87 | 88 | 89 | Este documento tem por objetivo ser uma referência ao aprendizado do 90 | usuário e um guia de consulta, operação e configuração de sistemas Linux 91 | (e outros tipos de *ix). A última versão deste guia pode ser encontrada 92 | na . 93 | Novas versões são lançadas com uma freqüência mensal e você pode receber 94 | avisos de novos lançamentos deste guia preenchendo um formulário na página 95 | Web. 96 | 97 | 98 | 99 | 100 | Copyleft © &ULTIMOANO; - Gleydson Mazioli da Silva. 101 | 102 |

103 | Permission is granted to copy, distribute and/or modify this document 104 | under the terms of the GNU Free Documentation License, Version 1.1 105 | or any later version published by the Free Software Foundation; 106 | A copy of the license is included in the section entitled "GNU 107 | Free Documentation License". 108 | 109 | 110 | 111 | 113 | 114 | &introducao; 115 | &basico; 116 | 117 | &s-telnet1; 118 | &apendice; 119 | 120 | 121 | -------------------------------------------------------------------------------- /compil/index.toc: -------------------------------------------------------------------------------- 1 | \select@language {brazilian} 2 | \contentsline {chapter}{\numberline {1}Introdu\c c\~ao}{1}{chapter.1} 3 | \contentsline {section}{\numberline {1.1}Considera\c c\~oes sobre o n\IeC {\'\i }vel Avan\c cado}{2}{section.1.1} 4 | \contentsline {section}{\numberline {1.2}Pr\'e-requisitos para a utiliza\c c\~ao deste guia}{2}{section.1.2} 5 | \contentsline {section}{\numberline {1.3}O Linux}{2}{section.1.3} 6 | \contentsline {subsection}{\numberline {1.3.1}Algumas Caracter\IeC {\'\i }sticas do Linux}{3}{subsection.1.3.1} 7 | \contentsline {chapter}{\numberline {2}Explica\c c\~oes B\'asicas}{7}{chapter.2} 8 | \contentsline {section}{\numberline {2.1}Monitorando os logs}{7}{section.2.1} 9 | \contentsline {subsection}{\numberline {2.1.1}Destruindo arquivos/parti\c c\~oes de forma segura}{7}{subsection.2.1.1} 10 | \contentsline {section}{\numberline {2.2}Curingas}{8}{section.2.2} 11 | \contentsline {chapter}{\numberline {3}Servidor telnet}{11}{chapter.3} 12 | \contentsline {section}{\numberline {3.1}Introdu\c c\~ao}{11}{section.3.1} 13 | \contentsline {subsection}{\numberline {3.1.1}Vers\~ao}{11}{subsection.3.1.1} 14 | \contentsline {subsection}{\numberline {3.1.2}Caracter\IeC {\'\i }sticas}{11}{subsection.3.1.2} 15 | \contentsline {subsection}{\numberline {3.1.3}Ficha t\'ecnica}{12}{subsection.3.1.3} 16 | \contentsline {subsection}{\numberline {3.1.4}Requerimentos de Hardware}{12}{subsection.3.1.4} 17 | \contentsline {subsection}{\numberline {3.1.5}Arquivos de log criados pelo servidor telnet}{12}{subsection.3.1.5} 18 | \contentsline {subsection}{\numberline {3.1.6}Instala\c c\~ao}{12}{subsection.3.1.6} 19 | \contentsline {subsection}{\numberline {3.1.7}Iniciando o servidor/reiniciando/recarregando a configura\c c\~ao}{12}{subsection.3.1.7} 20 | \contentsline {subsection}{\numberline {3.1.8}Op\c c\~oes de linha de comando}{13}{subsection.3.1.8} 21 | \contentsline {section}{\numberline {3.2}Controle de acesso}{13}{section.3.2} 22 | \contentsline {section}{\numberline {3.3}Recomenda\c c\~oes}{13}{section.3.3} 23 | \contentsline {section}{\numberline {3.4}Fazendo conex\~oes ao servidor telnet}{14}{section.3.4} 24 | \contentsline {chapter}{\numberline {4}Ap\^endice}{15}{chapter.4} 25 | \contentsline {section}{\numberline {4.1}Sobre este guia}{15}{section.4.1} 26 | \contentsline {section}{\numberline {4.2}Sobre o Autor}{16}{section.4.2} 27 | \contentsline {section}{\numberline {4.3}Refer\^encias de aux\IeC {\'\i }lio ao desenvolvimento do guia}{16}{section.4.3} 28 | \contentsline {section}{\numberline {4.4}Onde encontrar a vers\~ao mais nova do guia?}{17}{section.4.4} 29 | \contentsline {section}{\numberline {4.5}Colaboradores do Guia}{17}{section.4.5} 30 | \contentsline {section}{\numberline {4.6}Marcas Registradas}{18}{section.4.6} 31 | \contentsline {section}{\numberline {4.7}Futuras vers\~oes}{18}{section.4.7} 32 | \contentsline {section}{\numberline {4.8}Chave P\'ublica PGP}{19}{section.4.8} 33 | -------------------------------------------------------------------------------- /dinamicas.ent: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /images/body-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/images/body-bg.jpg -------------------------------------------------------------------------------- /images/download-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/images/download-button.png -------------------------------------------------------------------------------- /images/github-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/images/github-button.png -------------------------------------------------------------------------------- /images/header-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/images/header-bg.jpg -------------------------------------------------------------------------------- /images/highlight-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/images/highlight-bg.jpg -------------------------------------------------------------------------------- /images/keep_calm_leia_guia_foca_linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/images/keep_calm_leia_guia_foca_linux.png -------------------------------------------------------------------------------- /images/sidebar-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/images/sidebar-bg.jpg -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | Projeto cancelado 17 | 18 | 19 | 20 |

21 |
22 |

Projecto CANCELAD)

23 |

Com o lançamento do repositório oficial do guia foca linux, esse repositório entrou em congelamento pra ser removido.

24 |
25 |
26 | 27 |
28 |
29 |
30 |

31 | Projeto CANCELADO 32 |

33 |

Agradeço a todos que contribuiram com o projeto de tocar um fork do guia foca linux, mas como o mesmo criou seu repositório oficial, não há mais motivo 34 | pra manter esse fork (que tinha por objetivo enviar as atualizações pro guia oficial).

35 |

O repositório será mantido por alguma tempo mas eventualmente será totalmente removido.

36 |

Usem o repositório oficial: guia foca linux 37 |

38 |
39 |
40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /index.sgml: -------------------------------------------------------------------------------- 1 | 4 | %dinamic; 5 | %definicoes; 6 | %urldata; 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | %apache; 48 | %cfgrede; 49 | %iptables; 50 | %contas; 51 | %restricoes; 52 | %criptografia; 53 | %ident; 54 | %telnet; 55 | %ssh; 56 | %pop3; 57 | %cvs; 58 | %samba; 59 | %git; 60 | %systemd; 61 | %nginx; 62 | 63 | %nftables; 64 | 65 | %haproxy; 66 | 68 | %virtualizacao; 69 | 84 | ]> 85 | 86 | 87 | 88 | 89 | 90 | Guia Foca GNU/Linux 91 | 92 | Gleydson Mazioli da Silva 93 | gleydson@guiafoca.org 94 | 95 | Versão &VERSAO; - &DATADOC; 96 | 97 | 98 | Este documento tem por objetivo ser uma referência ao aprendizado do 99 | usuário e um guia de consulta, operação e configuração de sistemas Linux 100 | (e outros tipos de *ix). A última versão deste guia pode ser encontrada 101 | na . 102 | Novas versões são lançadas com uma freqüência mensal e você pode receber 103 | avisos de novos lançamentos deste guia preenchendo um formulário na página 104 | Web. 105 | 106 | 107 | 108 | 109 | Copyright © 1999-&ULTIMOANO; - Gleydson Mazioli da Silva. 110 | 111 |

112 | Permission is granted to copy, distribute and/or modify this document 113 | under the terms of the GNU Free Documentation License, Version 1.2 114 | published by the Free Software Foundation; 115 | A copy of the license is included in the section entitled "GNU 116 | Free Documentation License". 117 | 118 | 119 | 120 | 122 | 123 | &introducao; 124 | &basico; 125 | &hardware; 126 | &migrando; 127 | &discos; 128 | &bootloaders; 129 | &run; 130 | &comandos-diretorio; 131 | &comandos-arquivo; 132 | &comandos-diversos; 133 | &comandos-rede; 134 | &comandos-contas; 135 | &permissoes; 136 | &redir; 137 | &rede; 138 | &d-cfgrede1; 139 | &kernel; 140 | &log; 141 | &compactadores; 142 | &debian; 143 | &dpkg; 144 | &personalizacao; 145 | &impressao; 146 | &configurando; 147 | &tasks; 148 | &compilacao; 149 | &manutencao; 150 | &etc; 151 | &internet; 152 | &x11; 153 | 154 | &fw-iptables1; &fw-iptables2; &fw-iptables3; &fw-iptables4; &fw-iptables5; \ 155 | &fw-iptables6; &fw-iptables7; &fw-iptables8; 156 | &d-contas1; 157 | &s-apache1; &s-apache2; &s-apache3; &s-apache4; &s-apache5; &s-apache6; \ 158 | &s-apache7; &s-apache8; &s-apache9; &s-apache10; 159 | 160 | 161 | &s-ident1; 162 | &s-telnet1; 163 | &s-ssh1; &s-ssh2; &s-ssh3; 164 | &s-pop3-1; 165 | &s-cvs1; &s-cvs2; &s-cvs3; &s-cvs4; &s-cvs5; &s-cvs6; 166 | &s-samba1; &s-samba2; &s-samba3; &s-samba4; &s-samba5; &s-samba6; &s-samba7; \ 167 | &s-samba8; &s-samba9; &s-samba10; &s-samba11; &s-samba12; &s-samba13; 168 | &d-restricoes1; 169 | &d-cripto1; 170 | 172 | &aplicativos; 173 | &ajuda; 174 | &s-systemd; 175 | &s-git; 176 | &s-nginx1; &s-nginx2; &s-nginx3; &s-nginx4; &s-nginx5; 177 | &s-haproxy1; &s-haproxy2; 178 | &s-nftables1; &s-nftables2; &s-nftables3; &s-nftables4; &s-nftables5; 179 | &s-virtualizacao1; &s-virtualizacao2; &s-virtualizacao3; 180 | &apendice; 181 | 182 | -------------------------------------------------------------------------------- /javascripts/main.js: -------------------------------------------------------------------------------- 1 | console.log('This would be the main JS file.'); 2 | -------------------------------------------------------------------------------- /output/index.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helioloureiro/guiafocalinux/5cdef2c6973ed4cbed6992aee209d6ee8e9c8d0b/output/index.pdf -------------------------------------------------------------------------------- /padroes.ent: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 20 | ]]> 21 | ]]> 22 | 23 | 24 | ]]> 25 | ]]> 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | ]]> 46 | ]]> 47 | ]]> 48 | -------------------------------------------------------------------------------- /params.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Guia Foca GNU/Linux", 3 | "tagline": "Guia Foca GNU/Linux - muito melhor que o guia dos mochileiros das galáxias", 4 | "body": "### Bem-vindo à página GitHub de updates do Guia Foca GNU/Linux\r\nAqui está disponível o guia online com as última atualizações.\r\n\r\n### Designer Templates\r\nWe’ve crafted some handsome templates for you to use. Go ahead and click 'Continue to layouts' to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved.\r\n\r\n### Creating pages manually\r\nIf you prefer to not use the automatic generator, push a branch named `gh-pages` to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.\r\n\r\n### Authors and Contributors\r\nYou can @mention a GitHub username to generate a link to their profile. The resulting `` element will link to the contributor’s GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.\r\n\r\n### Support or Contact\r\nHaving trouble with Pages? Check out our [documentation](https://help.github.com/pages) or [contact support](https://github.com/contact) and we’ll help you sort it out.\r\n", 5 | "note": "Don't delete this file! It's used internally to help with page regeneration." 6 | } -------------------------------------------------------------------------------- /stylesheets/github-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2016 GitHub, Inc. 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | 24 | */ 25 | 26 | .pl-c /* comment */ { 27 | color: #969896; 28 | } 29 | 30 | .pl-c1 /* constant, variable.other.constant, support, meta.property-name, support.constant, support.variable, meta.module-reference, markup.raw, meta.diff.header */, 31 | .pl-s .pl-v /* string variable */ { 32 | color: #0086b3; 33 | } 34 | 35 | .pl-e /* entity */, 36 | .pl-en /* entity.name */ { 37 | color: #795da3; 38 | } 39 | 40 | .pl-smi /* variable.parameter.function, storage.modifier.package, storage.modifier.import, storage.type.java, variable.other */, 41 | .pl-s .pl-s1 /* string source */ { 42 | color: #333; 43 | } 44 | 45 | .pl-ent /* entity.name.tag */ { 46 | color: #63a35c; 47 | } 48 | 49 | .pl-k /* keyword, storage, storage.type */ { 50 | color: #a71d5d; 51 | } 52 | 53 | .pl-s /* string */, 54 | .pl-pds /* punctuation.definition.string, string.regexp.character-class */, 55 | .pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */, 56 | .pl-sr /* string.regexp */, 57 | .pl-sr .pl-cce /* string.regexp constant.character.escape */, 58 | .pl-sr .pl-sre /* string.regexp source.ruby.embedded */, 59 | .pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */ { 60 | color: #183691; 61 | } 62 | 63 | .pl-v /* variable */ { 64 | color: #ed6a43; 65 | } 66 | 67 | .pl-id /* invalid.deprecated */ { 68 | color: #b52a1d; 69 | } 70 | 71 | .pl-ii /* invalid.illegal */ { 72 | color: #f8f8f8; 73 | background-color: #b52a1d; 74 | } 75 | 76 | .pl-sr .pl-cce /* string.regexp constant.character.escape */ { 77 | font-weight: bold; 78 | color: #63a35c; 79 | } 80 | 81 | .pl-ml /* markup.list */ { 82 | color: #693a17; 83 | } 84 | 85 | .pl-mh /* markup.heading */, 86 | .pl-mh .pl-en /* markup.heading entity.name */, 87 | .pl-ms /* meta.separator */ { 88 | font-weight: bold; 89 | color: #1d3e81; 90 | } 91 | 92 | .pl-mq /* markup.quote */ { 93 | color: #008080; 94 | } 95 | 96 | .pl-mi /* markup.italic */ { 97 | font-style: italic; 98 | color: #333; 99 | } 100 | 101 | .pl-mb /* markup.bold */ { 102 | font-weight: bold; 103 | color: #333; 104 | } 105 | 106 | .pl-md /* markup.deleted, meta.diff.header.from-file */ { 107 | color: #bd2c00; 108 | background-color: #ffecec; 109 | } 110 | 111 | .pl-mi1 /* markup.inserted, meta.diff.header.to-file */ { 112 | color: #55a532; 113 | background-color: #eaffea; 114 | } 115 | 116 | .pl-mdr /* meta.diff.range */ { 117 | font-weight: bold; 118 | color: #795da3; 119 | } 120 | 121 | .pl-mo /* meta.output */ { 122 | color: #1d3e81; 123 | } 124 | 125 | -------------------------------------------------------------------------------- /stylesheets/print.css: -------------------------------------------------------------------------------- 1 | html, body, div, span, applet, object, iframe, 2 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 3 | a, abbr, acronym, address, big, cite, code, 4 | del, dfn, em, img, ins, kbd, q, s, samp, 5 | small, strike, strong, sub, sup, tt, var, 6 | b, u, i, center, 7 | dl, dt, dd, ol, ul, li, 8 | fieldset, form, label, legend, 9 | table, caption, tbody, tfoot, thead, tr, th, td, 10 | article, aside, canvas, details, embed, 11 | figure, figcaption, footer, header, hgroup, 12 | menu, nav, output, ruby, section, summary, 13 | time, mark, audio, video { 14 | padding: 0; 15 | margin: 0; 16 | font: inherit; 17 | font-size: 100%; 18 | vertical-align: baseline; 19 | border: 0; 20 | } 21 | /* HTML5 display-role reset for older browsers */ 22 | article, aside, details, figcaption, figure, 23 | footer, header, hgroup, menu, nav, section { 24 | display: block; 25 | } 26 | body { 27 | line-height: 1; 28 | } 29 | ol, ul { 30 | list-style: none; 31 | } 32 | blockquote, q { 33 | quotes: none; 34 | } 35 | blockquote:before, blockquote:after, 36 | q:before, q:after { 37 | content: ''; 38 | content: none; 39 | } 40 | table { 41 | border-spacing: 0; 42 | border-collapse: collapse; 43 | } 44 | body { 45 | font-family: 'Helvetica Neue', Helvetica, Arial, serif; 46 | font-size: 13px; 47 | line-height: 1.5; 48 | color: #000; 49 | } 50 | 51 | a { 52 | font-weight: bold; 53 | color: #d5000d; 54 | } 55 | 56 | header { 57 | padding-top: 35px; 58 | padding-bottom: 10px; 59 | } 60 | 61 | header h1 { 62 | font-size: 48px; 63 | font-weight: bold; 64 | line-height: 1.2; 65 | color: #303030; 66 | letter-spacing: -1px; 67 | } 68 | 69 | header h2 { 70 | font-size: 24px; 71 | font-weight: normal; 72 | line-height: 1.3; 73 | color: #aaa; 74 | letter-spacing: -1px; 75 | } 76 | #downloads { 77 | display: none; 78 | } 79 | #main_content { 80 | padding-top: 20px; 81 | } 82 | 83 | code, pre { 84 | margin-bottom: 30px; 85 | font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; 86 | font-size: 12px; 87 | color: #222; 88 | } 89 | 90 | code { 91 | padding: 0 3px; 92 | } 93 | 94 | pre { 95 | padding: 20px; 96 | overflow: auto; 97 | border: solid 1px #ddd; 98 | } 99 | pre code { 100 | padding: 0; 101 | } 102 | 103 | ul, ol, dl { 104 | margin-bottom: 20px; 105 | } 106 | 107 | 108 | /* COMMON STYLES */ 109 | 110 | table { 111 | width: 100%; 112 | border: 1px solid #ebebeb; 113 | } 114 | 115 | th { 116 | font-weight: 500; 117 | } 118 | 119 | td { 120 | font-weight: 300; 121 | text-align: center; 122 | border: 1px solid #ebebeb; 123 | } 124 | 125 | form { 126 | padding: 20px; 127 | background: #f2f2f2; 128 | 129 | } 130 | 131 | 132 | /* GENERAL ELEMENT TYPE STYLES */ 133 | 134 | h1 { 135 | font-size: 2.8em; 136 | } 137 | 138 | h2 { 139 | margin-bottom: 8px; 140 | font-size: 22px; 141 | font-weight: bold; 142 | color: #303030; 143 | } 144 | 145 | h3 { 146 | margin-bottom: 8px; 147 | font-size: 18px; 148 | font-weight: bold; 149 | color: #d5000d; 150 | } 151 | 152 | h4 { 153 | font-size: 16px; 154 | font-weight: bold; 155 | color: #303030; 156 | } 157 | 158 | h5 { 159 | font-size: 1em; 160 | color: #303030; 161 | } 162 | 163 | h6 { 164 | font-size: .8em; 165 | color: #303030; 166 | } 167 | 168 | p { 169 | margin-bottom: 20px; 170 | font-weight: 300; 171 | } 172 | 173 | a { 174 | text-decoration: none; 175 | } 176 | 177 | p a { 178 | font-weight: 400; 179 | } 180 | 181 | blockquote { 182 | padding: 0 0 0 30px; 183 | margin-bottom: 20px; 184 | font-size: 1.6em; 185 | border-left: 10px solid #e9e9e9; 186 | } 187 | 188 | ul li { 189 | padding-left: 20px; 190 | list-style-position: inside; 191 | list-style: disc; 192 | } 193 | 194 | ol li { 195 | padding-left: 3px; 196 | list-style-position: inside; 197 | list-style: decimal; 198 | } 199 | 200 | dl dd { 201 | font-style: italic; 202 | font-weight: 100; 203 | } 204 | 205 | footer { 206 | padding-top: 20px; 207 | padding-bottom: 30px; 208 | margin-top: 40px; 209 | font-size: 13px; 210 | color: #aaa; 211 | } 212 | 213 | footer a { 214 | color: #666; 215 | } 216 | 217 | /* MISC */ 218 | .clearfix:after { 219 | display: block; 220 | height: 0; 221 | clear: both; 222 | visibility: hidden; 223 | content: '.'; 224 | } 225 | 226 | .clearfix {display: inline-block;} 227 | * html .clearfix {height: 1%;} 228 | .clearfix {display: block;} 229 | -------------------------------------------------------------------------------- /urls.ent: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | --------------------------------------------------------------------------------