107.1 – Administrar contas de usuários e grupos
Em mais um resumo de tópico para a prova LPI 102, venho percebendo a facilidade em estudar usando associação. Com comandos de modo geral, procure saber para que ele serve e o que significa.
Alguns são bem intuitivos, por exemplo, o passwd (password), lsusb (list usb), nc (netcat), chfn (change information). Outros, são mais complicados. Geralmente comandos com ch, tem algo a ver com change (alteração, mudança), ls com list (listar). Estar atento e disposto a associar os nomes dos comandos facilitará e MUITO seu estudo. O mesmo vale para parâmetros. Leia, ao menos, a descrição nas páginas de manual e faça testes, simule situações, se você ainda não passa boa parte do dia de frente pra tela preta. Contas de usuáriosO comando adduser só pode executado pelo root. Cria usuários automaticamente, com parâmetros definidos no arquivo: /etc/adduser.conf O comando useradd só pode ser executado como root. Cria usuário setando manualmente os parâmetros desejados. Indicado para uso em scripts. Principais parâmetros:
O diretório /etc/skel/ serve como modelo na criação dos diretórios pessoais. Skel = Skeleton (esqueleto). O comando passwd altera a senha de usuários. Sintaxe: # passwd <usuário> Ou seja, como root, é possível alterar a senha de qualquer usuário. Como usuário comum, somente é possível alterar a própria senha. O comando chfn (change information) altera o campo descrição da conta de um usuário. Não precisa ser root. O comando chsh (change shell) altera o shell padrão do usuário. Não precisa ser root. O comando userdel exclui uma conta de usuário. Parâmetro principal: “-r” (remove) – remove o diretório pessoal. O arquivo /etc/passwd armazena informações de contas de usuários e pode ser lido por qualquer usuário (permissão: rw-r–r–). Utiliza como separador de campos o “:” (2 pontos). Observe a estrutura: root:x:0:0::/root:/bin/bash
Enumerando os campos:
O comando vipw usa o editor padrão do sistema (Vi) para alterar o arquivo /etc/passwd, bloqueando-o contra edições concorrentes. Parâmetro principal: -s (shadow) – edita o arquivo /etc/shadow, usando o modelo de bloqueio. No arquivo /etc/shadow estão as senhas criptografadas dos usuários e mais algumas configurações. Não está visível para todos usuários, por medida de segurança (permissão: rw-r—–). Seu separador de campos também é o “:”. Estrutura: root:<senha>:15516:0:99999:7:::
Enumerando os campos:
O comando pwconv altera o armazenamento das senhas do arquivo /etc/passwd para o /etc/shadow. O comando pwunconv altera o armazenamento das senhas do arquivo /etc/shadow para o /etc/passwd. O comando chage altera informações referentes à validade de senhas de usuário. Parâmetros principais:
O comando usermod modifica contas de usuários. Parâmetros principais:
Administrando grupos de usuáriosO comando groupadd cria um grupo de usuário. Principal parâmetro: -g (GID) – Especifica um ID para o grupo. O comando groupdel exclui um grupo de usuário. O comando gpasswd insere e exclui usuários de grupos e realiza algumas modificações relacionadas às senhas. Este comando usado sem parâmetro cria uma senha para um grupo. Principais parâmetros:
O comando groups mostra o grupo que o usuário pertence. Usado sem argumentos, mostra os grupos do usuário atual. O comando id mostra os grupos do usuário e informações de UID e GID. O comando newgrp altera o grupo principal do usuário. Caso ele não pertença, é adicionado automaticamente. O arquivo /etc/group armazena informações dos grupos. Possui permissão: rw-r–r– Estrutura: adm:x:5012:pedro,joao
Enumerando os campos:
O comando vigr edita o arquivo /etc/group, evitando gravações concorrentes. Principal parâmetro: -s (shadow) – Edita o arquivo /etc/gshadow. O arquivo /etc/gshadow armazena informações de senhas com criptografia. Possui permissão: rw–r—- Estrutura: adm:*::pedro
Enumerando:
O comando grpconv converte o armazenamento das senhas dos grupos, do arquivo /etc/group para o /etc/gshadow. O comando grpunconv faz o inverso do comando grpconv. O comando groupmod realiza algumas modificações nos grupos. Principais parâmetros:
|
|
107.2 – Automatizar e agendar tarefas administrativas
O comando at é usado para agendar a execução de um comando/script apenas uma vez.
Sintaxe: # at <quando> <comando> O argumento “<quando>” pode ser:
Usuários comuns podem usar o “at”, se constarem no arquivo /etc/at.allow. Se este arquivo não existir, o arquivo /etc/at.deny será lido e só não poderá usar o “at” quem constar nele. Se nenhum dos arquivo existirem, só o root poderá usar o “at”. Parâmetros e variações:
O cron é um daemon para agendamento de tarefas em determinados intervalos de tempo. A cada minuto este daemon verifica as tabelas de agendamento, chamadas crontabs, e executa as tarefas que estiverem configuradas. Principal crontab (ou tabela de agendamento): /etc/crontab :: Este é o crontab do sistema. Existem também um crontab para cada usuário. O comando crontab é para usuários específicos, ao invés do arquivo geral do sistema. Usamos o comando comando crontab, que editará a tabela de agendamento do respectivo usuário. Principais parâmetros:
Sintaxe: # crontab <parâmetro> <usuário> Configurando uma tabela de agendamento (ou crontab). O separador pode ser: 0-59 0-23 0-31 1-12 0-6 <comando>
Enumerando:
Exemplo real de utilização: * */4 * 5,6 1-5 /root/script.sh
Nesta linha, que poderia estar no arquivo /etc/crontab, por exemplo, executaria o arquivo “script.sh” a cada quatro horas, nos meses de maio e junho de segunda à quinta-feira. Explicando os caracteres utilizados no exemplo:
Diretórios auxiliares:
Estes diretórios são usados quando não é necessário especificar a hora para execução de uma tarefa. Arquivos para controle de utilização do contrab:
Obs.: Se os dois não existirem, todos os usuários poderão agendar tarefas. |
|
107.3 – Localização e internacionalização
Fuso horário:
O comando tzselect ajusta o fuso horário do sistema. Após configurado, é criado o arquivo /etc/timezone. O arquivo /etc/localtime guarda informações sobre o horário de verão. As opções de configuração estão no diretório /usr/share/zoneinfo. O comando locale exibe as variáveis de ambiente que contém informações de idioma e padrão de codificação do sistema. A variável LANG é uma variável global usada pela maioria dos programas, como referência para definição do idioma padrão. O conteúdo dessa variável obedece o formato idioma_PAIS.CODIFICAÇÃO. Exemplo: $ echo $LANG Neste caso, significa:
Obs.: Em scripts é recomendável setar a variável LANG dessa forma: LANG=C. Evitando assim resultados diferentes quando o script é executado em sistemas diferentes, com configurações diferentes. Outras variáveis de ambiente são importantes para a correta configuração de programas. São elas:
|