Formação de Administradores de Redes Linux LPI – level 1 SENAC TI Fernando Costa Comando AT O comando "at" pode agendar tarefas de forma semelhante ao cron, e é integrado à interface de linha de comando do Linux. É muito eficiente se aplicado no agendamento de tarefas que sejam disparadas somente uma vez. Comando AT O at permite o controle dos usuários que podem agendar comandos através dos arquivos /etc/at.allow e /etc/at.deny (formato de um usuário por linha) Durante o agendamento é verificado primeiro o arquivo at.allow (listando que pode executar o comando) e depois at.deny. Caso eles não existam, o agendamento de comando é permitido a todos os usuários. Comando AT echo ls /var/log | at 10am today - Executa às 10 da manhã de hoje; echo updatedb | at 10:00pm today - Executa às 10 da noite de hoje; echo netstat | at 14:30 tomorrow - executa o comando netstat às 14:30 da tarde; Comando AT at -f commands.txt teatime - Executa os comandos especificados no arquivos "commands.txt" no horário do chá da tarde (às 16:00 horas); at -f commands.txt +3 minutes - Executa comandos especificados no arquivo "commands.txt" daqui a 3 minutos. Comando AT Todas as tarefas agendadas são armazenadas em arquivos dentro do diretório /var/spool/cron/atjobs. Para ver as tarefas, digite: # atq Para remover uma tarefa, use comando "atrm" seguido do número da tarefa obtida pelo atq. Sticky Bit, SGUID e SUID Existem três permissões que dizemos ser especiais, sendo elas sticky bit, SUID e SGUID. Elas realmente possuem funções um pouco mais complexas, porém de fundamental importância. Saber se há um tipo destas em um arquivo, saber se implementar tal permissão ajudará será de fundamental importância em sua jornada Linux, então tentarei passar de um jeito bem simples para vocês. Sticky Bit Esta é a permissão que coloca ordem em tudo, é representada pela letra (t) e sempre se encontrará no bloco outros (o). Mas como assim organizar tudo? Vamos a um exemplo, dê um: # ls -ld /tmp drwxrwxrwt 13 root root 320 2008-08-31 15:58 /tmp Sticky Bit # ls -ld /tmp drwxrwxrwt 13 root root 320 2008-08-31 15:58 /tmp Reparem que na permissão para outros (o) existe um (t) entre o (rwx), e sua finalidade é dizer que todos podem gravar, executar e ler, porém não podem apagar arquivos dos outros usuário, por isso o "botar ordem", ela não deixa que eu, usuário fulano, vá la no /tmp e apague arquivos do usuário ciclano. Exercício 1 – Logue como usuário senacti 2 – Vá ao diretório /tmp e crie um arquivo “senacti” com o comando touch 3 – Abra uma sessão com o usuário root 4 – Crie um usuário com o seu nome e dê senha uma senha para ele 5 – Logue com o seu usuário 6 – Tente apagar o arquivo /tmp/senacti SGUID (Set Group ID) Esta é uma permissão que sempre se encontrará no campo groups (g), e é representada pela letra (s), então já sabemos que esta permissão tratará de grupos de usuários. A finalidade do SGUID é fazer com que, quando um arquivo/diretório for criado, herde o grupo do dono do diretório. SGUID (Set Group ID) Ou seja, um exemplo, eu quero que todos arquivos e diretórios que forem criados dentro de /home/senacti/adm herdem o grupo do diretório adm. Um exemplo disso é o diretório /var/log/exim4: # ls -ld /var/log/exim4 drwxr-sr-x 2 Debian-exim adm 100 2008-08-31 12:52 /var/log/exim4 SGUID (Set Group ID) Para arquivos executáveis, o SGUID tem um funcionamento diferente, ele concede ao executante a condição do grupo do dono do arquivo executado Para evitar problemas de segurança a maioria dos sistema *nix ignoram essa permissão quando atribuida a um shell script SUID (Set User ID) Esta permissão sempre trabalhará no campo do proprietário do arquivo (u) e esta é uma permissão que só trabalha com arquivos executáveis, ela serve para o propósito de um usuário comum poder executar aplicativos ou comandos de root ou do dono do arquivo. Esta permissão é caracterizada pela letra (s). SUID (Set User ID) Um exemplo prático do uso desta permissão: Digamos que um usuário seja responsável apenas por manter seu firewall rodando, ou seja, iniciar, parar, reiniciar o serviço e você não pode passar senha de root, o que você fazer? Coloque o SUID neste firewall. SUID (Set User ID) A permissão setuid ajustado em um diretório é ignorado em sistemas UNIX e Linux. No FreeBSD pode ser configurado para interpretá-la de forma análoga ao setgid, ou seja, para forçar todos os arquivos e subdiretórios a adquirir a propriedade do proprietário do diretório superior. Como atribuir? Modo Octal: Sticky Bit = 1 SGUID = 2 SUID = 4 Por letra: Stick Bit = +t SGUID = g+s SUID = u+s S maiúsculo/minúsculo Ao setar SUID ou SGID a um diretório/arquivo, ele ocultará a permissão correspondente (do grupo/dono deste arquivo), mas a permissão existente continuará sendo exercída, então para que fique claro a leitura dessa permissão S em maiúsculo significa que a permissão está desativada e em minúsculo esta ativada Impressão Tradicionalmente, para imprimir em rede usam-se alternativas dispendiosas, pouco funcionais ou de acessibilidade restringida, como ter uma impressora por plataforma, por departamento ou por pessoa. Impressão Para sanar este problemas, recorremos aos servidores de impressão, aparelhos virtuais que gerem os trabalhos de impressão de toda a rede, permitindo que todos os utilizadores, independente da localização física do seu computador e/ou da plataforma utilizada, possam imprimir num dispositivo específico. Impressão Os servidores podem trazer grandes vantagens como redução de custos, acessibilidade, velocidade, facilidade de uso e instalação, além de incrível capacidade de administração e de efetuar futuras ampliações. CUPS CUPS proporciona um meio de impressão portátil e padronizado para os diversos sistemas operativos baseados em Unix. CUPS usa IPP para proporcionar um sistema de impressão completo e moderno, que goza de suficiente maleabilidade para suportar novas impressoras, dispositivos e protocolos. CUPS CUPS usa IPP (Internet Printing Protocol) para a gestão básica de trabalhos e filas de impressão. LPD, SMB (impressão em Windows) e AppSocket (impressão em Macintosh) também são reconhecidos. CUPS oferece ainda localização de impresoras na rede e PPD (PostScript Printer Description) baseados em opções de impressão. CUPS Entre as características que proporciona CUPS, destacamos: Interface web Filtragem extensivel de arquivos e interfaces backend de dispositivos. Quotas e administração de trabalhos e páginas. Serviços de diretório de impressoras em rede. Função de encriptação. CUPS Instalar o CUPS: # apt-get install cups Instalar o driver PDF no CUPS: # apt-get install cups-pdf A partir desse momento o administrador do CUPS já está disponível via web: http://localhost:631 CUPS Todas as operações feitas pelo administrador podem ser feitas via linha de comando. Os arquivos de configuração do CUPS ficam no diretório: /etc/cups CUPS Executáveis para gerenciar o CUPS: Cupsaccept / Cupsreject – Aceita ou rejeita trabalhos enviados a um destino Cupsctl – Configura o arquivo cupsd.conf Cupsenable / Cupsdisable – Ativa ou Para uma fila de impressão Cupsaddsmb – Exporta as impressoras para o SAMBA (compatibilidade com windows) Cupsd – Daemon de impressão CUPS Executáveis para gerenciar o CUPS: Cupsfilter – Conversão de formatos de arquivos através do CUPS Cupstestdsc / Cupstestppd – Testa a compatibilidade com PostScript/PPD Cups-calibrate – Ferramenta para calibrar a impressora Cancel – cancela um trabalho Lpstat – Relatório das impressoras Lp – Envia arquivo para impressora Lpmove – Move um trabalho de um fila de impressão para outra Impressão com LPR Instalar # apt-get install lpr Configuração no arquivo: /etc/printcap Novos programas: Lpr – envia para a fila de impressão Lprm – apaga trabalho da fila Lpc – controla impressoras (ativa/para,etc) Lpd – daemon do LPR Lpq – fila (queue) de impressão Fernando Costa www.fernandocosta.com.br [email protected]